Fetches all virtual bank accounts (VBAs) for the specified wallet. Required scope: virtual-account:read.
Authorization
oauth2ClientCredentials virtual-account:readUse your OAuth client credentials to obtain a short-lived Bearer token from POST /oauth/token.
In: header
Scope: virtual-account:read
Query Parameters
Unique identifier of the wallet
Unique identifier of the customer (optional)
Response Body
application/json
application/json
curl --request GET \ --url 'https://example.com/api/external/virtual-bank-account?wallet_id=string'{ "message": "Virtual bank accounts retrieved 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", "account_reference": "2327323232", "reservation_reference": null, "rejection_reason": null }}POSTGet OAuth access token
Exchange your OAuth client credentials for a short-lived access token. Submit this request as application/x-www-form-urlencoded. Use the returned Bearer token on subsequent calls to /api/external/* endpoints. Client credentials tokens do not return refresh tokens.
POSTCreate virtual bank account
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`.