Skip to main content

Errors

CashXChain uses standard HTTP status codes and structured JSON error responses.

Error format

{
"error": {
"code": "quote_expired",
"message": "The selected FX quote has expired.",
"request_id": "req_7xY...",
"details": {
"quote_id": "fxq_9Xc2..."
}
}
}

HTTP status codes

HTTPMeaning
400Invalid request.
401Authentication failed.
403Permission or product access denied.
404Resource not found.
409Conflict, duplicate, or invalid state transition.
422Request is valid JSON but cannot be processed.
429Rate limit exceeded.
500Internal error.
503Temporary service or partner unavailable.

Common error codes

CodeMeaning
invalid_requestRequest body or parameters are invalid.
authentication_requiredMissing API key.
invalid_api_keyAPI key is invalid or revoked.
insufficient_scopeAPI key lacks required scope.
resource_not_foundResource does not exist or is not accessible.
quote_expiredFX quote is no longer valid.
corridor_unavailableCurrency or country route is not enabled.
account_not_activeAccount cannot transact.
beneficiary_not_activeBeneficiary cannot receive payments.
requires_actionAdditional information or approval is required.
idempotency_conflictSame idempotency key used with different body.
partner_unavailableDownstream partner is temporarily unavailable.
rate_limit_exceededToo many requests.

Request IDs

Every error includes a request ID where possible. Include this ID when contacting support.

Safe retries

Payment creation should always include an idempotency key. This makes network retries safe.