Skip to main content
Todas as APIs retornam erros em formato padronizado.

Formato de Erro

{
  "statusCode": 404,
  "error": "Not Found",
  "message": "user.not_found"
}
  • statusCode — código HTTP.
  • error — frase padrão do status HTTP (Not Found, Forbidden, Conflict, etc.).
  • message — código legível por máquina no padrão {modulo}.{código} (ex: user.not_found, trip.already_cancelled). Use este campo para tratar o erro programaticamente.

Erros de Validação

Falhas de validação retornam 400 com um array errors, contendo um item por campo inválido:
{
  "statusCode": 400,
  "message": "Bad Request Error",
  "errors": [
    { "code": "invalid_type", "message": "Required", "path": "name" }
  ]
}
  • path — caminho do campo (dot notation para campos aninhados).
  • code — código da regra Zod que falhou.

Convenções

  • O campo message segue o padrão {modulo}.{código} em erros de domínio (ex: order.already_cancelled)
  • Cada domínio define seus próprios códigos de erro via createExceptions()
  • Todo módulo possui automaticamente o código not_found

Códigos HTTP

CódigoUso
400Validação de entrada falhou (Zod)
401Token ausente ou inválido
403Sem permissão para o recurso
404Recurso não encontrado
409Conflito de estado (ex: pedido já confirmado)
422Regra de negócio violada
500Erro interno do servidor