Skip to main content
POST
/
accounts
/
virtual-accounts
Create Virtual Account
curl --request POST \
  --url https://api.usepooler.com/accounts/virtual-accounts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "account_type": "individual",
  "account_name": "<string>",
  "email": "[email protected]",
  "first_name": "<string>",
  "last_name": "<string>",
  "display_name": "<string>",
  "bvn": "<string>",
  "mobile_number": "<string>",
  "metadata": {}
}
'
{
  "success": true,
  "message": "<string>",
  "stan": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "currency": "<string>",
    "account_number": "<string>",
    "account_name": "<string>",
    "bank_name": "<string>",
    "is_active": true,
    "created_at": "2023-11-07T05:31:56Z"
  }
}
Create a new virtual account for receiving payments. Virtual accounts can be used to collect payments from customers and are automatically generated with unique account numbers.

Overview

Virtual accounts are bank accounts that are created on-demand for receiving payments. Each virtual account has a unique account number that customers can send payments to. Funds received in virtual accounts are automatically credited to your main Pooler account.

Request Body

account_type
string
required
Type of account holder: “individual” or “business”
account_name
string
required
Name of the account holder
first_name
string
First name (required for individual accounts)
last_name
string
Last name (required for individual accounts)
display_name
string
Display name for the account
email
string
required
Email address of the account holder
bvn
string
Bank Verification Number (required for Nigerian accounts)
mobile_number
string
Mobile phone number
metadata
object
Additional metadata object that can include:
  • business_reg_number: Business registration number
  • country: Country code
  • use_case: Use case description
  • reference: Custom reference

Response

data
object
Virtual account details including:
  • id: Virtual account UUID
  • currency: Account currency code
  • account_number: Generated account number
  • account_name: Account holder name
  • bank_name: Bank name
  • is_active: Whether account is active
  • created_at: Creation timestamp
The account number is unique and can be shared with customers for receiving payments. All payments to this account will be automatically credited to your Pooler account.

Authorizations

Authorization
string
header
required

Bearer token authentication. Include your API key in the Authorization header as: Bearer {your_api_key}

Body

application/json
account_type
enum<string>
required

Type of account holder

Available options:
individual,
business
account_name
string
required

Name of the account holder

email
string<email>
required

Email address

first_name
string

First name (for individual accounts)

last_name
string

Last name (for individual accounts)

display_name
string

Display name for the account

bvn
string

Bank Verification Number (for Nigerian accounts)

mobile_number
string

Mobile phone number

metadata
object

Additional metadata

Response

200 - application/json

Virtual account created successfully

success
boolean
message
string
stan
string<uuid>
data
object