Skip to main content
POST
Simulate document-review rejection for a sandbox payout

Authorizations

x-api-key
string
header
required

Path Parameters

id
string
required

Response

Client-facing view of an outbound withdrawal (debit out of a customer VA/wallet).

id
string
required
Pattern: ^txn_[0-9A-Za-z]{22}$
customerId
string
required
Pattern: ^cus_[0-9A-Za-z]{22}$
status
enum<string>
required
Available options:
pending,
processing,
completed,
failed,
cancelled
source
object
required

One side (source or destination) of a transaction. Discriminated by type.

destination
object
required

One side (source or destination) of a transaction. Discriminated by type.

fees
object[]
required
createdAt
string<date-time>
required

ISO 8601 timestamp

Example:

"2026-01-15T09:30:00.000Z"

hasRfi
boolean
required

True when at least one published (non-draft, non-cancelled) RFI targets this transaction. Always present; derived at read time, no stored column.

type
enum<string>
required
Available options:
withdrawal
requiresUserSignature
boolean
required
customerName
string

Display name of the customer that owns the transaction: business legal name or individual full name. Same value on the transactions and payouts reads for the same row. Omitted when the customer's identity record hasn't resolved a name yet; per the public omit-don't-null convention, absence is never surfaced as null.

clientReferenceId
string

Client-supplied reference, unique per resource within your organization. 1-255 characters from A-Za-z, 0-9, underscore, hyphen, colon, and period — no spaces.

Pattern: ^[A-Za-z0-9_\-:.]{1,255}$
stage
enum<string>

Progress signal for a non-terminal transaction, informational only — it does not replace requiresUserSignature, hasRfi, or failureCode for deciding whether your integration needs to act. awaiting_signature: waiting on the required transaction signature (see requiresUserSignature). awaiting_customer_action: further input is needed from your customer — details arrive on the matching event (e.g. transaction.awaiting_sender_information); this is NOT an RFI, hasRfi does not cover it. under_review: compliance, document, or verification review of something already submitted is in progress — usually no action needed; check hasRfi if unsure. settling: funds movement or settlement is in progress, no customer action required — covers long-lived fiat rails like SWIFT that legitimately take days as well as any other non-blocked in-flight state. Omitted once status reaches a terminal value (completed / failed / cancelled). The set of values may grow over time — treat unrecognized values the same as processing.

Available options:
awaiting_signature,
awaiting_customer_action,
under_review,
settling
completedAt
string<date-time>

ISO 8601 timestamp

Example:

"2026-01-15T09:30:00.000Z"

failureCode
enum<string>
Available options:
user_signature_timeout,
user_signature_expired,
user_signature_declined,
user_signature_rejected_by_provider,
crypto_wallet_misconfigured,
compliance_hold,
compliance_review_rejected,
compliance_rejected,
returned_by_sender,
rail_policy_rejected,
insufficient_funds,
insufficient_funds_at_settle,
rail_unavailable,
sender_info_timeout,
travel_rule_rejected,
provider_rejected,
chain_broadcast_failed,
roster_changed
failureMessage
string

Human-readable description of failureCode. Defaults to the public error catalog text for the code; sandbox-driven failures may carry the operator-supplied reason instead.

cancelledAt
string<date-time>

ISO-8601 timestamp when the transaction was cancelled. Present only on status: cancelled.

Example:

"2026-01-15T09:30:00.000Z"

cancellationReason
enum<string>

Machine-readable cancellation reason. client_cancelled when the client called POST /v2/payouts/:id/cancel; expired is reserved. Omitted on non-cancelled rows. Mirrors orders.cancellationReason.

Available options:
expired,
client_cancelled
linkedOrderId
string
Pattern: ^ord_[0-9A-Za-z]{22}$
purpose
enum<string>

The business purpose declared at payout creation. Drives compliance gating: intercompany requires a whitelisted recipient; other values require supporting documentation.

Available options:
intercompany,
treasury_management,
payment_for_goods_or_services,
payroll,
investments,
other,
prefunding
rfiId
string

The most recently published such RFI. Omitted (never null) when hasRfi is false.

Pattern: ^rfi_[0-9A-Za-z]{22}$
queuePosition
integer

Position in the per-(wallet, chain) signing queue. Only waiting payouts (position ≥ 1) expose this field; the active/head payout omits it. Absent when the payout is not on the user-signature path or has reached a terminal status.

Required range: 1 <= x <= 9007199254740991