Skip to main content

Errors

Every error response has this shape.

{
"errors": [
{
"code": 422,
"type": "insufficient_funds",
"message": "insufficient funds"
}
]
}

Use type for programmatic handling. Use message for debugging.

Error types

CodeTypeMeaning
400bad_requestMalformed request body or invalid parameter
401invalid_api_keyAPI key not found
401api_key_expiredKey has expired
401api_key_revokedKey was revoked
404not_foundResource does not exist
409already_existsResource with same idempotency key already exists
409not_pendingTransfer is not in pending state
409already_postedPending transfer was already posted
409already_voidedPending transfer was already voided
410expiredPending transfer has expired
422validation_errorMissing or invalid fields
422insufficient_fundsDebit account does not have enough balance
422same_accountDebit and credit accounts must be different
422zero_amountAmount must be greater than zero
422account_closedAccount is closed
422linked_minimumLinked transfers require at least 2 entries
429rate_limitedToo many requests

Rate limiting

Your account has a per-minute request limit. Response headers tell you where you stand.

X-RateLimit-Limit: 600
X-RateLimit-Remaining: 594