Falhas previsíveis e fáceis de rastrear.
Códigos HTTP convencionais, corpo uniforme e identificador único em cada solicitação.
Formato de erro
403 application/json
{
"error": {
"code": "insufficient_scope",
"message": "esta chave precisa do escopo commissions:read",
"required_scope": "commissions:read"
},
"request_id": "req_01J..."
}O request_id aparece no cabeçalho e no JSON. Envie esse valor ao suporte para localizar uma chamada.
Códigos HTTP
200SucessoOperação concluída.201CriadoNova oferta pendente criada.400Requisição inválidaJSON, parâmetro ou URL inválida.401Não autenticadoChave ausente, inválida, expirada ou revogada.402Plano necessárioRequer Profissional ou superior.403Escopo insuficienteA chave não possui o escopo exigido.404Não encontradoEndpoint ou recurso inexistente.413Corpo muito grandeO JSON ultrapassou 128 KB.429Limite excedidoA chave excedeu a janela por minuto.500Erro internoFalha inesperada; use o request_id.Limites e cabeçalhos
x-ratelimit-limitLimite total da janelax-ratelimit-remainingSolicitações restantesx-request-idIdentificador da chamadacache-controlprivate, no-store em dados autenticados120 req/min
O limite é por chave. Para 429, aguarde a próxima janela e use backoff com jitter.
Checklist de depuração
Confirme a base https://achadu.com/api/v1.
Valide a chave com GET /me.
Confira required_scope em respostas 403.
Registre status, request_id e horário da chamada.
Não repita automaticamente erros 400, 401, 402 ou 403.