Skip to content

Error codes

Every value of error an endpoint can send, read from the API source. Branch on error, never on message. What each status means and when to retry: Errors.

Some errors can come from any endpoint and are not repeated below: 500 internal; a 503 when a dependency of ours is unavailable; and, for a body that is not valid JSON at all, invalid_json, unsupported_media_type, payload_too_large or bad_request.

error Status Returned by
ambiguous_home_wallet 422 POST /transactions, POST /batches, POST /treasury/onramp, POST /treasury/withdrawals
beneficiary_incomplete 400 POST /transactions
compliance_hold 403 POST /transactions
conflict 409 POST /members/invitations, POST /wallets/:walletId/topup-eurc
duplicate_item_ref 400 POST /batches
forbidden 403 23 endpoints
idempotency_key_conflict 409 POST /batches, POST /treasury/onramp, POST /treasury/onramp/pix, POST /treasury/withdrawals, POST /treasury/offramp
idempotency_key_reused 409 POST /treasury/onramp, POST /treasury/onramp/pix, POST /treasury/withdrawals
insufficient_funds 422 POST /transactions
invalid_cursor 400 GET /transactions, GET /batches, GET /batches/:batchId, GET /treasury/onramps, GET /treasury/withdrawals, GET /treasury/offramps
invalid_invite 400 POST /invitations/accept
invalid_period 400 GET /statements
invalid_query 400 GET /statements
invalid_send_amount 400 POST /batches
kyb_required 403 POST /transactions, POST /batches, GET /treasury/deposit-instructions, POST /treasury/onramp, POST /treasury/onramp/pix, POST /treasury/withdrawals, POST /treasury/beneficiaries, POST /treasury/offramp, POST /treasury/onramps/simulate-wire, POST /wallets/:walletId/topup-eurc
member_required 409 POST /members/me/api-key, GET /notifications/preferences, PUT /notifications/preferences, POST /notifications/verify/send
no_home_wallet 422 POST /transactions, POST /batches, POST /treasury/onramp, GET /treasury/crypto-deposit, POST /treasury/withdrawals
no_member_email 409 POST /notifications/verify/send
no_route_for_chain 422 POST /quotes
not_found 404 16 endpoints
not_home_chain 422 POST /treasury/offramp
not_home_wallet 422 POST /quotes, POST /transactions, POST /batches
not_implemented 501 46 endpoints
not_simulatable 409 POST /treasury/onramp/:onRampId/simulate-payment
pix_onramp_unavailable 422 POST /treasury/onramp/pix
quote_already_used 422 POST /treasury/offramp
quote_expired 422 POST /transactions
quote_mismatch 422 POST /transactions, POST /treasury/offramp
quote_not_found 422 POST /transactions, POST /treasury/offramp
quote_unavailable 422 POST /quotes, GET /treasury/withdrawals/quote, POST /treasury/withdrawals
rate_limited 429 57 endpoints
unauthorized 401 57 endpoints
unknown_currency 400 POST /treasury/onramps/simulate-wire
unknown_recipient 400 POST /batches
unsupported_network 422 GET /treasury/withdrawals/quote, POST /treasury/withdrawals
validation 400 28 endpoints
wallet_chain_unknown 422 POST /transactions, POST /batches