> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trassets.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# KPI

> Field reference for the pre-computed property KPIs under /v1/kpi/.

> [!WARNING]
>
> The KPI tables are a **preview**: fields and calculation rules can still change without notice.
> Check this page after each release.

The two tables below hold pre-computed key figures per property: floor area, vacancy,
tenants, and net rent. They save you from aggregating the raw lists (`property_structure`,
`tenants`, `contract_debits`) yourself, and because they are a separate category, a key can be
restricted to `kpi` without access to those lists.

Both tables are derived from the `/v1/` tables of the Property, Stakeholder, and Contracts
domains, so they follow the same property selection. They join to the Property domain via
`property_id`.

## Reference dates

Every row belongs to a `reference_date`: the first day of a month. Each table covers the last
12 months including the current one, counted from the last sync. A floor area counts on a
reference date if its active period covers that date; a tenancy counts if its contract runs on
that date.

## property\_kpis

`GET /v1/kpi/property_kpis`: one row per property and reference date. Filterable by
`property_id` and `reference_date`.

**property\_id** `string` *required*

Unique property identifier.

**reference\_date** `date` *required*

Reference date, always the first day of a month.

**floor\_area\_count** `integer`

Number of floor areas (rental units) active on the reference date.

**floor\_area\_sqm** `number`

Total floor area in square metres. Not historised: earlier reference dates show the current
area as well.

**vacant\_floor\_area\_count** `integer`

Number of floor areas without a running tenancy on the reference date. Counts every floor
area, including those excluded from marketing.

**vacant\_floor\_area\_sqm** `number`

Square metres of the vacant floor areas.

**vacancy\_rate\_count\_pct** `number`

Vacancy rate by number of floor areas, in percent, rounded to two decimals.

**vacancy\_rate\_sqm\_pct** `number`

Vacancy rate by square metres, in percent, rounded to two decimals. `null` if no floor area of
the property has square metres maintained.

**tenant\_count** `integer`

Number of distinct tenants (persons) with a running tenancy on an active floor area. A tenant
renting several units counts once.

**tenancy\_count** `integer`

Number of running tenancies (floor area × tenant) on active floor areas. A tenant renting
three units counts three times.

**floor\_count** `integer`

Number of storeys: distinct storey names of the property, not summed across buildings. Two
buildings with ground floor to second floor each yield 3, not 6.

**net\_rent\_monthly** `number`

Requires the [`personal_financial` grant](https://docs.trassets.ai/v1/authentication#personal-data-grants).
Monthly net rent target: the net rent debits of all tenancies running on the reference date.

**net\_rent\_annual** `number`

Requires the [`personal_financial` grant](https://docs.trassets.ai/v1/authentication#personal-data-grants).
`net_rent_monthly` × 12.

## property\_kpis\_by\_floor\_area\_type

`GET /v1/kpi/property_kpis_by_floor_area_type`: the floor area, vacancy, and net rent figures of
`property_kpis`, broken down by usage type. One row per property, reference date, and floor area
type. Filterable by `property_id`, `reference_date`, and `floor_area_type`.

**property\_id** `string` *required*

Unique property identifier.

**reference\_date** `date` *required*

Reference date, always the first day of a month.

**floor\_area\_type** `string` *required*

Usage type of the floor areas, as in `property_structure.floor_area_type`. The values come from
the customer's property management catalogue and are not harmonised across customers. Floor areas
without a usage type are grouped under `ohne Angabe`.

**floor\_area\_count** `integer`

As in `property_kpis`, for this usage type.

**floor\_area\_sqm** `number`

As in `property_kpis`, for this usage type.

**vacant\_floor\_area\_count** `integer`

As in `property_kpis`, for this usage type.

**vacant\_floor\_area\_sqm** `number`

As in `property_kpis`, for this usage type.

**vacancy\_rate\_count\_pct** `number`

As in `property_kpis`, for this usage type.

**vacancy\_rate\_sqm\_pct** `number`

As in `property_kpis`, for this usage type.

**net\_rent\_monthly** `number`

Requires the [`personal_financial` grant](https://docs.trassets.ai/v1/authentication#personal-data-grants).
As in `property_kpis`, for this usage type.

**net\_rent\_annual** `number`

Requires the [`personal_financial` grant](https://docs.trassets.ai/v1/authentication#personal-data-grants).
As in `property_kpis`, for this usage type.

> [!NOTE]
>
> Tenant, tenancy, and storey counts are only in `property_kpis`: one tenant can rent units of
> several usage types, so these counts do not add up per type. All other figures do — summing
> `property_kpis_by_floor_area_type` over `floor_area_type` gives the values of `property_kpis`.

> [!NOTE]
>
> Net rent requires the `personal_financial` grant because for a group with a single let unit,
> it is the rent of one individual tenant.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.