List API (advanced filters)
Use /v1/ledger/list to page through ledger entries that satisfy one-or-many filter rules.
The API accepts the same JSON grammar as /transaction/list, but exposes a ledger-specific filter set.
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
Supported Filter Criteria
JSON key | Operators | Description / Values |
|---|---|---|
lastUpdatedOn | eq gt gte lt lte | Timestamp the ledger was last touched (UTC). |
type | eq | CREDIT | DEBIT |
account.id | eq in | One or many Ahrvo account IDs. |
account.externalId | eq in | One or many account externalIds. |
customView | eq | true → hide intermediate releases & show only point-in-time holds / settlements. Not for sync jobs. |
isRealTime | eq | true → real-time ledgers (no 15-min delay) • false → 15-minute lag (default). |
Sorting
You may sort by lastUpdatedOn (ASC / DESC).
When paginating with offset, always include a sort on id.
Sample Request — Complex Ledger Query
POST /banking/us2/v1/ledger/list HTTP/1.1
Host: <hostname>
Authorization: Bearer <JWT token>
x-api-key: {apiKey}
Content-Type: application/json
{
"pageNumber": 1,
"pageSize": 25,
"sortOptions": { "sortBy": "lastUpdatedOn", "sortOrder": "DESC" },
"criteria": {
"filters": [
{ "key": "lastUpdatedOn", "operator": "gte", "values": [ "05/20/2024" ] },
{ "key": "lastUpdatedOn", "operator": "lte", "values": [ "06/20/2024" ] },
{ "key": "customView", "operator": "eq", "values": [ "true" ] },
{ "key": "account.id", "operator": "eq", "values": [ 9914118 ] },
{ "key": "isRealTime", "operator": "eq", "values": [ "true" ] }
]
}
}
Sample Response — Mixed Ledger Lines
{
"totalCount": 25,
"returnedCount": 4,
"pageNumber": 1,
"offset": 29149,
"resources": [
{
"id": 3380390,
"type": "DEBIT",
"ledgerType": "HOLD",
"method": "CARD",
"amount": "14.81",
"ledgerDate": "06/20/2024",
"lastUpdatedOn": "06/20/2024 11:16:43",
"currentBalance": "11149.99",
"holdBalance": "14.81",
"actualBalance": "11164.80",
"narration": "Pending To *7733 - EXXON PRATTVILLE COOSA PRATTVILLE AL",
"groupId": "9687CET",
"account": { "resourceName": "account", "id": 4004039, "url": "/v1/customer/id/4223433/account/id/4004039" }
},
{
"id": 29426,
"schedule": { "resourceName": "transaction", "id": 240086048, "url": "/v1/transaction/id/240086048" },
"type": "DEBIT",
"method": "ACH",
"scheduleClass": "SEND",
"amount": "10.00",
"ledgerDate": "06/12/2024",
"lastUpdatedOn": "06/12/2024 18:27:19",
"currentBalance": "9166.81",
"narration": "ACH Payment to Jon Francis for testing - PROCESSING",
"groupId": "240086048T",
"account": { "id": 4004039 }
},
{
"id": 3375824,
"schedule": { "id": 230489806, "externalId": "CONACH141832" },
"type": "CREDIT",
"method": "BOOK",
"amount": "10000.00",
"ledgerDate": "06/13/2024",
"lastUpdatedOn": "06/13/2024 12:53:07",
"currentBalance": "21414.56",
"narration": "Transfer from James Checking *9535",
"groupId": "230489806T",
"account": { "id": 4004039 }
},
{
"id": 12949,
"type": "CREDIT",
"method": "CARD",
"amount": "18.45",
"ledgerDate": "06/18/2024",
"lastUpdatedOn": "06/18/2024 06:45:38",
"currentBalance": "80755.45",
"narration": "Batch Settlement",
"batch": { "id": 132 },
"processorBatchDetails": {
"batchRef": " 23413021 ",
"trimmedBatchRef": "413021",
"batchHash": " 12Hash1646301 "
},
"account": { "id": 4004039 }
}
]
}
HTTP/1.1 200 OK
The example shows four ledger rows (hold, ACH debit, internal book credit, and card batch credit) returned from the complex filter set.