List Bank Accounts
curl --request GET \
--url https://api.rolla.xyz/api/v1/external/accounts/{accountId}/bank-accounts \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.rolla.xyz/api/v1/external/accounts/{accountId}/bank-accounts"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.rolla.xyz/api/v1/external/accounts/{accountId}/bank-accounts', 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.rolla.xyz/api/v1/external/accounts/{accountId}/bank-accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.rolla.xyz/api/v1/external/accounts/{accountId}/bank-accounts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.rolla.xyz/api/v1/external/accounts/{accountId}/bank-accounts")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rolla.xyz/api/v1/external/accounts/{accountId}/bank-accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": 200,
"message": "Bank accounts retrieved successfully",
"success": true,
"data": {
"bankAccounts": [
{
"id": "7f3a2b10-91c4-4f3b-b1d2-0a8e44c10a55",
"currency": "NGN",
"bankName": "Guaranty Trust Bank",
"accountNumber": "1238726395",
"accountName": "Beta Logistics LLC",
"routingNumber": null,
"swiftCode": null,
"bankAddress": null,
"type": "static",
"status": "active",
"reference": null,
"label": null,
"expiresAt": null,
"createdAt": "2026-06-13T01:50:00.000Z"
},
{
"id": "c81f0a44-2d6e-4a5b-9c31-77b0e2d1f904",
"currency": "USD",
"bankName": "Lead Bank",
"accountNumber": "8823410077",
"accountName": "Beta Logistics LLC",
"routingNumber": "021000021",
"swiftCode": "LEADUS33",
"bankAddress": null,
"type": "static",
"status": "active",
"reference": "store-amazon-uk",
"label": "Amazon UK",
"expiresAt": null,
"createdAt": "2026-06-14T09:22:11.000Z"
}
],
"usdOnboarding": [
{
"provider": "rolla",
"state": "client_submitted",
"updatedAt": "2026-06-13T01:49:39.528Z"
}
]
}
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}Bank Accounts
List Bank Accounts
Lists the account’s issued bank accounts, plus any USD provider onboarding still in review.
GET
/
accounts
/
{accountId}
/
bank-accounts
List Bank Accounts
curl --request GET \
--url https://api.rolla.xyz/api/v1/external/accounts/{accountId}/bank-accounts \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.rolla.xyz/api/v1/external/accounts/{accountId}/bank-accounts"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.rolla.xyz/api/v1/external/accounts/{accountId}/bank-accounts', 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.rolla.xyz/api/v1/external/accounts/{accountId}/bank-accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.rolla.xyz/api/v1/external/accounts/{accountId}/bank-accounts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.rolla.xyz/api/v1/external/accounts/{accountId}/bank-accounts")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rolla.xyz/api/v1/external/accounts/{accountId}/bank-accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": 200,
"message": "Bank accounts retrieved successfully",
"success": true,
"data": {
"bankAccounts": [
{
"id": "7f3a2b10-91c4-4f3b-b1d2-0a8e44c10a55",
"currency": "NGN",
"bankName": "Guaranty Trust Bank",
"accountNumber": "1238726395",
"accountName": "Beta Logistics LLC",
"routingNumber": null,
"swiftCode": null,
"bankAddress": null,
"type": "static",
"status": "active",
"reference": null,
"label": null,
"expiresAt": null,
"createdAt": "2026-06-13T01:50:00.000Z"
},
{
"id": "c81f0a44-2d6e-4a5b-9c31-77b0e2d1f904",
"currency": "USD",
"bankName": "Lead Bank",
"accountNumber": "8823410077",
"accountName": "Beta Logistics LLC",
"routingNumber": "021000021",
"swiftCode": "LEADUS33",
"bankAddress": null,
"type": "static",
"status": "active",
"reference": "store-amazon-uk",
"label": "Amazon UK",
"expiresAt": null,
"createdAt": "2026-06-14T09:22:11.000Z"
}
],
"usdOnboarding": [
{
"provider": "rolla",
"state": "client_submitted",
"updatedAt": "2026-06-13T01:49:39.528Z"
}
]
}
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}Lists the bank accounts issued for an account, along with any USD provider onboarding that is still under review.
A client may hold several USD accounts — one per
reference. Every entry carries reference and label so you can tell them apart; both are null on the client’s primary account.
Example Request
curl -X GET "https://api.rolla.xyz/api/v1/external/accounts/eec3cbed-79d8-4370-87a0-b6be9e287337/bank-accounts" \
-H "X-API-Key: your_api_key_here"
Example Response
{
"status": 200,
"message": "Bank accounts retrieved successfully",
"success": true,
"data": {
"bankAccounts": [
{
"id": "7f3a2b10-91c4-4f3b-b1d2-0a8e44c10a55",
"currency": "NGN",
"bankName": "Guaranty Trust Bank",
"accountNumber": "1238726395",
"accountName": "Beta Logistics LLC",
"routingNumber": null,
"swiftCode": null,
"bankAddress": null,
"type": "static",
"status": "active",
"reference": null,
"label": null,
"expiresAt": null,
"createdAt": "2026-06-13T01:50:00.000Z"
},
{
"id": "c81f0a44-2d6e-4a5b-9c31-77b0e2d1f904",
"currency": "USD",
"bankName": "Lead Bank",
"accountNumber": "8823410077",
"accountName": "Beta Logistics LLC",
"routingNumber": "021000021",
"swiftCode": "LEADUS33",
"bankAddress": null,
"type": "static",
"status": "active",
"reference": "store-amazon-uk",
"label": "Amazon UK",
"expiresAt": null,
"createdAt": "2026-06-14T09:22:11.000Z"
}
],
"usdOnboarding": [
{
"provider": "rolla",
"state": "client_submitted",
"updatedAt": "2026-06-13T01:49:39.528Z"
}
]
}
}
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
currency | string | No | Filter by NGN or USD. Any other value returns 400 with "message": "Validation failed" |
usdOnboarding lists USD provider onboarding that is not yet active, one entry per provider still in review, and is empty once the USD account is live. It is only populated when currency is omitted or USD.Authorizations
Your Rolla API key
Path Parameters
Identifier of an account owned by the same user as your API key's business
Example:
"eec3cbed-79d8-4370-87a0-b6be9e287337"
Query Parameters
Filter by currency
Available options:
NGN, USD