Data model overview

The BuildingMinds API onboards a Digital Twin of your real-estate portfolio — a connected model of your assets, their tenancy and commercial structure, their energy and resource consumption, and the ESG attributes used for reporting. You push each entity from your own systems as JSON, and BuildingMinds links them into one model using the IDs you provide.

This page is the map: what the entities are, how they relate, and the vocabulary used across the API. New to the API? Start with the Getting Started guide. For field-level detail on any entity, see the API Reference.

How the entities fit together

graph TD
  Address --> Site
  Site --> Building
  Building --> Floor
  Floor --> Space
  Building --> RentalUnit["Rental Unit"]
  RentalUnit --> RentalContract["Rental Contract"]
  RentalContract --> RentalPayment["Rental Payment"]
  RentalContract --> RentalOption["Rental Option"]
  Building --> Meter
  RentalUnit --> Meter
  Meter --> ResourceConsumption["Resource Consumption (raw readings)"]
  Building --> OperationalMeasurement["Operational Measurement (aggregated)"]
  Building --> Certificate
  Building --> EnergyRating["Energy Rating"]
  Building --> Valuation
  Building --> AreaMeasurement["Area Measurement"]

Arrows show the typical belongs-to direction. You reference a parent by the ID you assigned it — and you can send entities in any order: a child that arrives before its parent is held and linked automatically.

The asset hierarchy

The physical structure of your portfolio is a hierarchy. Each level references the one above by ID:

EntityBelongs to (key reference)Notes
Siteone or more Addresses (addressIds)Top-level location grouping one or more buildings.
Buildinga Site (siteId) + Address(es) (addressIds)The core asset. Carries rich ESG attributes — heating type, net-zero status, fossil-fuel exposure, monument protection, and more.
Floora Building (buildingId)
Spacea Floor (floorId)The smallest physical unit.
Rental Unitlinks to Site / Building / Floor / Space / Land (siteIds, buildingIds, floorIds, spaceIds, landIds)The lettable unit — the bridge between the physical asset and tenancy. Must reference at least one of these parents, or it stays in a New state.
LandLand parcels associated with the portfolio.

Consumption & metering

How energy, water and waste data flows in:

EntityLinks toWhat it is
MeterBuilding / Rental Unit (buildingIds, rentalUnitIds); sub-meters reference their parent (parentId)A metering device. Carries category (Meter / Sub-meter / Virtual), resource type, unit, and meteringPointId (e.g. MPAN, MPRN, SPID).
Resource Consumptiona Meter (meterExternalId)Raw meter readings — the unaggregated, untransformed series.
Operational Measurementa Building (buildingId)Aggregated consumption against a building (e.g. monthly), whether derived from meters or invoices.
Meter Context / Meter OPM Snapshota MeterSupporting context and snapshots for a meter.
📘

BuildingMinds performs the aggregation and contextualisation — keep your data raw on the way in. See the Metering Integration Prerequisites.

Tenancy & commercial

EntityLinks toWhat it is
Rental Contractone or more Rental Units (rentalUnitIds)The lease.
Rental Optiona Rental ContractBreak / extension options.
Rental Paymenta Rental ContractScheduled or actual payments.
Role (and Role–Rental-Contract–Contact / –Organisation)contracts, contacts, organisationsWho plays which role on a contract.
Organisation, ContactLegal entities and people.
Vacancy Rate, Headcountbuilding / unitOccupancy metrics.

ESG & performance

EntityWhat it is
CertificateBuilding/sustainability certificates (e.g. BREEAM, LEED).
Energy RatingEnergy-performance ratings (e.g. EPC).
ValuationAsset valuations.
Area MeasurementFloor-area figures — the denominators behind intensity metrics.
Retrofit / Retrofit Measure / Retrofit Scenario / Retrofit ImpactDecarbonisation planning: measures, scenarios, and their modelled impact.

How linking works

You assign every entity a stable external ID. References between entities use those IDs, so:

  • Order doesn't matter. Send a child before its parent and it is held, then linked automatically once the parent arrives.
  • A record waits for its parents. Until every referenced parent exists, the record stays in a New state; it only advances to Completed once its parents are successfully onboarded. (A Building that references a siteId or addressIds that haven't arrived yet stays New until they do.)
  • Re-sending updates. Re-send an entity with the same ID and it updates rather than duplicates — keep your IDs stable.
  • Track progress with the batch. Every submission returns a batchId; poll GET /batch/{batchId}/inbound until each record reaches Completed or Published.

Full mechanics are in the Getting Started guide.

Updating and deleting records

Every entity carries an optional eventType field following the pattern <Entity>Added / <Entity>Updated / <Entity>Deleted (e.g. BuildingAdded, OperationalMeasurementUpdated).

  • Add / update: omit eventType (or send …Added / …Updated) and submit the record with the same external ID — the record is created or its fields are updated (upsert).
  • Delete: submit the record with eventType: <Entity>Deleted. Only that record is removed — linked entities are not cascaded (deleting an Area Measurement, for example, leaves its building untouched).

A partial update only needs the external ID plus the fields you are changing — e.g. re-submit a Building with just its buildingId, its parent IDs, the changed field, and eventType: BuildingUpdated.

📘

Not every entity supports delete — Address, for instance, has only AddressAdded / AddressUpdated.

Dates & formats

Date fields use ISO-8601 in UTCyyyy-mm-ddThh:mm:ssZ (e.g. 2021-12-01T12:00:00Z). Where only a year is known (e.g. constructionYear, yearOfLastRefurbishment), use the first of January: yyyy-01-01T00:00:00Z.

Glossary

TermMeaning
Digital TwinThe connected data model of your portfolio inside BuildingMinds.
Site / Building / Floor / SpaceThe physical asset hierarchy, top to bottom.
Rental UnitThe lettable unit linking physical space to tenancy.
Meter / Sub-meter / Virtual meterMetering devices; sub-meters reference a parent meter via parentId.
Resource ConsumptionRaw, unaggregated meter readings.
Operational Measurement (OPM)Aggregated consumption at building level.
External IDThe stable identifier you assign; used to match and update records.
BatchA submission job; its batchId lets you poll per-record status.
Metering Point IDGrid identifier of a supply point (e.g. MPAN/MPRN for electricity and gas, SPID for water).