Skip to main content
/v1/ only documents a table once it’s live. Four domains currently have at least one documented table.

Accounting

booking_header, booking_positions, and budgets, with period, amount, and amount_per_sqm objects.

Operations

notifications and projects, with the technical_object_id rename and the hierarchy array.

Property

technical_objects, with the conditional property_structure_account_id fallback.

Stakeholder

tenants, with lease dates and contact fields — the phone_1phone_3 columns aren’t arrayified yet.
Property.properties is also live under /v1/, but is exposed as-is (raw numbered entrance_1entrance_5 columns and all) rather than reshaped — it’s deliberately left out of this data model. Use the unversioned Property.properties instead. Every other table (orders, property_structure, assets, contract_debits, and so on) isn’t live under /v1/ yet and stays on the unversioned path.

How the v1 tables connect

property_id is the join key shared across every table on this page.

Join keys in detail

budgets and tenants only carry property_id as a join key into the tables on this page — see their field references for other, external join keys (account_id, floor_area_id).
Cardinalities above describe the intended data model, not independently verified row counts. projects.creditor_id and projects.to_hdr_id are deliberately left out of this diagram — both are flagged as unreliable in the Operations field reference, so don’t treat them as working joins.