Failure Reference
Some CDP API resources move through an asynchronous lifecycle and can reach a terminalfailed state after being accepted. Reading such a resource is still a successful API call —
these failures are reported in the response body, not via a 4xx/5xx status. This page
documents the machine-readable failure codes for each resource, grouped by resource type, with
per-code cause, resolution steps, and retry guidance.
Transfers
AGetTransfer or ListTransfers read returns 200 even when the transfer’s status is failed — the read succeeded, the resource’s state is failed. The transfer carries a failureDetails object: failureCode (machine-readable, see below), failureMessage (human-readable), and failureLink (a link back to this page, anchored to the specific failureCode).
Risk review rejected
A risk or compliance review rejected the transfer. Steps to resolve:- The transfer will not complete as submitted; do not retry it unchanged.
- Contact CDP support with the
transferIdif you believe this was rejected in error.
Insufficient balance
The source account did not have sufficient balance to complete the transfer at execution time, even though it passed validation at creation. Steps to resolve:- Confirm the current balance of the source account.
- Once funded, create a new transfer — the failed transfer itself cannot be re-executed.
Quote validation failed
The transfer’s quote failed re-validation at execution time, for example because market conditions changed between quoting and execution. Steps to resolve:- Create a new transfer to obtain a fresh quote.
- Execute the new transfer promptly, before it expires.
Validation failed
A generic business validation rule failed during execution. Steps to resolve:- Review
failureMessagefor the specific rule that failed. - Contact CDP support with the
transferIdif the cause is unclear.
failureMessage.
Timeout
The transfer timed out waiting for a downstream step to complete within the allotted completion window. This is a terminal state: the transfer will not resolve asynchronously once it has reachedfailed with this code.
Steps to resolve:
- Treat the transfer as terminally failed; it will not transition out of
failed. - Create a new transfer if you still want to move the funds.
Reversed
The funding deposit backing this transfer was reversed (for example, an ACH return or chargeback) before the transfer completed. Steps to resolve:- Resupply the source funds through a new, valid deposit.
- Create a new transfer once funds are confirmed.
Provider error
A downstream payment provider or rail failed the transfer for a non-retryable reason not otherwise categorized. Steps to resolve:- Contact CDP support with the
transferIdandfailureMessage.
Internal error
An internal orchestration error caused the failure. This is not a fault in your request. Steps to resolve:- Create a new transfer.
- Contact CDP support with the
transferIdif the error persists.
Capability rejected
The account is not permitted to move money this way, for example because it is restricted. Steps to resolve:- Resolve the underlying restriction before attempting another transfer.
- Contact CDP support if you believe the restriction is incorrect.
Generic failure
The transfer failed for a reason that has not been categorized into a specific failure code. This is the catch-all used when no more specificfailureCode applies; failureMessage carries the available detail.
Steps to resolve:
- Read
failureMessagefor the specific reason. - Contact CDP support with the
transferIdandfailureMessageif the cause is unclear.
failureMessage indicates a transient cause, create a new transfer instead.