Conceitos

Erros

Envelope de erro padrão da API v1 e a tabela completa de códigos mapeados para status HTTP.

Toda resposta da API v1 segue um envelope padrão. Em caso de erro, success é false e o objeto error traz um code estável e uma message legível:

JSON
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "..."
  }
}

(Em sucesso, o envelope é { "success": true, "data": { ... } }.)

Tabela de códigos

CódigoHTTPQuando
UNAUTHORIZED401Bearer token ausente ou inválido
FORBIDDEN403Token sem o escopo necessário
NOT_FOUND404Recurso inexistente ou fora do escopo do usuário
VALIDATION_ERROR400Body/parâmetros inválidos
INSUFFICIENT_CREDITS402Saldo de créditos insuficiente
RATE_LIMITED429Excedeu 60 req/min (com header Retry-After)
MAX_CONCURRENT_TASKS429Atingiu 20 tasks simultâneas
SUBSCRIPTION_ALREADY_ACTIVE409Já possui assinatura ativa (contate o suporte)
INTERNAL_ERROR500Erro interno (ex.: configuração ausente)
GENERATION_FAILED502Falha do provider de geração
PROVIDER_UNAVAILABLE503Provider indisponível

Os dois 429 são distintos: RATE_LIMITED traz Retry-After e é resolvido esperando; MAX_CONCURRENT_TASKS exige aguardar tasks em curso concluírem. Ver Rate limit & concorrência.