Skip to content
Loading keys…
Authorization<token>

A public key (pk./pk_test.) is accepted on /payments, /customers, /links, /invoices and the catalogue reads (/channels, /providers, /countries, /currencies); anything that moves money out, reads the balance or manages the account answers 406 to it. It is an identifier, never an authorization. Use a secret key (sk./sk_test.) for sensitive operations (transfers, refunds, balance), or a restricted key (rk./rk_test.) scoped to specific permissions. The _test. variant of any key selects the sandbox environment, there is no separate sandbox URL. Never expose your secret key in client-side code.

In: header

Query Parameters

per_pageinteger | null

Max results per page (1–100). Defaults to 25.

pageinteger

The page to read, from 1, for offset pagination. Ignored with `cursor`.

cursorstring | null

The `next_cursor` of a previous response, a numbered page included: switches the list to cursor pagination.

status"pending" | "processing" | "succeeded" | "failed" | "cancelled"

Filter by status. One of: `pending`, `processing`, `succeeded`, `failed`, `cancelled`. Before API version 2026-10-12, `failed` also returns the cancelled transfers, which that version reads as `failed`.

"pending""processing""succeeded""failed""cancelled"
searchstring | null

Search by reference or description.

Response Body

application/json

application/json

application/json

curl -X GET "https://api.wajub.com/transfers?per_page=10&page=2&status=succeeded"
GET
/transfers
{  "code": 200,  "status": "OK",  "message": "Transfers retrieved",  "items": [    {      "id": "po_Gv2Ks9Lp4Xr7Mw1Qt8Zn",      "reference": "N7vW4mX1kQ8",      "amount": 10000,      "currency": "XAF",      "status": "succeeded",      "complete": true    }  ],  "meta": {    "current_page": 1,    "last_page": 2,    "per_page": 25,    "total": 18,    "next_cursor": "c_9fK2mQ7vB4nL6hR1xT8w",    "has_more": true  }}

Paginated list

What did you think of this content?