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
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | No | Maximum number of records to return per page (1-100, default: 20). |
skip | integer | No | Number 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
| Field | Type | Required | Description |
|---|---|---|---|
sourceTargetPairs | array of objects | No | Filter by origin and destination types (wallet or account). |
state | array of strings | No | Filter by trade state (e.g. COMPLETED, PENDING, FAILED). |
createdStartDate | string (ISO Date) | No | Earliest creation timestamp to include. |
createdEndDate | string (ISO Date) | No | Latest creation timestamp to include. |
paymentIds | array of strings | No | Filter 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
| Field | Type | Description |
|---|---|---|
totalCount | number | Total count of trades matching filter conditions. |
items | array | Array of trade summary objects. |
items[].id | string | Unique trade identifier. |
items[].reference | string | Trade reference string. |
items[].currencyFrom | string | Sold currency. |
items[].amountFrom | number | Sold amount. |
items[].currencyTo | string | Bought currency. |
items[].amountTo | number | Bought amount. |
items[].rate | number | Conversion rate. |
items[].status | string | Current 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`);