General ledger report
Intended to list every posting in a date range, grouped by chart of account, with a running balance. The Portal implementation is currently a stub and always returns an empty report.
Authorization
AuthorizationstringrequiredQuery parameters
dateRange.startstring · daterequiredFirst day of the period. Read in the company's timezone.
dateRange.endstring · daterequiredLast day of the period, included in the range.
portfolioIdsstring[]Narrow the report to these portfolios. Repeat the parameter once per id. An id that does not exist returns 404.
propertyIdsstring[]Narrow the report to these properties. Repeat the parameter once per id. An id that does not exist returns 404.
ownerIdsstring[]Narrow the report to properties these owners have a stake in. Repeat the parameter once per id. An id that does not exist returns 404.
includeChartOfAccountIdsstring[]Only include these accounts. Repeat the parameter once per id.
companyBillsbooleanFilter on who pays. Leave it out to include everything, set it true for bills the management company pays, false for bills the owner pays.
includeSubsidiesbooleanWhether housing-authority subsidy postings appear in the ledger.
Response
200 · The ledger. Every array comes back empty while the report is stubbed.
propertiesobject[]Every property referenced by a ledger row. Always empty at present.
vendorsobject[]Every vendor referenced by a ledger row. Always empty at present.
tenantsobject[]Every tenant referenced by a ledger row. Always empty at present.
chartOfAccountsobject[]One entry per account, holding that account's rows and totals. Always empty at present.
401 · The access token is missing, expired, or not valid for this company.
404 · A portfolio, property or owner id in the query does not exist in the caller's company.
The general ledger builder in the Portal service is a stub: it returns empty arrays and empty totals whatever you send it, and it does not read any accounting data. The endpoint answers 200 with a well-formed but empty report, so a client cannot tell the difference from a company with no data. Do not build against it until it is finished.
The query parameters are still bound and validated, so dateRange is still required and a portfolio, property or owner id that does not exist still returns 404. Everything else is ignored.
The field list below describes the shape the report is meant to return, taken from the response contract. It is documented so a client can be written against it, not because the data arrives today.