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

CodeCause
invalid_recipientThe request has no bank_account object, or sends another account object with it.
account_verification_failedThe bank could not verify the account. Check the bank code and account number.
invalid_typeThe type filter on GET /v1/recipients is not a supported type.
recipient_not_foundThe payout account does not exist for your business.
recipient_in_useA collection or an unfinished order still uses the payout account.
default_recipient_conflictAnother default was set at the same time. Retry.

See Errors for every code.

On this page