Pular para o conteúdo

Erros

Os erros usam um envelope só, em toda a API:

{
"error": {
"type": "ForbiddenError",
"title": "Forbidden",
"detail": "The transcriptions.read scope is required.",
"code": "INSUFFICIENT_SCOPE",
"request_id": "req_9bfbe80ac1f24e0a9d5b1e5e7a0f2c11"
}
}

O code é o campo estável, legível por máquina. Ele não muda com redação, tradução ou refatoração.

title e detail são texto humano e podem ser reescritos entre versões. O type é a classe do erro e é estável, mas mais grosseiro que o code — vários códigos compartilham uma classe. Nunca faça parse do detail.

Cite o request_id ao acionar o suporte: ele identifica a requisição exata no nosso log.

HTTPcodeSignificado
400INVALID_LIMITTamanho de página fora de 1–100.
400INVALID_DATETIMEUm carimbo de tempo não é RFC 3339 com offset explícito.
400INVALID_FILTERValor ou combinação de filtro não suportada.
400INVALID_CURSORO cursor foi editado, ou os filtros mudaram no meio da travessia.
400INVALID_REQUESTFalha de validação, incluindo parâmetro de query desconhecido.
401MISSING_ACCESS_TOKENNenhum bearer token foi enviado.
401INVALID_ACCESS_TOKENO token é inválido, expirou, ou a credencial foi revogada.
403INSUFFICIENT_SCOPEO token não carrega o escopo que a rota exige.
403API_ACCESS_DISABLEDA empresa não tem acesso à API habilitado.
404RESOURCE_NOT_FOUNDNão existe, é de outra empresa, ou foi pedido na coleção errada.
413PAYLOAD_TOO_LARGEO corpo da requisição excede o tamanho aceito.
415UNSUPPORTED_MEDIA_TYPEContent type errado — em geral JSON enviado ao /oauth/token.
429RATE_LIMIT_EXCEEDEDUma política de rate limit recusou a requisição.
503SERVICE_UNAVAILABLEDependência fail-closed indisponível. Repita com backoff.
503AUDIT_UNAVAILABLEUma leitura bem-sucedida não pôde ser gravada na trilha de auditoria, então não foi devolvida.

Um id de outra empresa devolve 404 RESOURCE_NOT_FOUND, não 403. A API não confirma que o recurso existe em outro lugar — um 403 entregaria esse fato a quem estivesse sondando ids.

POST /oauth/token devolve o formato de erro do OAuth 2.0 exigido pela RFC 6749 §5.2, para que clientes OAuth de mercado continuem funcionando:

{
"error": "invalid_client",
"error_description": "Client authentication failed."
}

Stack trace, caminho de arquivo, token, secret, corpo da requisição e payload de domínio nunca são devolvidos. Uma falha inesperada devolve mensagem genérica fixa com um request_id; o detalhe fica no nosso log.

StatusRepetir?
400, 403, 404, 413, 415Não. A requisição vai falhar igual.
401Uma vez, depois de reemitir o token.
429Sim, depois do Retry-After.
503Sim, com backoff exponencial e jitter.