Skip to main content
POST
/
v1
/
virtual-account
curl --request POST \
  --url https://sandboxapi.me-cash.com/v1/virtual-account \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "currency": "NGN",
  "country": "NG",
  "firstName": "Jumoke",
  "lastName": "Dumebi",
  "email": "[email protected]",
  "phoneNumber": "+23481345XXXX",
  "bvn": "12345678901",
  "reference": "00006597506292872311029472",
  "accountName": "Jumoke Dumebi"
}
'
{
"message": "virtual account created successfully",
"status": "success",
"data": {
"id": "e21f7365-4fc9-4669-a9d9-xxxxxxxxxxxxx",
"firstName": "Jumoke",
"lastName": "Dumebi",
"email": "[email protected]",
"phoneNumber": "+23481345XXXXX",
"reference": "00006597506292872311029472",
"account": {
"name": "Jumoke Dumebi",
"bankName": "Mock Bank",
"sortCode": null,
"number": "881725XXXXX"
},
"status": "ACTIVE",
"currency": "NGN",
"country": "NG",
"created": "2025-05-15T13:39:57.405Z"
}
}

Error responses

Use this table as the source of truth for troubleshooting POST /v1/virtual-account.
StatusMessageWhat it meansHow to fix
400Invalid country or currency ISO codeThe country/currency pair is not supported for virtual accounts.Send valid ISO codes that match an enabled corridor.
400Phone number must include valid country codephoneNumber is missing a proper international prefix.Format phone numbers with the full country code (for example +234...).
400Request JSON malformed or missing required fieldsThe payload is missing mandatory keys or is not valid JSON.Validate that fields such as currency, country, reference, and accountName are present before calling the API.
400BVN is requiredThe Nigerian BVN field is absent when it is mandatory.Provide the 11-digit bvn for NGN accounts.
401API key missing or incorrectAuthentication header is missing, invalid, or expired.Ensure the x-api-key is included for the correct environment.
409Reference must be uniqueThe reference has already been used for another request.Reuse the initial response or send a new, unique reference.
500Service temporarily unavailableTemporary backend/database outage prevented the request from succeeding.Retry with backoff or contact support if it persists.

Authorizations

x-api-key
string
header
required

Body

application/json

Request to create a static virtual account. The required fields depend on the selected currency.

currency
enum<string>
required

Currency code. Currency code (e.g., NGN).

Available options:
NGN
country
enum<string>
required

Country code. Country code (e.g., NG).

Available options:
NG
firstName
string
required

The customer's first name.

lastName
string
required

The customer's last name.

email
string<email>
required

The customer's email address.

phoneNumber
string
required

The customer's phone number. This must include the country code.

reference
string
required

A unique reference for the request (max 30 characters).

accountName
string
required

The desired name for the virtual account.

bvn
string
required

The customer's 11-digit Bank Verification Number.

Response

Static virtual account created successfully.

message
string
Example:

"virtual account created successfully"

status
string
Example:

"success"

data
object

Details of a static (permanent) virtual account and its associated customer.