Invia i byte del file
Trasporto HTTP binario al di fuori di MCP. Usa solo l’header Authorization temporaneo restituito da createUploadSession e Content-Type: application/octet-stream. Invia byte grezzi, non JSON, base64 o multipart. Un solo tentativo PUT per sessione; il numero di byte ricevuti deve corrispondere a size_bytes anche in assenza di Content-Length. Non seguire mai i reindirizzamenti né inoltrare le credenziali dell’area di lavoro. Se la risposta al PUT va persa, prova a creare la traduzione con upload_id; se non esiste un caricamento completo, richiedi una nuova sessione. Questo endpoint non può essere chiamato all’interno di AI Glot Code Mode. Non crea una traduzione né consuma crediti.
PUT/v1/uploads/{upload_id}/bytes
Usa upload_url, method e headers restituiti da creare una sessione di caricamento. Questo endpoint richiede l’intestazione temporanea Authorization, valida solo per il caricamento. Una chiave API dello spazio di lavoro o un token di accesso OAuth non autorizzano questa richiesta.
Invia il file stesso nel corpo HTTP con Content-Type: application/octet-stream. Non inserirlo in JSON, codificarlo in base64 né inviarlo come multipart. Se specificato, Content-Length deve corrispondere a size_bytes della sessione. Anche le richieste prive di questa intestazione sono limitate alla dimensione prevista. I corpi HTTP compressi vengono rifiutati: invia i byte originali del documento.
Una risposta positiva contiene upload_id, uploaded: true e size_bytes. Per continuare, invia upload_id per creare una traduzione, usando le stesse credenziali dello spazio di lavoro con cui hai creato la sessione. La traduzione parte e consuma crediti solo dopo l’approvazione.
Recupero sicuro
Ogni sessione consente un solo tentativo PUT. Le richieste simultanee o le richieste PUT ripetute non possono sostituire il file. Se il tentativo fallisce o viene interrotto, serve una nuova sessione.
Se hai perso la risposta al caricamento, prova prima a creare la traduzione con l’upload_id esistente. Un caricamento completo viene conservato anche se il client non ha ricevuto la risposta di conferma. Se non esiste un caricamento completo, richiedi una nuova sessione e invia di nuovo il file. Non inviare mai di nuovo i byte per sovrascrivere la vecchia sessione. Il recupero tramite upload_id è disponibile fino alla pulizia della sessione, che avviene almeno 24 ore dopo l’emissione. Conserva l’ID batch per recuperare in seguito la traduzione dalla cronologia.
Un caricamento scaduto restituisce file_expired. Una richiesta PUT dopo che la funzionalità è stata usata restituisce batch_not_editable. Una connessione o uno spazio di lavoro diversi non possono usare il caricamento. Byte incompleti o una dimensione non corretta restituiscono invalid_parameter; i byte che superano la dimensione prevista dalla sessione restituiscono file_too_large.
Questo endpoint binario viene chiamato da un client HTTP esterno, non da uno strumento MCP né da uno script AI Glot Code Mode. Se l’assistente non può accedere al file originale o inviare una richiesta PUT, comunicalo all’utente e proponi l’app web, la CLI o un link di download HTTPS. Non rivelare il segreto temporaneo nella spiegazione.
Risposta
Invia byte grezzi a una sessione temporanea di caricamento
dataobjectrequiredrequest_idstringrequiredCodici possibili: invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredCodici possibili: authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredCodici possibili: insufficient_credits
errorobjectrequiredrequest_idstringrequiredCodici possibili: insufficient_scope, feature_not_available, admin_required, file_retention_expired
errorobjectrequiredrequest_idstringrequiredCodici possibili: batch_not_found, glossary_not_found, resource_not_found
errorobjectrequiredrequest_idstringrequiredCodici possibili: glossary_already_exists, result_not_ready, batch_not_editable, no_plan_yet, batch_not_awaiting_approval
errorobjectrequiredrequest_idstringrequiredCodici possibili: file_expired
errorobjectrequiredrequest_idstringrequiredCodici possibili: request_too_large, file_too_large, result_too_large
errorobjectrequiredrequest_idstringrequiredCodici possibili: language_not_supported, invalid_language_pair, glossary_term_limit_reached, glossary_limit_reached, invalid_glossary_terms, unsupported_format, file_fetch_failed, plan_invalid
errorobjectrequiredrequest_idstringrequiredCodici possibili: rate_limited
errorobjectrequiredrequest_idstringrequiredCodici possibili: internal_error
errorobjectrequiredrequest_idstringrequiredCodici possibili: service_unavailable
errorobjectrequiredrequest_idstringrequired