Skip to main content
POST
/
business
/
virtualaccount
/
customer
Create a customer virtual account 🔒
curl --request POST \
  --url https://api-staging.usenumero.com/numeroaccount/api/v1/business/virtualaccount/customer \
  --header 'Content-Type: application/json' \
  --header 'X-Numero-Api-Key: <api-key>' \
  --header 'X-Numero-Signature: <api-key>' \
  --data '
{
  "firstName": "<string>",
  "lastName": "<string>",
  "email": "<string>",
  "mobileNumber": "<string>",
  "bvn": "<string>"
}
'
{
  "status": true,
  "message": "Successful",
  "code": "200",
  "version": "v1",
  "reference": "abc123",
  "data": {
    "reference": "VA-20240115-abc123",
    "accountName": "John Doe",
    "accountNumber": "8012345678",
    "bankName": "Providus Bank",
    "providerCode": "PROVIDUS"
  },
  "error": null
}

Authorizations

X-Numero-Api-Key
string
header
required

Your business API key (live_key_...). Issued on approval; managed in Dashboard → Settings → Developer.

X-Numero-Signature
string
header
required

Base64(HMAC-SHA256(secretApiKey, input)) over the raw request body (POST) or canonicalized query string (signed GET). Also send X-Numero-Signature-Version: v2. Required on money-movement / state-changing endpoints (marked 🔒).

Body

application/json
firstName
string | null
lastName
string | null
email
string | null
mobileNumber
string | null
bvn
string | null

Response

Successful response

Canonical response envelope for the public surface. data on success, error on failure.

data
any
required

Endpoint payload on success (object or array); null on failure.

error
object
required
meta
object
required