Erros e respostas

Erros seguem a RFC 7807 (Problem Details for HTTP APIs). O corpo da resposta inclui sempre type, title, status e detail.

Códigos comuns

ParâmetroTipoDescrição
400Bad RequestPayload mal formatado ou parâmetros inválidos.
401UnauthorizedToken ausente, expirado ou inválido.
403ForbiddenToken válido, mas sem permissão para o recurso.
404Not FoundRecurso inexistente.
409ConflictConflito de estado (ex.: txid duplicado).
422Unprocessable EntityValidação de negócio falhou (ex.: saldo insuficiente).
429Too Many RequestsLimite de taxa excedido. Aguarde e refaça com backoff.
500Internal Server ErrorErro inesperado. Pode ser repetido com Idempotency-Key.

Exemplo de resposta de erro

{
  "type": "https://docs.bsfinance.tech/errors/insufficient-funds",
  "title": "Saldo insuficiente",
  "status": 422,
  "detail": "A conta acc_9f2b3c não possui saldo suficiente para a operação solicitada.",
  "violacoes": [
    { "razao": "Saldo disponível: R$ 12,40", "propriedade": "amount" }
  ]
}