On this page
Subledger rollups
Subledger rollup
GET /ledger/v1/subledger
Rolls an account range up per dimension value — e.g. receivables per CUSTOMER. Rollups are served from views that are pre-aggregated for every dimension type as transactions post, so the query is a lookup regardless of ledger size; each request filters on one dimension type:
curl "http://localhost:8081/ledger/v1/subledger?accounts=1500&dimensionType=CUSTOMER&timePeriodType=YEAR&timePeriodValue=2026" \
-H "X-Tenant-ID: org-84120557"
Query parameters
| Parameter | Required | Notes |
|---|---|---|
accounts | yes | 4-digit codes and/or ranges, comma-separated: 1500 or 5000-5999 |
dimensionType | yes | CUSTOMER, SUPPLIER, EMPLOYEE, COUNTERPARTY, ASSET |
timePeriodType | yes | YEAR, TERTIAL, QUARTER, BI_MONTHLY, MONTHLY |
timePeriodValue | yes | e.g. 2026 |
Response — 200 OK
Debit-positive minor units. A dimensionValue: null row collects entries in the range that carry no tag of the requested type:
[
{ "dimensionValue": "cust-001", "openingBalance": 0, "movement": 125000,
"closingBalance": 125000, "transactionCount": 3 },
{ "dimensionValue": null, "openingBalance": 4000, "movement": 0,
"closingBalance": 4000, "transactionCount": 1 }
]
| Status | Cause |
|---|---|
400 | Missing/invalid parameters or account syntax |
403 | No read access to tenant |