curl --request GET \
--url https://api.jenzy.com/v2/payouts/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.jenzy.com/v2/payouts/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.jenzy.com/v2/payouts/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.jenzy.com/v2/payouts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.jenzy.com/v2/payouts/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.jenzy.com/v2/payouts/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jenzy.com/v2/payouts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"asset": "KES",
"amount": "10000.00",
"source_asset": "USDT",
"source_amount": "77.8875",
"fee": "0.8",
"rate": "0.00778875",
"destination": {
"type": "bank",
"institution_id": "<string>",
"account_number": "<string>",
"beneficiary_name": "<string>"
},
"failure": {
"code": "recipient_account_invalid",
"message": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"terminal_at": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "validation_error",
"message": "<string>"
}
}{
"error": {
"code": "validation_error",
"message": "<string>"
}
}{
"error": {
"code": "validation_error",
"message": "<string>"
}
}{
"error": {
"code": "validation_error",
"message": "<string>"
}
}Get a payout
One payout by id — the polling read for a payout you created.
curl --request GET \
--url https://api.jenzy.com/v2/payouts/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.jenzy.com/v2/payouts/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.jenzy.com/v2/payouts/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.jenzy.com/v2/payouts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.jenzy.com/v2/payouts/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.jenzy.com/v2/payouts/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jenzy.com/v2/payouts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"asset": "KES",
"amount": "10000.00",
"source_asset": "USDT",
"source_amount": "77.8875",
"fee": "0.8",
"rate": "0.00778875",
"destination": {
"type": "bank",
"institution_id": "<string>",
"account_number": "<string>",
"beneficiary_name": "<string>"
},
"failure": {
"code": "recipient_account_invalid",
"message": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"terminal_at": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "validation_error",
"message": "<string>"
}
}{
"error": {
"code": "validation_error",
"message": "<string>"
}
}{
"error": {
"code": "validation_error",
"message": "<string>"
}
}{
"error": {
"code": "validation_error",
"message": "<string>"
}
}Authorizations
Your Jenzy API key: Authorization: Bearer jz_live_…
Path Parameters
The payout id (UUID).
Response
The payout.
Payout id — your handle for polling and support.
Lifecycle: held (money reserved, the payment network has not yet acknowledged) → pending → succeeded | 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.
received, validated, held, submitted, pending, succeeded, failed, reversed "pending"
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.
1"KES"
What the beneficiary receives, as an exact decimal string in asset.
"10000.00"
What you paid from.
1"USDT"
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.
"77.8875"
Jenzy’s payout fee, one total, in source_asset. Known at creation.
"0.8"
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.
"0.00778875"
- Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes
Set only when status is failed: one of the published codes with its fixed message. Detail from the payment network is never included.
Show child attributes
Show child attributes
When the payout reached succeeded, failed or reversed; null while in flight.