Operação
Erros, limites e retries
Trate falhas de forma previsível sem repetir requisições inválidas.
Status HTTP
| Status | Significado | Retry? |
|---|---|---|
| 400 | JSON, modelo, parâmetros ou contexto inválido. | Não; corrija o request. |
| 401 | API key ausente ou inválida. | Não; corrija a autenticação. |
| 402 | Saldo pré-pago insuficiente. | Não; adicione saldo. |
| 403 | Recurso ou acesso não permitido. | Não sem mudar plano/request. |
| 404 | Modelo não encontrado para a chave. | Não; consulte /models. |
| 413 | Payload maior que o limite. | Não; reduza o request. |
| 428 | Aceite de termos necessário. | Após aceitar os termos. |
| 429 | Rate limit atingido. | Sim; respeite Retry-After. |
| 500 | Falha interna inesperada. | Sim, com limite. |
| 502 | Resposta inválida do provider. | Sim, com backoff. |
| 503 | Capacidade, billing ou dependência indisponível. | Sim, com backoff. |
Headers de limite
| Header | Descrição |
|---|---|
| X-RateLimit-Limit | Quantidade configurada para a janela atual. |
| X-RateLimit-Remaining | Quantidade ainda disponível. |
| X-RateLimit-Reset | Timestamp Unix de reset. |
| Retry-After | Tempo mínimo antes de repetir após 429. |
Formatos de erro
Erro comum
{
"error": "invalid API key"
}Structured output não habilitado
{
"error": "structured output is not enabled for this plan",
"code": "structured_output_not_enabled"
}Aceite de termos
{
"error": "terms_acceptance_required",
"version": "2026-08",
"acceptUrl": "https://code.verboo.ai/pt/terms/accept"
}Estratégia de retry
- Repita apenas 429, 500, 502 e 503, além de falhas de rede idempotentes antes do início da resposta.
- Use Retry-After quando presente; caso contrário, aplique backoff exponencial com jitter.
- Defina máximo de tentativas e timeout total.
- Não repita automaticamente depois que um stream já entregou conteúdo.