Formato padrão de erro
| Campo | Tipo | Descrição |
|---|---|---|
type | string | Identificador estável do tipo de erro. Use para branchear a lógica do seu lado. |
status | número | Código HTTP repetido no body (compatibilidade RFC 7807). |
title | string | Categoria curta do erro (Validation Error, Not Found, Forbidden, Internal Server Error, etc.). |
detail | string | Mensagem em inglês descrevendo o problema. Não exiba diretamente para o usuário final. |
traceId | string | Correlação para debug. Inclua em qualquer ticket de suporte. |
errors pode ser populado com erros por campo, no formato Dictionary<string, ProblemDetailsFieldError[]>.
Códigos HTTP comuns
| Status | Title | O que significa | O que fazer |
|---|---|---|---|
400 | Validation Error ou Business Error | Body inválido em formato (JSON malformado, content-type errado) ou regra de negócio violada. | Conferir o request antes de retentar. |
401 | — | Token ausente, inválido ou expirado. | Renovar/gerar nova credencial. Não retente sem ação. |
403 | Forbidden | Token válido, mas sem permissão para a operação. | Confira escopo da API Key ou OAuth. |
404 | Not Found | Recurso não existe. | Confirmar id. |
422 | Unprocessable Entity | Body válido em formato, mas entidade inválida (regras de domínio). | Ler detail e ajustar. |
500 | Internal Server Error | Erro do lado da Cativa. | Retentar com backoff. Se persistir, abrir ticket com o traceId. |
502/503/504 | — | Indisponibilidade transitória. | Retentar com backoff exponencial. |
Exemplo de 400 Validation Error
Antipattern: ignorar traceId nos logs
Como reportar um erro
Ao abrir um ticket em dev@cativa.digital, inclua sempre:- O
traceIdretornado no corpo da resposta de erro. - O
typee ostatusdo erro. - Um exemplo do request (URL, método, headers relevantes — sem expor a chave por inteiro).
- Horário aproximado (com fuso) em que o erro aconteceu.
Próximos passos
Identidade e usuários
Onde você verá
400 Validation Error (campo inválido) com mais frequência.Webhooks
Como o
X-Cativa-Execution-Id ajuda a deduplicar webhooks reentregues.