Generates a new virtual bank account for the specified wallet. Supports NGN, GBP, USD, EUR.

Important: Virtual bank accounts are not immediately issued. Account details are usually provided within a few minutes, but can take a few days if the customer is being reviewed manually or has not passed internal checks. The initial status will be PENDING until the account is fully provisioned. In the development environment, only NGN virtual bank accounts settle. Required scope: virtual-account:create.

POSTapi-prod.blaaiz.com/api/external/virtual-bank-account

Authorization

oauth2ClientCredentials virtual-account:create
AuthorizationBearer <token>

Use your OAuth client credentials to obtain a short-lived Bearer token from POST /oauth/token.

In: header

Scope: virtual-account:create

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Supports NGN, GBP, USD, EUR. A verified customer is required for all currencies. NGN supports both type=individual and type=business customers — businesses must have completed the KYB flow (Business customer KYB). GBP, USD, and EUR currently support type=individual only; type=business for those currencies is not yet available.

Response Body

application/json

application/json

application/json

application/json

Create virtual bank account
curl --request POST \  --url 'https://example.com/api/external/virtual-bank-account' \  --header 'Content-Type: application/json' \  --data '{  "wallet_id": "b18ed308-5ac5-4e9e-bb16-8c03ec2d3c01",  "customer_id": "9d4c4ec5-59ea-4130-bf8a-6a5edec401ee"}'
{  "message": "Virtual bank account initiated successfully.",  "data": {    "id": "33580c65-d063-4138-a875-82ff09dfaeb5",    "business_wallet_id": "b18ed308-5ac5-4e9e-bb16-8c03ec2d3c01",    "currency_id": 1,    "currency": "NGN",    "account_number": "7880000024",    "account_name": "John Doe",    "bank_name": "78 Finance Company Limited",    "bank_code": "123456",    "provider": "BANK78",    "account_reference": "2327323232",    "reservation_reference": null,    "rejection_reason": null,    "status": "PENDING"  }}