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

ParameterRequiredNotes
accountsyes4-digit codes and/or ranges, comma-separated: 1500 or 5000-5999
dimensionTypeyesCUSTOMER, SUPPLIER, EMPLOYEE, COUNTERPARTY, ASSET
timePeriodTypeyesYEAR, TERTIAL, QUARTER, BI_MONTHLY, MONTHLY
timePeriodValueyese.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 }
]
  
StatusCause
400Missing/invalid parameters or account syntax
403No read access to tenant