Fetch Wallet Statements (Atlas)
Overview
The GET /banking/ibans/v2/wallets/{walletId}/fetch-statements endpoint returns historical statement ledger records for a specified wallet.
Each entry details the transaction amount (positive for credits, negative for debits), resulting runningBalance, counterparty reference, description, and ISO 8601 timestamp.
Resource Access
- HTTP Method:
GET - Endpoint:
/banking/ibans/v2/wallets/{walletId}/fetch-statements - Authentication: Bearer token required
- Permissions:
Client:EWallets:read,Admin:Wallets:read,Client:Add Wallets:read,Client:Add Funds:read
Path Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
walletId | string | Yes | Unique identifier assigned to the wallet (obtained from id in the Get all Wallets API). | 12582 |
Query Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
since | string | Yes | ISO 8601 date-time start filter. | 2024-01-01T00:00:00.000Z |
till | string | Yes | ISO 8601 date-time end filter. | 2024-12-31T23:59:59.999Z |
limit | integer | Yes | Maximum transactions to return (1 to 100). | 50 |
skip | integer | No | Offset for pagination. | 0 |
searchTerm | string | No | Search term to filter by description or reference (max 50 chars). | IN-15012024 |
Response
Success Response (200 OK)
{
"totalCount": 2,
"items": [
{
"amount": 500000.00,
"runningBalance": 504392.49,
"currency": "USD",
"reference": "IN-15012024-009",
"description": "Incoming virtual IBAN payment",
"timestamp": "2024-01-15T13:41:54.079Z"
},
{
"amount": -1500.00,
"runningBalance": 4392.49,
"currency": "USD",
"reference": "TO-15012024-006",
"description": "External bank transfer payout",
"timestamp": "2024-01-15T09:50:17.262Z"
}
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
totalCount | integer | Total number of transactions matching the criteria in the specified date range. |
items[].amount | number | Transaction amount (positive for credits, negative for debits). |
items[].runningBalance | number | Ledger balance immediately following this transaction. |
items[].currency | string | 3-letter ISO currency code. |
items[].reference | string | Unique transaction reference (e.g. IN-... for deposits, TO-... for payouts). |
items[].description | string | Human-readable memo or transaction description. |
items[].timestamp | string | ISO 8601 UTC timestamp of transaction execution. |
Error Codes
| Status Code | Error Reason | Resolution |
|---|---|---|
400 Bad Request | Invalid query parameters | Ensure since and till are valid ISO 8601 strings and limit is between 1 and 100. |
401 Unauthorized | Missing / invalid token | Check that the Authorization: Bearer <token> header is present and valid. |
403 Forbidden | Access denied | User or company does not own the requested walletId. |
404 Not Found | Wallet not found | Verify that the specified walletId exists. |
500 Server Error | Internal error | Server encountered an issue processing the statement request. |
Code Examples
cURL
curl -X GET "https://api.ahrvo.network/banking/ibans/v2/wallets/12582/fetch-statements?since=2024-01-01T00:00:00.000Z&till=2024-01-31T23:59:59.999Z&limit=50" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
JavaScript (Fetch)
const walletId = '12582';
const params = new URLSearchParams({
since: '2024-01-01T00:00:00.000Z',
till: '2024-01-31T23:59:59.999Z',
limit: '50'
});
const response = await fetch(`https://api.ahrvo.network/banking/ibans/v2/wallets/${walletId}/fetch-statements?${params}`, {
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Accept': 'application/json'
}
});
const data = await response.json();
console.log(`Found ${data.totalCount} statement entries:`);
data.items.forEach(tx => {
console.log(`${tx.timestamp} | ${tx.reference} | ${tx.amount} ${tx.currency} | Running: ${tx.runningBalance}`);
});
Python (requests)
import requests
wallet_id = "12582"
url = f"https://api.ahrvo.network/banking/ibans/v2/wallets/{wallet_id}/fetch-statements"
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Accept": "application/json"
}
params = {
"since": "2024-01-01T00:00:00.000Z",
"till": "2024-01-31T23:59:59.999Z",
"limit": 50
}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Interactive API Console
Test the endpoint directly in your browser: