Payouts
List Payouts
List payouts with cursor pagination.
GET /v2/payouts
Host: api.chapa.global
Authorization: Bearer <PRIVATE_KEY>The optional limit defaults to 10. The collection describes optional filters but does not list their request fields or a cursor query parameter.
Example Request
For cURL, set PRIVATE_KEY in your shell. Replace the placeholders in the JavaScript example before running it.
cURL
curl -X GET 'https://api.chapa.global/v2/payouts?limit=10' \
-H "Authorization: Bearer $PRIVATE_KEY"JavaScript
const response = await fetch("https://api.chapa.global/v2/payouts?limit=10", {
method: "GET",
headers: {
"Authorization": "Bearer <PRIVATE_KEY>"
},
});
const data = await response.json();
console.log(data);Example Response
200 Success
{
"status": "success",
"message": "Payouts retrieved successfully",
"data": {
"items": [
{
"chapa_reference": "CP_T_17902410738754",
"merchant_reference": "ref-1759656600",
"amount": 10000,
"currency": "ETB",
"status": "SUCCESS",
"service_fee": 500,
"account": {
"account_number": "0900****71",
"account_name": "Abebe Kebede",
"bank_slug": "telebirr",
"bank_name": "telebirr"
},
"reason": "Vendor payout",
"created_at": "2026-10-05T09:30:00Z",
"updated_at": "2026-10-05T09:30:00Z",
"processed_at": "2026-10-05T09:30:00Z"
}
],
"pagination": {
"limit": 10,
"next_cursor": null,
"prev_cursor": null,
"has_more": false
}
}
}401 Error
{
"status": "error",
"message": "Invalid API key or User does not exist",
"error": {
"code": "UNAUTHORIZED",
"details": null
}
}403 Error
{
"status": "error",
"message": "API key environment does not match business environment.",
"error": {
"code": "INVALID_VALUE",
"details": null
}
}500 Error
{
"status": "error",
"message": "Failed to fetch payouts",
"error": {
"code": "PROCESSING_FAILED",
"details": null
}
}Payouts are returned in data.items, with nested account details. Amounts and fees are in cents. Pagination contains limit, next_cursor, prev_cursor, and has_more. Status values in payout data are uppercase.