Skip to main content
Toda resposta de erro segue o mesmo envelope:
{ "error": { "code": "INSUFFICIENT_FUNDS", "message": "saldo insuficiente", "details": { "available_cents": 6555 } } }
O campo code é estável (use-o no seu código; a message pode mudar).
CódigoHTTPQuando
VALIDATION_ERROR400payload inválido (campos faltando/errados)
UNAUTHORIZED401chave ausente ou inválida
KEY_REVOKED401chave de API revogada
FORBIDDEN403sem permissão para a ação
TEST_ONLY403rota de simulação chamada com chave live
ACCOUNT_SUSPENDED403conta suspensa/bloqueada
NOT_FOUND404recurso inexistente (ou fora do seu escopo)
DUPLICATE_EXTERNAL_ID409external_id já usado (retorna o recurso em details)
INSUFFICIENT_FUNDS422saldo insuficiente para o saque
RATE_BELOW_FLOOR422taxa abaixo do piso permitido
INVALID_PIX_KEY422chave PIX inválida
AMOUNT_OUT_OF_RANGE422valor fora dos limites
PROVIDER_ERROR502falha do provedor ao criar a cobrança
PROVIDER_TIMEOUT504timeout do provedor — não refaça saque sem consultar
Em saques, um 504 PROVIDER_TIMEOUT não significa que o saque falhou — o PIX pode ter saído. Aguarde o webhook antes de tentar de novo.