What happened
The transaction could not be completed due to a regulatory compliance review. No funds were moved. The transaction is in a terminal failed state with failureCode: COMPLIANCE_REVIEW_REJECTED.
This code is specific to a transaction declined in compliance screening — no funds moved, not retryable. It is distinct from two other compliance outcomes, so branch on the exact failureCode rather than treating them interchangeably:
COMPLIANCE_HOLD — funds frozen pending a manual review, not a clean decline.
COMPLIANCE_REJECTED — a payout’s supporting documents were rejected; this one is retryable (it arrives on transaction.rejected — upload new documents and resubmit).
Contact support if you need case-level detail on a COMPLIANCE_REVIEW_REJECTED.
{
"type": "COMPLIANCE_REVIEW_REJECTED",
"title": "Transaction declined — compliance review required",
"status": 422,
"detail": "This transaction could not be completed due to a regulatory compliance review.",
"resolution": "Contact support. This transaction cannot be retried without a compliance review.",
"docs": "/errors#compliance-review-rejected",
"instance": "/v2/transactions/txn_abc123",
"correlationId": "corr_xyz789",
"timestamp": "2026-01-15T09:30:00.000Z"
}
Common causes
- Compliance review outcome — the transaction or counterparty returned a signal during compliance screening that prevents completion
- Transaction profile — the amount, corridor, or counterparty combination triggered a compliance rule
Recovery
This is a terminal state. No funds were moved. Do not resubmit the same
transaction without contacting support.
1. Confirm the terminal state
curl -X GET https://api.conduit.financial/v2/transactions/txn_abc123 \
-H "x-api-key: YOUR_API_KEY"
2. Contact support
Provide the transaction ID, the affected customer ID, and any context about the transaction. The compliance team will advise on next steps. A new transaction for the same customer or counterparty is unlikely to succeed without a prior resolution.
Prevention
- Handle
transaction.failed with this code — branch on failureCode === 'COMPLIANCE_REVIEW_REJECTED' to surface a neutral “this transfer could not be processed” message; never disclose the compliance reason to the end user
- Do not retry automatically — retrying without investigation does not change the outcome
The transaction.failed event fires when compliance review rejects the transaction:
{
"type": "transaction.failed",
"data": {
"transactionId": "txn_abc123",
"failureCode": "COMPLIANCE_REVIEW_REJECTED"
}
}