Reporting Manager API

Reports over sales, stock and purchasing, and the home dashboard's figures.

The reporting engine's service shell. Owns no commands and no journal of its own: its database holds local mirrors of the inventory, purchasing, fulfillment, and crm journal tables, fed by Postgres logical replication, so heavy analytical reads (and direct BI joins) land here and never on the operational primaries. The mirror tables carry row-level security keyed on tenant_id, so a direct BI connection is organization-scoped by the database itself. Behind the mirrors an incremental fold builds the reporting star schema — dimension rows, fact rows with drill-through event ids, and daily balance snapshots — reusing the shared costing fold so ledger figures reconcile with accounting to the cent. On top of the star sits the public reporting surface: a report library of saved definitions (journalled as reporting.report-saved), execution by the reference interpreter with job-gated field visibility, and drill-through from any leaf cell back to the journal facts behind it. The home dashboard reads its analytics strip from the same star and keeps each person's dismissed cards as reporting.widget-dismissed facts. The operational readout (replica and fold health) rides alongside.

Base URL
https://reporting.getmanifold.io
Auth
A bearer token on every call. See the quickstart.
OpenAPI
reporting-manager.openapi.json

model

Introspection: what can be reported on, filtered to the caller's jobs.

reports

The organization's report library: definitions saved as journalled documents.

runs

Report execution: run a definition, and drill a cell back to its facts.

dashboard

The home dashboard: each person's own choice of the cards they see.

analytics

Store analytics: sales, orders and units over a window, against the one before.

commissions

A rep's own commission, earned and clawed back.

events

The reporting append-only event log.

replica

Operational visibility into the logical-replication read replica.