Authorization
default 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
Header Parameters
Your key for this request, 1 to 128 characters of letters, digits and `. _ : -`. The same request sent again with the same key returns the first answer instead of doing the work twice. See [Idempotency](/api/idempotency).
Request Body
application/json
Transfer channel (e.g. `cm.mtn`, `ke.mpesa`, `ci.djamo`). It tells Mobile Money, wallet and bank recipients apart: there is no `type` field.
Recipient full name.
Bank account number, for a bank channel. One of `phone` and `account_number` is required.
Mobile Money / Djamo phone number. One of `phone` and `account_number` is required.
The recipient's email address.
The recipient's two-letter country code.
A note of your own, up to 1 000 characters.
Free-form key-value data.
Recorded on the beneficiary for your own reference. A bank payout goes through a payout account added in the Dashboard, which this API cannot pay.
Recorded with `iban`, 8 or 11 characters.
Response Body
application/json
application/json
curl -X POST "https://api.wajub.com/beneficiaries" \ -H "Idempotency-Key: beneficiary-seller-42" \ -H "Content-Type: application/json" \ -d '{ "channel": "cm.mtn", "name": "Jean Dupont" }'{ "code": 201, "status": "Created", "message": "Beneficiary created successfully", "beneficiary": { "id": "ben_Fw8Qa3Zr6Ty1Np5Jd2Lv", "name": "Jean Dupont", "phone": "+237670000000" }}Created