Virtual accounts
List Virtual Accounts
List virtual accounts belonging to the authenticated business, with filtering, search, sorting and pagination.
Authorization
BearerAuth AuthorizationBearer <token>
In: header
Query Parameters
reference?string
accountNumber?string
accountType?string
Value in
"single_use" | "multi_use"status?string
Filters on derived status, so active excludes accounts whose expiry has passed.
Value in
"active" | "inactive" | "expired"currency?string
search?string
Partial match on reference, account number or account name.
startDate?string
Format
dateendDate?string
Format
datesort?string
Sort direction on createdAt.
Default
"DESC"Value in
"ASC" | "DESC"limit?integer
Results per page.
Default
1000page?integer
Default
1Response Body
application/json
application/json
curl -X GET "https://example.com/api/v1/virtual-account?reference=VA_A1B2C3D4E5F6"{
"requestId": "abcd1234-5678-90ef-ghij-1234567890kl",
"requestTimestamp": "2026-07-20 09:15:00",
"message": "Virtual accounts retrieved successfully.",
"statusCode": 200,
"data": [
{
"id": "019a1639-ce25-70b7-ab20-16fcb2bac023",
"businessId": "019a1639-ce25-70b7-ab20-16fcb2bac024",
"businessState": "TEST",
"amount": {
"value": 5000,
"currency": "NGN",
"formatted": "NGN5000"
},
"reference": "VA_A1B2C3D4E5F6",
"walletId": "019a1639-ce25-70b7-ab20-16fcb2bac025",
"sourceReference": "src_1234567890",
"accountNumber": "1234567890",
"accountName": "Acme Store",
"providerName": "wema",
"accountType": "single_use",
"status": "active",
"currency": "NGN",
"expiresAt": "2026-07-21 12:00:00",
"createdAt": "2026-07-20 09:15:00"
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 3,
"per_page": 50,
"to": 50,
"total": 128
}
}{
"requestId": "abcd1234-5678-90ef-ghij-1234567890kl",
"requestTimestamp": "2026-07-20 09:15:00",
"message": "Virtual account not found.",
"statusCode": 404
}How is this guide?