Skip to main content
Rotas sob /v1/* retornam erros em JSON padronizado. Rotas de dashboard e autenticação podem usar formato NestJS clássico (statusCode, message).

Envelope de erro (API pública)

Não existe enum fixa BAD_REQUEST no campo code. Use error.statusCode e message na lógica do integrador.

Status HTTP frequentes

Códigos de domínio (trilho)

Respostas 403 ou 409 podem incluir mensagens relacionadas a:

Validação de body

Campos inválidos retornam 400 com mensagem agregada. Exemplos:
  • amount abaixo do mínimo da operação
  • description com menos de 3 caracteres
  • splitUser sem splitTax (ou vice-versa)
  • pixKey ausente quando não há pixCopyPaste

Prisma e conflitos

Violação de unicidade no banco (P2002) mapeia para 409 Conflict.

Rate limiting

429 com corpo simplificado. Veja Rate limiting.

Boas práticas

Registre sempre requestId nos logs do seu servidor ao tratar erros 5xx.
Não interprete mensagens em português como API estável: prefira statusCode e campos estruturados em data nas respostas de sucesso.
Em webhooks inbound para seu servidor, valide assinatura antes de processar. Erros de parsing devem retornar 4xx apenas quando o payload for inválido; duplicatas devem retornar 200.