Formato de resposta
Respostas de sucesso retornam:| Campo | Tipo | Descrição |
|---|---|---|
code | string | Código do erro (estável, use para lógica) |
message | string | Descrição legível (pode mudar, não use para lógica) |
field | string? | Campo relacionado ao erro (quando aplicável) |
Códigos HTTP
| Status | Descrição | Quando |
|---|---|---|
200 | Sucesso | Requisição processada com sucesso |
201 | Criado | Recurso criado com sucesso |
400 | Bad Request | Dados inválidos ou malformados |
401 | Unauthorized | API key ausente, inválida ou revogada |
403 | Forbidden | Sem permissão (scope insuficiente ou ação não permitida) |
404 | Not Found | Recurso não encontrado |
409 | Conflict | Conflito de estado (ex: tentar simular transação já completa) |
422 | Unprocessable Entity | Validação falhou |
429 | Too Many Requests | Rate limit excedido |
500 | Internal Server Error | Erro interno do servidor |
Códigos de erro comuns
| Código | HTTP | Descrição |
|---|---|---|
unauthorized | 401 | Autenticação falhou |
forbidden | 403 | Sem permissão para esta ação |
not_found | 404 | Recurso não encontrado |
validation_error | 422 | Dados de entrada inválidos |
conflict | 409 | Conflito de estado |
rate_limit | 429 | Limite de requisições excedido |
internal_error | 500 | Erro interno |
