Skip to main content

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

ParameterTypeRequiredDescriptionExample
walletIdstringYesUnique identifier assigned to the wallet (obtained from id in the Get all Wallets API).12582

Query Parameters

ParameterTypeRequiredDescriptionExample
sincestringYesISO 8601 date-time start filter.2024-01-01T00:00:00.000Z
tillstringYesISO 8601 date-time end filter.2024-12-31T23:59:59.999Z
limitintegerYesMaximum transactions to return (1 to 100).50
skipintegerNoOffset for pagination.0
searchTermstringNoSearch 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

FieldTypeDescription
totalCountintegerTotal number of transactions matching the criteria in the specified date range.
items[].amountnumberTransaction amount (positive for credits, negative for debits).
items[].runningBalancenumberLedger balance immediately following this transaction.
items[].currencystring3-letter ISO currency code.
items[].referencestringUnique transaction reference (e.g. IN-... for deposits, TO-... for payouts).
items[].descriptionstringHuman-readable memo or transaction description.
items[].timestampstringISO 8601 UTC timestamp of transaction execution.

Error Codes

Status CodeError ReasonResolution
400 Bad RequestInvalid query parametersEnsure since and till are valid ISO 8601 strings and limit is between 1 and 100.
401 UnauthorizedMissing / invalid tokenCheck that the Authorization: Bearer <token> header is present and valid.
403 ForbiddenAccess deniedUser or company does not own the requested walletId.
404 Not FoundWallet not foundVerify that the specified walletId exists.
500 Server ErrorInternal errorServer 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: