Skip to main content

Get All FX Trades (New)

Overview

List and filter FX trades initiated by your organization. Supports searching by currency source/target flows, status filters, date ranges, and transaction IDs with pagination.

Resource Access

  • HTTP Method: POST
  • Endpoint: /banking/ibans/v2/fx/list
  • Authentication: Bearer token required (Authorization: Bearer {access_token})

Query Parameters

ParameterTypeRequiredDescription
limitintegerNoMaximum number of records to return per page (1-100, default: 20).
skipintegerNoNumber of records to skip for pagination (default: 0).

Request Body

{
"sourceTargetPairs": [
{
"source": "wallet",
"target": "wallet"
},
{
"source": "wallet",
"target": "account"
}
],
"state": [
"COMPLETED"
],
"createdStartDate": "2026-09-01T00:00:00Z",
"createdEndDate": "2026-09-15T23:59:59Z"
}

Request Fields

FieldTypeRequiredDescription
sourceTargetPairsarray of objectsNoFilter by origin and destination types (wallet or account).
statearray of stringsNoFilter by trade state (e.g. COMPLETED, PENDING, FAILED).
createdStartDatestring (ISO Date)NoEarliest creation timestamp to include.
createdEndDatestring (ISO Date)NoLatest creation timestamp to include.
paymentIdsarray of stringsNoFilter by specific payment idempotency UUIDs.

Response

Success Response (200 OK)

{
"totalCount": 355,
"items": [
{
"id": "20088",
"reference": "EN-05062024-055",
"userId": "2289",
"companyId": "2233",
"currencyFrom": "USD",
"amountFrom": 4800,
"currencyTo": "NGN",
"amountTo": 4936560,
"rate": 1028.4456,
"status": "COMPLETED",
"createdAt": "2026-09-15T12:00:05Z"
}
]
}

Response Fields

FieldTypeDescription
totalCountnumberTotal count of trades matching filter conditions.
itemsarrayArray of trade summary objects.
items[].idstringUnique trade identifier.
items[].referencestringTrade reference string.
items[].currencyFromstringSold currency.
items[].amountFromnumberSold amount.
items[].currencyTostringBought currency.
items[].amountTonumberBought amount.
items[].ratenumberConversion rate.
items[].statusstringCurrent settlement status.

Error Responses

  • 400 Bad Request: Invalid date formatting or malformed filter JSON.
  • 401 Unauthorized: Missing or expired access token.
  • 500 Internal Server Error: Internal platform error.

Code Examples

cURL

curl -X POST "https://api.ahrvo.network/banking/ibans/v2/fx/list?limit=20&skip=0" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"state": ["COMPLETED"]
}'

Python

import requests

url = "https://api.ahrvo.network/banking/ibans/v2/fx/list"
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json"
}
params = {"limit": 20, "skip": 0}
payload = {
"state": ["COMPLETED"]
}

response = requests.post(url, headers=headers, params=params, json=payload)
data = response.json()
print("Total Trades:", data.get("totalCount"))
for trade in data.get("items", []):
print(f"- {trade['reference']}: {trade['amountFrom']} {trade['currencyFrom']} -> {trade['amountTo']} {trade['currencyTo']}")

JavaScript / Node.js

const response = await fetch("https://api.ahrvo.network/banking/ibans/v2/fx/list?limit=20&skip=0", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json"
},
body: JSON.stringify({
state: ["COMPLETED"]
})
});

const result = await response.json();
console.log(`Found ${result.totalCount} FX trades`);

Interactive API Explorer