Skip to main content
POST
Create an order from an order-intent quote; idempotent

Authorizations

Authorization
string
header
required

Enter Auth0 JWT token

Headers

Idempotency-Key
string
required

Client-generated idempotency key (UUID). Retrying with the same quotationId also replays the original order: the quote is single-use and one order per quote is enforced.

Zuba-Account-Id
string<uuid>

Optional. Names an owned sub-account (UUID) to create the order for: the order funds from that sub-account's balance and carries its accountId. Omit to act at the master (tenant) level. Naming an account this key does not own returns 403 not_account_owner.

Body

application/json
beneficiaryId
string<uuid>
required

Id of the saved beneficiary to deliver to. The beneficiary must hold an active account in the quote target currency.

Example:

"cc82fa1d-fc7a-478c-a734-d3bce40464e7"

quotationId
string<uuid>
required

Id of the order-intent quote to execute (from POST /v1/quotes with intent 'order'). Single-use; the order must be created within the quote's TTL.

Example:

"550e8400-e29b-41d4-a716-446655440000"

clientRef
string

Client-supplied reference, unique per client. Surfaces on the order and ledger history.

Maximum string length: 100
Example:

"ORD-2026-0001"

purpose
string

Free-text purpose of the order.

Maximum string length: 500
Example:

"Supplier settlement"

Response

Order created and queued for desk execution

beneficiaryId
string<uuid>
required

Beneficiary id

createdAt
string
required

Creation time (ISO 8601)

fromAmount
string
required

Total source debit, in fromCurrency (decimal string)

Example:

"1006.5000"

fromCurrency
string
required

Funded (source) currency

Example:

"USDT"

fundingDeadlineAt
string
required

Deadline for funds to be attributed to the order before it expires (ISO 8601)

id
string<uuid>
required

Order id

quoteId
string<uuid>
required

Consumed quote id

rate
string
required

All-in rate: fromCurrency per 1 toCurrency

Example:

"0.00067100"

status
enum<string>
required

Order lifecycle status. Orders are executed manually by the trade desk: funds_received means the order is queued for execution, executing means execution is approved and in flight, completed means delivered.

Available options:
created,
awaiting_funds,
funds_received,
executing,
completed,
failed,
expired,
cancelled
Example:

"funds_received"

toAmount
string
required

Amount delivered, in toCurrency (decimal string)

Example:

"1500000.0000"

toCurrency
string
required

Delivered (target) currency

Example:

"NGN"

updatedAt
string
required

Last update time (ISO 8601)

accountId
string<uuid>

Owning sub-account; present when the order was created in a sub-account context (Zuba-Account-Id header). Absent = the order belongs to your master account.

clientRef
string

Client-supplied reference

completedAt
string

When the order completed (ISO 8601)

executionDeadlineAt
string

Desk execution deadline, set when funds are received (ISO 8601)

failureReason
enum<string>

Fixed failure code; present only when status is failed

Available options:
execution_failed,
review_expired
fundedAt
string

When funds were received (ISO 8601)

purpose
string

Free-text purpose

uetr
string

Outbound wire reference (UETR); present once the order completes over a wire rail

settlement
object

Funding instructions for an order created without sufficient balance; present while the order awaits funds and after matching