Payout accounts
Add the bank accounts that collections pay naira out to.
A payout account is a verified bank account that receives the naira from
collection deposits. The API calls it a recipient, at
/v1/recipients. Add at least one payout account before you create a collection.
Add an account
Send the bank code and the 10-digit account number. Get bank codes from
GET /v1/banks.
curl https://engine-api.pilot.pulseshiga.io/v1/recipients \
-H "X-API-Key: <your key>" \
-H "Content-Type: application/json" \
-d '{
"type": "bank_account",
"is_default": true,
"bank_account": { "bank_code": "058", "account_number": "0123456789" }
}'Pulse verifies the account with the bank and returns the registered name in
bank_account.account_name. Check the name before you use the account. You do not
need to resolve the account first.
{
"status": true,
"data": {
"id": "0199d1a4-…",
"type": "bank_account",
"is_default": true,
"bank_account": {
"bank_code": "058",
"bank_name": "GTBank",
"account_number": "0123456789",
"account_name": "ACME SAVINGS LTD"
},
"created_at": "2026-10-15T09:12:40Z"
}
}Choose a default account
Set is_default: true on one payout account. A collection created without
recipient_id pays out to the default account. A new default replaces the previous
one.
You can add several payout accounts and give each collection its own. For example, pay each customer's deposits to that customer's own bank account.
Delete a payout account
DELETE /v1/recipients/{id} deletes a payout account. Pulse returns
recipient_in_use while a collection uses the account, or while an order that pays to
it is not finished. Move those collections to another account first.
List payout accounts
GET /v1/recipients lists your payout accounts from newest to oldest. Filter by
type, from, and to. See Pagination.
Errors
| Code | Cause |
|---|---|
invalid_recipient | The request has no bank_account object, or sends another account object with it. |
account_verification_failed | The bank could not verify the account. Check the bank code and account number. |
invalid_type | The type filter on GET /v1/recipients is not a supported type. |
recipient_not_found | The payout account does not exist for your business. |
recipient_in_use | A collection or an unfinished order still uses the payout account. |
default_recipient_conflict | Another default was set at the same time. Retry. |
See Errors for every code.