Skip to main content
POST
Create a payout

Authorizations

Authorization
string
header
required

Your Jenzy API key: Authorization: Bearer jz_live_…

Headers

Idempotency-Key
string
required

Required. A key you mint per payout intent (a UUID works). Replays of the same key + body return the original response; the same key with a different body is a 409.

Body

application/json
amount
required

What the beneficiary receives, in asset. Fees and any FX are on top, in source_asset.

Example:

"10000.00"

asset
string
required

The asset the beneficiary receives.

Minimum string length: 1
Example:

"KES"

destination
object
required
source_asset
string

The asset you pay from. Defaults to asset. A stablecoin balance can pay a fiat beneficiary (the FX payout); any other mixed pair is unsupported_pair.

Minimum string length: 1
Example:

"USDT"

Response

Created. status is normally pending; it can be held (the payment network has not yet acknowledged — poll) or already failed.

id
string<uuid>
required

Payout id — your handle for polling and support.

status
enum<string>
required

Lifecycle: held (money reserved, the payment network has not yet acknowledged) → pendingsucceeded | failed. succeeded, failed and reversed are terminal. A payout may already be failed in its creation response: the destination was accepted but the payment network refused it at once, and the reserved money is released. reversed means the payout succeeded and was then clawed back — it is not a failure and carries no failure object.

Available options:
received,
validated,
held,
submitted,
pending,
succeeded,
failed,
reversed
Example:

"pending"

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"

amount
string
required

What the beneficiary receives, as an exact decimal string in asset.

Example:

"10000.00"

source_asset
string
required

What you paid from.

Minimum string length: 1
Example:

"USDT"

source_amount
string
required

What is debited from your source_asset balance for the beneficiary amount, FX included; equals amount when the assets are the same. Your fee is on top.

Example:

"77.8875"

fee
string
required

Jenzy’s payout fee, one total, in source_asset. Known at creation.

Example:

"0.8"

rate
string | null
required

source_amount ÷ amount at 8 decimal places — source_asset per 1 asset — when the assets differ; null otherwise. Informational: the two amounts are the contract.

Example:

"0.00778875"

destination
object
required
failure
object | null
required

Set only when status is failed: one of the published codes with its fixed message. Detail from the payment network is never included.

created_at
string<date-time>
required
terminal_at
string<date-time> | null
required

When the payout reached succeeded, failed or reversed; null while in flight.