Skip to main content
POST
Create (or return) my standing virtual account

Authorizations

Authorization
string
header
required

Enter Auth0 JWT token

Headers

Zuba-Account-Id
string<uuid>

Optional. Names an owned sub-account (UUID) to act on. Omit to act at the master (tenant) level. Naming an account this key does not own returns 403 not_account_owner.

Body

application/json
currency
string
required

ISO-4217 currency of the standing account. One live account per owner and currency; repeating a request returns the existing account.

Example:

"EUR"

country
string

ISO 3166-1 alpha-2 country the money is collected in. Required for currencies collected in more than one country (e.g. XOF); ignored otherwise.

Example:

"SN"

Response

A live account already existed for this owner + currency

accountName
string | null
required

Account name (format: "Zuba {Merchant Name}")

Example:

"Zuba John Doe"

accountNumber
string | null
required

Virtual account number

Example:

"8012345678"

accountType
string
required

Account type

Example:

"fixed_va"

bankName
string | null
required

Bank name where the virtual account is held

Example:

"Wema Bank"

clientId
string<uuid>
required

Client ID this virtual account belongs to

Example:

"456e7890-e89b-12d3-a456-426614174000"

createdAt
string<date-time>
required

Creation timestamp

Example:

"2024-01-15T10:30:00.000Z"

currency
string
required

Currency of the virtual account

Example:

"NGN"

enabled
boolean
required

Routing eligibility. False for failed or incomplete provider workflows.

id
string<uuid>
required

Unique identifier for the virtual account

Example:

"123e4567-e89b-12d3-a456-426614174000"

status
enum<string>
required

Current status of the virtual account

Available options:
pending,
active,
inactive
Example:

"active"

updatedAt
string<date-time>
required

Last update timestamp

accountId
string<uuid> | null

Owning sub-account; null for the client master account.

bankAddress
string | null

Institution or branch address supplied by the provider.

country
string | null

ISO 3166-1 alpha-2 country of the receiving account.

displayName
string | null

Operator-facing label sent to the provider.

iban
string | null

IBAN for the account — the GB IBAN for a GBP SCAN account (whose accountNumber is the SCAN number), or the primary IBAN for EUR. Null when the account exposes no IBAN.

Example:

"GB50IKMA24711059277481"

providerStatus
string | null

Raw provider account status when supplied.

provisioningStatus
string | null

Asynchronous provisioning workflow status when supplied.

routingNumber
string | null

Routing number for USD wire accounts (US ABA). Null for accounts without one (e.g. EUR/GBP).

Example:

"138344690"

sortCode
string | null

Sort code for GBP SCAN accounts (UK Faster Payments). Null for accounts without one (e.g. EUR/IBAN accounts).

Example:

"247110"

updatedBy
string | null