Skip to main content
POST
Execute a conversion

Authorizations

Authorization
string
header
required

Your Jenzy API key: Authorization: Bearer jz_live_…

Headers

Idempotency-Key
string
required

Required. A key you mint per conversion attempt (a UUID works). A retry with the same key and body returns the same conversion — including finishing one whose outcome was still processing. The same key with a different body is a 409.

Body

application/json
quote_id
string<uuid>
required

A quote_id from POST /v2/conversions/quotes.

Response

The conversion, usually already terminal.

id
string<uuid>
required
from_asset
string
required

An asset code as GET /v2/assets lists it — uppercase, never compound (KES, USDT; never USDT-TRON). Network and rail live on the payment object.

Minimum string length: 1
Example:

"KES"

to_asset
string
required

An asset code as GET /v2/assets lists it — uppercase, never compound (KES, USDT; never USDT-TRON). Network and rail live on the payment object.

Minimum string length: 1
Example:

"USDT"

from_amount
string
required

What you paid, in from_asset.

Example:

"1000.00"

to_amount
string
required

What you received (or will, on completed), in to_asset.

Example:

"7.68075"

rate
string
required

The quote’s rate, for display.

Example:

"130.19561892"

status
enum<string>
required

completed — your balances moved. failed — nothing moved; see failure. processing — accepted, outcome not yet known; rare and short-lived, poll GET /v2/conversions/{id} or wait for the webhook.

Available options:
processing,
completed,
failed
failure
object | null
required

Set only on failed.

created_at
string
required
Example:

"2026-09-09T10:00:10.000Z"