Todo erro da API tem o mesmo formato:
  • Decida pelo code, nunca pelo message (o texto pode mudar).
  • request_id é o mesmo valor do header X-Request-ID. Mande ao suporte.
  • Campos extras aparecem só em alguns códigos: details em validation_error, existing_id em external_id_conflict.

Códigos da API

Em POST /v1/pix/received/{id}/refunds, um {id} que não é um PIX recebido da conta pode voltar como not_found com HTTP 422.

Códigos repassados da operação PIX

Recusas de negócio da operação (saldo, limite, chave de destino, banco) chegam no mesmo formato, com o code e o HTTP originais quando o HTTP é menor que 500. Indisponibilidade do banco chega como 503 com o code original. Exemplos comuns: Trate qualquer code desconhecido pelo HTTP: 4xx não repita sem corrigir; 503 e 500 repita com a mesma Idempotency-Key.

Antifraude em transferências e devoluções

POST /v1/pix/transfers e POST /v1/pix/received/{id}/refunds passam pelo motor de risco depois da autenticação e antes da validação do corpo. Estas respostas usam um formato próprio, sem o objeto error.code: