curl --request GET \
--url https://examples.staging.rampapay.com/v1/payouts \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://examples.staging.rampapay.com/v1/payouts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://examples.staging.rampapay.com/v1/payouts"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "po_9Fz3Kd7RwP2mX8cT4nB6vQ1h",
"type": "qr",
"status": "completed",
"transaction_id": "W-1001",
"resolution_id": "qrr_8KqT2mWx5ZbN7cJ4hRvP1sLd",
"quote": {
"id": "6f0c2a8e-4b7d-4f1e-9a51-3c2d8e7b9a10",
"source": {
"currency": "USDT",
"amount": "101.500000"
},
"target": {
"currency": "BOB",
"amount": "1000.00"
},
"rate": "9.9500",
"fee": {
"currency": "USDT",
"amount": "1.000000"
},
"expires_at": "2026-09-27T14:05:00.000Z"
},
"source": {
"currency": "USDT",
"amount": "101.500000"
},
"target": {
"currency": "BOB",
"amount": "1000.00"
},
"qr": {
"amount_mode": "closed",
"merchant": {
"name": "Café del Prado",
"bank_code": "1014"
}
},
"error": null,
"completed_at": "2026-09-27T14:02:12.000Z",
"created_at": "2026-09-27T14:02:11.000Z"
}
],
"next_cursor": null
}List your payments
Scope: payouts:read
Newest first. Each item is a payment, exactly as GET /payouts/{id} returns it. Filter with the query parameters below; page with limit and the next_cursor of the previous answer, which is null on the last page. Useful for reconciliation, and to find a payment by transaction_id after a lost response.
curl --request GET \
--url https://examples.staging.rampapay.com/v1/payouts \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://examples.staging.rampapay.com/v1/payouts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://examples.staging.rampapay.com/v1/payouts"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "po_9Fz3Kd7RwP2mX8cT4nB6vQ1h",
"type": "qr",
"status": "completed",
"transaction_id": "W-1001",
"resolution_id": "qrr_8KqT2mWx5ZbN7cJ4hRvP1sLd",
"quote": {
"id": "6f0c2a8e-4b7d-4f1e-9a51-3c2d8e7b9a10",
"source": {
"currency": "USDT",
"amount": "101.500000"
},
"target": {
"currency": "BOB",
"amount": "1000.00"
},
"rate": "9.9500",
"fee": {
"currency": "USDT",
"amount": "1.000000"
},
"expires_at": "2026-09-27T14:05:00.000Z"
},
"source": {
"currency": "USDT",
"amount": "101.500000"
},
"target": {
"currency": "BOB",
"amount": "1000.00"
},
"qr": {
"amount_mode": "closed",
"merchant": {
"name": "Café del Prado",
"bank_code": "1014"
}
},
"error": null,
"completed_at": "2026-09-27T14:02:12.000Z",
"created_at": "2026-09-27T14:02:11.000Z"
}
],
"next_cursor": null
}Authorizations
On the example server, any key that starts with rpk_mock_, e.g. rpk_mock_yourname. Never your real key.
Query Parameters
string. Only the payout with this transaction id.
qr | bank_transfer. Only payouts of this type.
qr, bank_transfer status. Only payments that ended so: completed, failed, rejected or cancelled.
status ISO-8601 instant. Created at or after this instant. Must carry a zone, e.g. 2026-10-01T04:00:00Z.
ISO-8601 instant. Created at or before this instant (inclusive). Must carry a zone.
integer 1–100. Page size. Default 50.
string. next_cursor from the previous page. Keep the same filters.