GET /catalog lists them live). Each domain contains
normalised category endpoints under /{category}/{table}, plus corresponding raw tables
under /raw/{table_name} for bulk export.
Property
Objects, property-creditor services, the property structure tree, and technical objects.
Contracts
Rental debits, debit diffs, service contracts, and contract ends.
Accounting
Chart of accounts, booking headers and positions, budgets, and account-range mappings.
Depreciation
Fixed assets and their depreciation postings.
Operations
Notifications, offers, orders, and projects.
Stakeholder
Creditors, employees, owners, and tenants.
Two domains referenced in earlier drafts of this documentation — Meters and
Market Data — do not exist as live API categories. There is no meter-reading or
consumption-data endpoint, and no market-benchmark endpoint. The only trace of metering
in the current data model is an
is_meter flag on individual technical_objects rows;
utility consumption history is processed in a separate, internal pipeline that is not
exposed through this API. Do not build integrations against a Meters or Market Data
endpoint — they will 404.How the domains connect
property_id is the primary join key. Every domain except Stakeholder.creditor carries
property_id, so any record can be attributed back to a property in Property.properties.
Join keys in detail
Cardinalities above describe the intended data model (1:N via foreign key columns). They
are not independently verified against live row counts — if you rely on strict uniqueness
for a key, validate it against your own dataset first.