v3 Reason Codes
Open reason-code catalog and closed v3 status vocabularies.
Reason codes explain a status; they do not restate it. The catalog is open and append-only, alphabetized within each family. Clients must tolerate unknown future reason codes.
statusReason, stateDetail, and requirement reason use the shared shape { code, message, actor, retryable }. The closed actor set is customer, developer, provider, network, and swipelux.
Status Vocabulary
| Resource | Closed vocabulary |
|---|---|
| Capability | requested, in_review, action_required, ready, rejected, disabled |
| Application | requested, in_review, action_required, ready, rejected, disabled, canceled |
| Requirement | action_required, in_review, ready, rejected, disabled, canceled |
| Fulfillment | submitted, accepted, rejected |
| Account | provisioning, ready, suspended, archived |
| Destination | in_review, ready, action_required, archived |
| Recipient | active, archived |
| Quote | active, executed, expired |
| Transfer | awaiting_funds, processing, action_required, completed, returned, refunded, failed, canceled |
| Webhook endpoint | active, archived |
The current transfer read model emits the implemented subset awaiting_funds, processing, completed, failed, and canceled; the remaining transfer states are reserved in the closed vocabulary.
Capability And Application
| Code | Current emission |
|---|---|
customer_profile_incomplete | Emitted when required customer profile fields are missing for a capability request. |
institution_disabled | Catalog seed; no current emitter found. |
institution_rejected | Emitted when an application or capability is rejected. |
open_requirements | Emitted when an application or capability has open requirements. |
operator_disabled | Emitted when an application or capability is disabled. |
provider_compliance_review | Catalog seed; no current emitter found. |
sanctions_screening_failed | Catalog seed; no current emitter found. |
superseded | Catalog seed; no exact current emitter found. |
unsupported_business_activity | Catalog seed; no current emitter found. |
Requirement
| Code | Current emission |
|---|---|
additional_information_requested | Emitted when a requirement is re-opened after review. |
deadline_missed | Catalog seed; no current emitter found. |
document_expired | Catalog seed; no current emitter found. |
document_quality_insufficient | Catalog seed; no current emitter found. |
initial_request | Emitted when a requirement is first created. |
Account
| Code | Current emission |
|---|---|
compliance_hold | Catalog seed; no current account emitter found. |
institution_suspended | Catalog seed; no current emitter found. |
provider_provisioning | Emitted while issued bank account details are being assigned. |
temporarily_unsupported | Emitted when an account is temporarily unavailable. |
Destination
| Code | Current emission |
|---|---|
invalid_bank_details | Catalog seed; no current emitter found. |
name_mismatch | Catalog seed; no current emitter found. |
ownership_declaration_required | Catalog seed; no current emitter found. |
Transfer
| Code | Typical state | Actor | Retryable | Current emission |
|---|---|---|---|---|
amount_mismatch | processing | customer | true | Catalog seed; no current emitter found. |
canceled_by_merchant | canceled | developer | false | Catalog seed; no current emitter found. |
compliance_hold | action_required | customer | true | Catalog seed; no current transfer emitter found. |
deposit_refunded | refunded | network | false | Catalog seed; no current emitter found. |
deposit_window_expired | canceled | customer | false | Emitted when the funding window expires before funds are received. |
movement_failed | failed | swipelux | false | Emitted when a transfer fails while moving funds. |
network_rejected | failed | network | false | Emitted when the payment network rejects a transfer. |
payment_returned | returned | network | false | Catalog seed; no current emitter found. |
settlement_release_failed | processing | swipelux | true | Emitted when settlement release did not complete and is being retried. |
settlement_release_pending | processing | swipelux | true | Emitted when funds are received and awaiting settlement release. |