Create a withdrawal
Creates a new withdrawal to a saved beneficiary.
Authorizations
JWT bearer token. Include as Authorization: Bearer <token>. See the Authentication guide for how to obtain one.
Headers
Unique key to ensure idempotent request processing. Required on all POST, PUT, and PATCH requests.
API version. Omit to use the default version.
"1"
Body
Every withdrawal references a quote previously obtained from POST /api/quotes. The quote determines sourceAmount and targetAmount and locks the FX rate (or the 1:1 spot for same-asset). A quote can be consumed by at most one operation.
Account that funds the withdrawal. Must match the account on the referenced quote.
"a1b2c3d4-5e6f-7890-abcd-ef1234567890"
ID of a quote returned by POST /api/quotes. Must belong to the same customer, must not have expired, and must not have been consumed by another operation.
"d4e5f6a7-b8c9-0123-defa-2345678901bc"
Beneficiary for the withdrawal. Discriminated by mode.
REFERENCE— points at a saved beneficiary byid.
Response
Withdrawal accepted. The operation is in REQUESTED status.
A created operation. Withdrawals, swaps, deposits, and transfers share this shape; intent.type identifies which. The quote field is always present — transfers take no quoteId and get a 1:1 quote generated internally.
Reference to a customer account, including the registered owner name.
Monetary amount expressed as a decimal string in the asset's canonical scale. Use a decimal-precision library (BigDecimal, Decimal) for arithmetic — never JavaScript Number. Request bodies use the scalar AmountValue instead.
Monetary amount expressed as a decimal string in the asset's canonical scale. Use a decimal-precision library (BigDecimal, Decimal) for arithmetic — never JavaScript Number. Request bodies use the scalar AmountValue instead.
Operation intent. Discriminated by type.
- Withdrawal
- Swap
- Deposit
- Transfer
Reference to the quote consumed by the operation.
A single entry in an operation's state history. Carries a status, optional reason, and the time the state was entered.
Full state history of the operation, oldest first. The last entry equals currentState.
System-managed labels stamped onto the operation when it is created. Inherited from the account's propagating tags.
[
{ "key": "psp", "value": "Amazon" },
{ "key": "compliance-tier", "value": "high" }
]