Enviar bytes do arquivo
Transporte HTTP binário fora do MCP. Use somente o cabeçalho Authorization temporário retornado por createUploadSession e Content-Type: application/octet-stream. Envie bytes brutos, não JSON, base64 nem multipart. Uma tentativa de PUT por sessão. A quantidade de bytes recebidos deve corresponder a size_bytes, mesmo sem Content-Length. Nunca siga redirecionamentos nem encaminhe sua credencial do workspace. Se a resposta ao PUT for perdida, tente criar a tradução com upload_id. Se não houver um upload completo, solicite uma nova sessão. Este endpoint não pode ser chamado dentro do AI Glot Code Mode. Ele não cria uma tradução nem consome créditos.
PUT/v1/uploads/{upload_id}/bytes
Use upload_url, method e headers retornados ao criar uma sessão de upload. Este endpoint requer o cabeçalho temporário Authorization, exclusivo para upload. Uma chave de API do workspace ou um token de acesso OAuth não autorizam esta solicitação.
Envie o próprio arquivo no corpo HTTP, com Content-Type: application/octet-stream. Não o envolva em JSON, base64 nem multipart. Se informado, Content-Length precisa corresponder a size_bytes da sessão. Solicitações sem esse cabeçalho também estão limitadas ao tamanho esperado. Corpos HTTP compactados são recusados. Envie os bytes originais do documento.
Uma resposta de sucesso contém upload_id, uploaded: true e size_bytes. Em seguida, envie upload_id para criar uma tradução, usando a mesma credencial do workspace que criou a sessão. A tradução só começa e consome créditos quando o plano é aprovado.
Como se recuperar com segurança
Cada sessão permite uma única tentativa de PUT. Solicitações simultâneas ou PUTs repetidos não podem substituir o arquivo. Se a tentativa falhar ou for interrompida, será necessária uma nova sessão.
Se a resposta do upload se perdeu, tente primeiro criar a tradução com o upload_id existente. Um upload completo é mantido mesmo que o cliente não tenha recebido a resposta de sucesso. Se não houver um upload completo, solicite uma nova sessão e envie o arquivo novamente. Nunca reenvie bytes para sobrescrever a sessão antiga. A recuperação por upload_id fica disponível até a limpeza da sessão, no mínimo 24 horas após a emissão. Guarde o ID do lote para recuperar a tradução do seu histórico depois.
Um upload expirado retorna file_expired. Um PUT após o uso da capacidade retorna batch_not_editable. Outra conexão ou workspace não pode usar o upload. Bytes incompletos ou tamanho incorreto retornam invalid_parameter. Bytes que excedam o tamanho da sessão retornam file_too_large.
Este endpoint binário é chamado por um cliente HTTP externo, não por uma ferramenta MCP nem por um script do AI Glot Code Mode. Se o assistente não conseguir acessar o arquivo original ou fazer uma solicitação PUT, informe o usuário e ofereça o app web, a CLI ou um link de download HTTPS. Nunca revele o segredo temporário na sua explicação.
Resposta
Enviar bytes brutos para uma sessão temporária de upload
dataobjectrequiredrequest_idstringrequiredCódigos possíveis: invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: insufficient_credits
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: insufficient_scope, feature_not_available, admin_required, file_retention_expired
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: batch_not_found, glossary_not_found, resource_not_found
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: glossary_already_exists, result_not_ready, batch_not_editable, no_plan_yet, batch_not_awaiting_approval
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: file_expired
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: request_too_large, file_too_large, result_too_large
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: language_not_supported, invalid_language_pair, glossary_term_limit_reached, glossary_limit_reached, invalid_glossary_terms, unsupported_format, file_fetch_failed, plan_invalid
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: rate_limited
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: internal_error
errorobjectrequiredrequest_idstringrequiredCódigos possíveis: service_unavailable
errorobjectrequiredrequest_idstringrequired