Create a swap
Converts funds between assets within a multi-currency account using a locked quote.
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 swap references a quote previously obtained from POST /api/quotes. The quote determines sourceAmount and targetAmount (including their assets) and locks the FX rate. A quote can be consumed by at most one operation.
Account that holds the source funds. 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.
"e5f6a7b8-c9d0-1234-efab-3456789012cd"
Response
Swap 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" }
]