List API
The Ledger List API lets you page through every credit / debit entry that Ahrvo has generated for a customer or program-manager account. Data is eventually consistent — new ledgers may appear up to 30 minutes after the triggering transaction posts.
Resource Access
Production (api.ahrvo.network)
POST https://api.ahrvo.network/banking/us2/v1/ledger/list
Staging (gateway.ahrvo.network)
POST https://gateway.ahrvo.network/banking/us2/v1/ledger/list
Core Response Fields
| Field | Description |
|---|---|
id | Unique ledger entry ID. |
account | Nested object identifying the Ahrvo account that owns the ledger. |
schedule | The transaction that produced the ledger (if any). |
type | CREDIT | DEBIT |
method | ACH, WIRE, BOOK, CARD, CHECK, VIRTUAL_CARD, INTERNATIONAL_WIRE, MONEYGRAM |
amount | Signed ledger amount (two-decimal string). |
ledgerDate | Calendar date the entry was created (UTC). |
memo | Free-form user text. |
status | Processing status of the ledger. |
currentBalance | Spendable balance after this ledger. |
holdBalance | Running total of debit-card holds. |
actualBalance | currentBalance + holdBalance. |
scheduleClass | COLLECT | SEND (mirrors the parent transaction). |
ledgerType | Only for CARD: HOLD, RELEASE, SETTLE. |
groupId | Server-generated value that ties all ledgers for the same transaction. |
batch / processorBatchDetails | Present for CARD batches. |
| Audit Fields | createdOn / createdBy • lastUpdatedOn / lastUpdatedBy |
Request Body — List Ledger
| Node | Required | Purpose | ||
|---|---|---|---|---|
criteria.filters[] | Optional | Same filter grammar as /transaction/list. | ||
sortOptions | Optional | sortBy → id | createdOn | lastUpdatedOn • sortOrder → ASC / DESC |
pageNumber / pageSize | Optional | Cursor-based paging. | ||
getTotalCount | Optional | true to ask for totalCount. |
Tip — Filtering by offset requires a sort on id.
Sample Request — List Ledgers Updated Since a Date
POST /banking/us2/v1/ledger/list HTTP/1.1
Host: <hostname>
Authorization: Bearer <JWT token>
x-api-key: {apiKey}
Content-Type: application/json
{
"sortOptions": { "sortBy": "lastUpdatedOn", "sortOrder": "DESC" },
"criteria": {
"filters": [
{
"key": "lastUpdatedOn",
"operator": "gte",
"values": [ "05/10/2025 00:00:00" ]
}
]
},
"pageNumber": 1,
"pageSize": 50,
"getTotalCount": true
}
Sample Response — Page with Two Ledgers
{
"totalCount": 2,
"returnedCount": 2,
"pageNumber": 1,
"offset": 99000321,
"hasMore": false,
"resources": [
{
"resourceName": "ledger",
"url": "v1/ledger/id/99000322",
"id": 99000322,
"account": { "id": 4000693, "resourceName": "account", "url": "/v1/customer/id/4000854/account/id/4000693" },
"schedule": { "id": 230001518, "resourceName": "transaction", "url": "/v1/transaction/id/230001518" },
"groupId": "GRP-230001518",
"type": "DEBIT",
"method": "WIRE",
"scheduleClass": "SEND",
"amount": "5.00",
"ledgerDate": "07/16/2024",
"memo": "W-230001518 wire debit",
"status": "POSTED",
"currentBalance": "941.15",
"holdBalance": "0.00",
"actualBalance": "941.15",
"createdOn": "07/16/2024 07:01:28",
"createdBy": { "userType": "SYSTEM", "userName": "SYSTEM" },
"lastUpdatedOn": "07/16/2024 07:01:29",
"lastUpdatedBy": { "userType": "SYSTEM", "userName": "SYSTEM" }
},
{
"resourceName": "ledger",
"url": "v1/ledger/id/99000321",
"id": 99000321,
"account": { "id": 4000693 },
"schedule": { "id": 230001518 },
"groupId": "GRP-230001518",
"type": "DEBIT",
"method": "WIRE",
"scheduleClass": "SEND",
"amount": "0.25",
"ledgerType": "FEE",
"memo": "FX fee",
"ledgerDate": "07/16/2024",
"status": "POSTED",
"currentBalance": "946.15",
"holdBalance": "0.00",
"actualBalance": "946.15",
"createdOn": "07/16/2024 07:01:28",
"createdBy": { "userType": "SYSTEM", "userName": "SYSTEM" },
"lastUpdatedOn": "07/16/2024 07:01:29",
"lastUpdatedBy": { "userType": "SYSTEM", "userName": "SYSTEM" }
}
]
}
HTTP/1.1 200 OK
The groupId ties both debit lines (principal + fee) back to wire transaction 230001518.