Skip to main content

Get Bulk FX Rates (Atlas)

Overview

The POST /banking/ibans/v2/fx/bulk-rate endpoint enables querying exchange rates for multiple currency pairs simultaneously.

This is particularly useful for platform dashboards, pricing displays, and rate aggregation widgets that need to present live market rates across diverse corridors without issuing separate requests per pair.

Resource Access

  • HTTP Method: POST
  • Endpoint: /banking/ibans/v2/fx/bulk-rate
  • Authentication: Bearer token required

Request Headers

HeaderValueRequiredDescription
AuthorizationBearer {access_token}YesJWT Bearer access token
Content-Typeapplication/jsonYesRequest payload format
Acceptapplication/jsonYesResponse payload format

Request Body

Request Fields

FieldTypeRequiredDescription
currencyPairsarrayYesList of currency pair objects to query.
currencyPairs[].currencyFromstringYes3-letter ISO source currency code.
currencyPairs[].currencyTostringYes3-letter ISO destination currency code.
paymentModestringNoSettlement mode: immediate (default) or later.

Request Example

{
"currencyPairs": [
{ "currencyFrom": "USD", "currencyTo": "GBP" },
{ "currencyFrom": "USD", "currencyTo": "EUR" },
{ "currencyFrom": "EUR", "currencyTo": "NGN" },
{ "currencyFrom": "GBP", "currencyTo": "KES" }
],
"paymentMode": "immediate"
}

Response

Success Response (200 OK)

{
"success": true,
"rates": [
{
"currencyFrom": "USD",
"currencyTo": "GBP",
"rate": "0.7854"
},
{
"currencyFrom": "USD",
"currencyTo": "EUR",
"rate": "0.9120"
},
{
"currencyFrom": "EUR",
"currencyTo": "NGN",
"rate": "1745.50"
},
{
"currencyFrom": "GBP",
"currencyTo": "KES",
"rate": "165.20"
}
]
}

Response Fields

FieldTypeDescription
successbooleanIndicates whether the query succeeded.
ratesarrayArray of rate results for each requested currency pair.
rates[].currencyFromstringSource currency code.
rates[].currencyTostringDestination currency code.
rates[].ratestringIndicative exchange rate.

Code Examples

cURL

curl -X POST "https://gateway.ahrvo.network/banking/ibans/v2/fx/bulk-rate" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"currencyPairs": [
{ "currencyFrom": "USD", "currencyTo": "GBP" },
{ "currencyFrom": "USD", "currencyTo": "EUR" }
]
}'

Python

import requests

url = "https://gateway.ahrvo.network/banking/ibans/v2/fx/bulk-rate"
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json"
}

payload = {
"currencyPairs": [
{"currencyFrom": "USD", "currencyTo": "GBP"},
{"currencyFrom": "USD", "currencyTo": "EUR"}
]
}

response = requests.post(url, json=payload, headers=headers)
data = response.json()
for item in data.get("rates", []):
print(f"{item['currencyFrom']} -> {item['currencyTo']}: {item['rate']}")

JavaScript (Node.js)

const axios = require('axios');

const url = 'https://gateway.ahrvo.network/banking/ibans/v2/fx/bulk-rate';
const headers = {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
};

const payload = {
currencyPairs: [
{ currencyFrom: 'USD', currencyTo: 'GBP' },
{ currencyFrom: 'USD', currencyTo: 'EUR' }
]
};

axios.post(url, payload, { headers })
.then(res => console.log('Bulk Rates:', res.data.rates))
.catch(err => console.error(err.response ? err.response.data : err.message));

Interactive API Explorer