curl --request POST \
--url https://api.nomba.com/v1/accounts/virtual/list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'accountId: <accountid>' \
--data '
{
"accountName": "Daniel Scorsese",
"accountRef": "1oWbJQQHLyQqqf1SwxjSpudeA21",
"bvn": "12234412345",
"bankAccountNumber": "9391076543",
"dateCreatedFrom": "2023-08-30T14:56:59.000Z",
"dateCreatedTo": "2024-08-30T14:56:59.000Z",
"expired": false,
"resourceAcquired": false
}
'import requests
url = "https://api.nomba.com/v1/accounts/virtual/list"
payload = {
"accountName": "Daniel Scorsese",
"accountRef": "1oWbJQQHLyQqqf1SwxjSpudeA21",
"bvn": "12234412345",
"bankAccountNumber": "9391076543",
"dateCreatedFrom": "2023-08-30T14:56:59.000Z",
"dateCreatedTo": "2024-08-30T14:56:59.000Z",
"expired": False,
"resourceAcquired": False
}
headers = {
"accountId": "<accountid>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
accountId: '<accountid>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
accountName: 'Daniel Scorsese',
accountRef: '1oWbJQQHLyQqqf1SwxjSpudeA21',
bvn: '12234412345',
bankAccountNumber: '9391076543',
dateCreatedFrom: '2023-08-30T14:56:59.000Z',
dateCreatedTo: '2024-08-30T14:56:59.000Z',
expired: false,
resourceAcquired: false
})
};
fetch('https://api.nomba.com/v1/accounts/virtual/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nomba.com/v1/accounts/virtual/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'accountName' => 'Daniel Scorsese',
'accountRef' => '1oWbJQQHLyQqqf1SwxjSpudeA21',
'bvn' => '12234412345',
'bankAccountNumber' => '9391076543',
'dateCreatedFrom' => '2023-08-30T14:56:59.000Z',
'dateCreatedTo' => '2024-08-30T14:56:59.000Z',
'expired' => false,
'resourceAcquired' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"accountId: <accountid>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.nomba.com/v1/accounts/virtual/list"
payload := strings.NewReader("{\n \"accountName\": \"Daniel Scorsese\",\n \"accountRef\": \"1oWbJQQHLyQqqf1SwxjSpudeA21\",\n \"bvn\": \"12234412345\",\n \"bankAccountNumber\": \"9391076543\",\n \"dateCreatedFrom\": \"2023-08-30T14:56:59.000Z\",\n \"dateCreatedTo\": \"2024-08-30T14:56:59.000Z\",\n \"expired\": false,\n \"resourceAcquired\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("accountId", "<accountid>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.nomba.com/v1/accounts/virtual/list")
.header("accountId", "<accountid>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"accountName\": \"Daniel Scorsese\",\n \"accountRef\": \"1oWbJQQHLyQqqf1SwxjSpudeA21\",\n \"bvn\": \"12234412345\",\n \"bankAccountNumber\": \"9391076543\",\n \"dateCreatedFrom\": \"2023-08-30T14:56:59.000Z\",\n \"dateCreatedTo\": \"2024-08-30T14:56:59.000Z\",\n \"expired\": false,\n \"resourceAcquired\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nomba.com/v1/accounts/virtual/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["accountId"] = '<accountid>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"accountName\": \"Daniel Scorsese\",\n \"accountRef\": \"1oWbJQQHLyQqqf1SwxjSpudeA21\",\n \"bvn\": \"12234412345\",\n \"bankAccountNumber\": \"9391076543\",\n \"dateCreatedFrom\": \"2023-08-30T14:56:59.000Z\",\n \"dateCreatedTo\": \"2024-08-30T14:56:59.000Z\",\n \"expired\": false,\n \"resourceAcquired\": false\n}"
response = http.request(request)
puts response.read_body{
"code": "00",
"description": "Success",
"data": {
"results": [
{
"createdAt": "2023-09-04T07:09:06.900Z",
"accountHolderId": "01a10aeb-d989-460a-bbde-9842f2b4320f",
"accountRef": "1oWbJQQHLyQqqf1SwxjSpudeA21",
"bvn": "12234412345",
"accountName": "Daniel Scorsese",
"bankName": "Nombank MFB",
"bankAccountNumber": "9391076543",
"bankAccountName": "Nomba/Ifeoluwa Adeboye",
"currency": "NGN",
"callbackUrl": "https://webhook.site/98ef100f-5adc-4434-800a-0808h60bd8d7",
"expired": true
}
],
"cursor": "xchbaVFsjdsbaADddd"
}
}{
"code": "400",
"description": "Request failed."
}{
"code": "401",
"description": "Unauthorized"
}{
"code": "403",
"description": "Forbidden"
}{
"code": "404",
"description": "Record not found"
}{
"code": "429",
"description": "Too many requests"
}{
"code": "500",
"description": "Server error"
}Filter virtual accounts
You can use this endpoint to filter your virtual accounts.
curl --request POST \
--url https://api.nomba.com/v1/accounts/virtual/list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'accountId: <accountid>' \
--data '
{
"accountName": "Daniel Scorsese",
"accountRef": "1oWbJQQHLyQqqf1SwxjSpudeA21",
"bvn": "12234412345",
"bankAccountNumber": "9391076543",
"dateCreatedFrom": "2023-08-30T14:56:59.000Z",
"dateCreatedTo": "2024-08-30T14:56:59.000Z",
"expired": false,
"resourceAcquired": false
}
'import requests
url = "https://api.nomba.com/v1/accounts/virtual/list"
payload = {
"accountName": "Daniel Scorsese",
"accountRef": "1oWbJQQHLyQqqf1SwxjSpudeA21",
"bvn": "12234412345",
"bankAccountNumber": "9391076543",
"dateCreatedFrom": "2023-08-30T14:56:59.000Z",
"dateCreatedTo": "2024-08-30T14:56:59.000Z",
"expired": False,
"resourceAcquired": False
}
headers = {
"accountId": "<accountid>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
accountId: '<accountid>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
accountName: 'Daniel Scorsese',
accountRef: '1oWbJQQHLyQqqf1SwxjSpudeA21',
bvn: '12234412345',
bankAccountNumber: '9391076543',
dateCreatedFrom: '2023-08-30T14:56:59.000Z',
dateCreatedTo: '2024-08-30T14:56:59.000Z',
expired: false,
resourceAcquired: false
})
};
fetch('https://api.nomba.com/v1/accounts/virtual/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nomba.com/v1/accounts/virtual/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'accountName' => 'Daniel Scorsese',
'accountRef' => '1oWbJQQHLyQqqf1SwxjSpudeA21',
'bvn' => '12234412345',
'bankAccountNumber' => '9391076543',
'dateCreatedFrom' => '2023-08-30T14:56:59.000Z',
'dateCreatedTo' => '2024-08-30T14:56:59.000Z',
'expired' => false,
'resourceAcquired' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"accountId: <accountid>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.nomba.com/v1/accounts/virtual/list"
payload := strings.NewReader("{\n \"accountName\": \"Daniel Scorsese\",\n \"accountRef\": \"1oWbJQQHLyQqqf1SwxjSpudeA21\",\n \"bvn\": \"12234412345\",\n \"bankAccountNumber\": \"9391076543\",\n \"dateCreatedFrom\": \"2023-08-30T14:56:59.000Z\",\n \"dateCreatedTo\": \"2024-08-30T14:56:59.000Z\",\n \"expired\": false,\n \"resourceAcquired\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("accountId", "<accountid>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.nomba.com/v1/accounts/virtual/list")
.header("accountId", "<accountid>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"accountName\": \"Daniel Scorsese\",\n \"accountRef\": \"1oWbJQQHLyQqqf1SwxjSpudeA21\",\n \"bvn\": \"12234412345\",\n \"bankAccountNumber\": \"9391076543\",\n \"dateCreatedFrom\": \"2023-08-30T14:56:59.000Z\",\n \"dateCreatedTo\": \"2024-08-30T14:56:59.000Z\",\n \"expired\": false,\n \"resourceAcquired\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nomba.com/v1/accounts/virtual/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["accountId"] = '<accountid>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"accountName\": \"Daniel Scorsese\",\n \"accountRef\": \"1oWbJQQHLyQqqf1SwxjSpudeA21\",\n \"bvn\": \"12234412345\",\n \"bankAccountNumber\": \"9391076543\",\n \"dateCreatedFrom\": \"2023-08-30T14:56:59.000Z\",\n \"dateCreatedTo\": \"2024-08-30T14:56:59.000Z\",\n \"expired\": false,\n \"resourceAcquired\": false\n}"
response = http.request(request)
puts response.read_body{
"code": "00",
"description": "Success",
"data": {
"results": [
{
"createdAt": "2023-09-04T07:09:06.900Z",
"accountHolderId": "01a10aeb-d989-460a-bbde-9842f2b4320f",
"accountRef": "1oWbJQQHLyQqqf1SwxjSpudeA21",
"bvn": "12234412345",
"accountName": "Daniel Scorsese",
"bankName": "Nombank MFB",
"bankAccountNumber": "9391076543",
"bankAccountName": "Nomba/Ifeoluwa Adeboye",
"currency": "NGN",
"callbackUrl": "https://webhook.site/98ef100f-5adc-4434-800a-0808h60bd8d7",
"expired": true
}
],
"cursor": "xchbaVFsjdsbaADddd"
}
}{
"code": "400",
"description": "Request failed."
}{
"code": "401",
"description": "Unauthorized"
}{
"code": "403",
"description": "Forbidden"
}{
"code": "404",
"description": "Record not found"
}{
"code": "429",
"description": "Too many requests"
}{
"code": "500",
"description": "Server error"
}Authorizations
Nomba authenticates API calls with OAuth2 HTTP bearer tokens. There are two methods of authentication; Client-Credentials method and PKCE (Proof Key for Code Exchange) method. In each of the methods, You will get an ACCESS_TOKEN. You need to use an "Authorization" HTTP header to provide your ACCESS_TOKEN. For example: Authorization: {ACCESS_TOKEN}.
Headers
The parent accountId of the business.
"890022ce-bae0-45c1-9b9d-ee7872e6ca27"
Query Parameters
This endpoint is paginated. limit describes the size of the page you are querying
The cursor is used to scroll to the next page. When making the first call to list all accounts, there is no need to pass in any cursor since the API has not returned any cursor back to you. Only use cursor when the API provides it
Body
The request payload required to filter virtual accounts.
Account holder's name
8 - 64"Daniel Scorsese"
Account reference
16 - 64"1oWbJQQHLyQqqf1SwxjSpudeA21"
Bank Verification Number (BVN)
11"12234412345"
Bank account number
"9391076543"
Date created from
"2023-08-30T14:56:59.000Z"
Date created to
"2024-08-30T14:56:59.000Z"
Whether the virtual account is expired or not
false
Whether the virtual account is in use or not
false