Accounts (current)

Deprecated for new integrations

The Current API is deprecated for new integrations. It stays online indefinitely for backward compatibility — existing wiring doesn't need to change — but new builds should target v1 Accounts instead. The v1 endpoint exposes balances directly on each account, no extra round trip needed.

Account information is returned from GET /auth/me — that's the canonical place to discover the debited_account_id you'll need for topup calls.

http
GET /auth/me
Authorization: Bearer <access_token>

The accounts array on the response is what you want:

200 OK (excerpt)
json
{
  "accounts": [
    {
      "id": 2,
      "name": "Current BWP",
      "currency": "BWP",
      "category": "CURRENT",
      "status": "ACTIVE",
      "type": "WALLET",
      "rank": 1
    },
    {
      "id": 3,
      "name": "Commission BWP",
      "currency": "BWP",
      "category": "COMMISSION",
      "status": "ACTIVE",
      "type": "WALLET",
      "rank": 2
    }
  ]
}

Fields

FieldTypeNotes
idintegerPass as debited_account_id on /api/topup/{validate,confirm}
namestringDisplay label
currencystringISO 4217 (e.g. BWP)
categorystringCURRENT, COMMISSION, or TOPUP
statusstringACTIVE only — closed/suspended accounts are filtered out
typestringAlways WALLET
rankintegerDisplay order
Most integrations have one account

In typical integrations, you'll only have a single account. Call /auth/me once on bootstrap and cache accounts[0].id — the value doesn't change across sessions unless a new account is created.

Looking for balance?

The current API doesn't expose account balances over a public endpoint. If your use case needs to display balances, consider the v1 surface — it returns each account with the current balance embedded as "BWP 2878.86".