curl -X POST 'https://api.yativo.com/api/v1/payout/simple' \
-H 'X-Api-Key: YOUR_API_KEY' \
-H 'X-Api-Secret: YOUR_API_SECRET' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: payout-simple-001' \
-d '{
"debit_wallet": "USD",
"amount": 250,
"beneficiary_details_id": 42,
"customer_id": "da44a3e6-eb5d-429f-8d17-357aa5a6cdf2",
"reference": "INV-2026-0042"
}'
{
"status": "success",
"status_code": 200,
"message": "Request successful",
"data": {
"transaction_id": "txn-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "processing",
"amount": "250.00",
"created_at": "2026-06-01T10:00:00.000000Z"
}
}
{
"status": "failed",
"status_code": 400,
"message": "Request failed.",
"data": {
"error": "Insufficient wallet balance"
}
}
Single Payout
Send one payment to a saved beneficiary payment method
curl -X POST 'https://api.yativo.com/api/v1/payout/simple' \
-H 'X-Api-Key: YOUR_API_KEY' \
-H 'X-Api-Secret: YOUR_API_SECRET' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: payout-simple-001' \
-d '{
"debit_wallet": "USD",
"amount": 250,
"beneficiary_details_id": 42,
"customer_id": "da44a3e6-eb5d-429f-8d17-357aa5a6cdf2",
"reference": "INV-2026-0042"
}'
{
"status": "success",
"status_code": 200,
"message": "Request successful",
"data": {
"transaction_id": "txn-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "processing",
"amount": "250.00",
"created_at": "2026-06-01T10:00:00.000000Z"
}
}
{
"status": "failed",
"status_code": 400,
"message": "Request failed.",
"data": {
"error": "Insufficient wallet balance"
}
}
POST https://api.yativo.com/api/v1/payout/simple
Idempotency-Key header. Your wallet is charged immediately on submission./payout/simple works like POST /wallet/payout with beneficiary_details_id in place of payment_method_id. To fix the amount the customer receives (amount_type: "receive"), use /wallet/payout.
Every payout goes through compliance checks before it’s sent. If you include an invoice, it’s reviewed with the payout, so make sure its total and beneficiary match. A payout that needs a closer look stays pending until the review is finished.
curl -X POST 'https://api.yativo.com/api/v1/payout/simple' \
-H 'X-Api-Key: YOUR_API_KEY' \
-H 'X-Api-Secret: YOUR_API_SECRET' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: payout-simple-001' \
-d '{
"debit_wallet": "USD",
"amount": 250,
"beneficiary_details_id": 42,
"customer_id": "da44a3e6-eb5d-429f-8d17-357aa5a6cdf2",
"reference": "INV-2026-0042"
}'
{
"status": "success",
"status_code": 200,
"message": "Request successful",
"data": {
"transaction_id": "txn-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "processing",
"amount": "250.00",
"created_at": "2026-06-01T10:00:00.000000Z"
}
}
{
"status": "failed",
"status_code": 400,
"message": "Request failed.",
"data": {
"error": "Insufficient wallet balance"
}
}
Authorizations
Your API key (yativo_pk_...) from Developers → API Keys. Send together with X-Api-Secret.
Your API secret (yativo_sk_...), shown once when the key is created.
Headers
A unique string per request to ensure idempotent processing.
Body
The source wallet currency to debit (e.g. "USD", "EUR").
"USD"
Amount to send in the debit wallet currency.
250
The saved beneficiary payment method ID (from POST /beneficiaries/payment-methods).
The customer the payout is for. If the beneficiary belongs to a customer, it must be that customer.
"da44a3e6-eb5d-429f-8d17-357aa5a6cdf2"
Optional. The beneficiary that owns the payment method.
A payout quote from POST /exchange-rate. Locks the rate and fees for 5 minutes and supplies the amount.
Payment reference passed to the recipient's bank, up to 250 characters. Depending on the payout rail, it may be shortened or have unsupported characters removed. For example, ACH allows only 10 letters, numbers or spaces.
250Supporting invoice: PDF, PNG or JPEG, up to 15 MB. Send the request as multipart/form-data to attach it.
Public http or https link to the supporting invoice, as an alternative to invoice.

