Skip to main content
POST
Create a space
Send category as Level to create a top-level space, or as SpaceUnit with a parentSpaceId to create a space inside a level. A space unit without a parentSpaceId fails with 400.
The body must hold the same buildingId as the path. The response is 200, not 201, and holds the new space. To create several levels or space units in one call, use Create levels or Create space units.

Authorizations

Authorization
string
header
required

Paste an access token from Create an access token. Tokens expire, so request a new one if you receive 401.

Body

application/json
name
string
required

Name of the space. Required.

Pattern: \S
category
string
required

Level creates a top-level space. SpaceUnit creates a space inside a level and needs parentSpaceId. Required.

Pattern: \S
buildingId
string
required

Identifier of the building. Use the same building as in the path. Required.

Pattern: \S
description
string

Description of the space.

displayName
string

Name shown in KODE OS.

parentSpaceId
string

Identifier of the level or space this space belongs to. Required for a SpaceUnit.

operationalStatus
string

One of active, inactive, under_maintenance, under_construction, decommissioned, or excluded.

usage
string

Usage of a space unit, for example work_spaces.

type
string

Type of a space unit, for example office. The type must belong to the usage.

tenantUnit
boolean

Whether the space can be let to a tenant. Setting it to true also sets leasable to true.

leasable
boolean

Whether the space can be leased.

shared
boolean

Whether the space is shared.

bookable
boolean

Whether the space can be booked.

workpoint
string

Workpoint of a space unit. One of primary, alternative, or none.

assignmentCapacity
integer<int32>

Number of assignments the space can hold.

seatingModel
string

Seating model of the space.

area
object

Measurement with a value and a unit symbol, for example m².

netArea
object

Measurement with a value and a unit symbol, for example m².

height
object

Measurement with a value and a unit symbol, for example m².

capacity
integer<int32>

Capacity of the space.

seatingCapacity
integer<int32>

Number of seats.

targetUtilization
object

Measurement with a value and a unit symbol, for example m².

headcount
integer<int32>

Number of people in the space.

allocated
boolean

Whether the space is allocated.

baseTemperature
object

Measurement with a value and a unit symbol, for example m².

baseHumidity
object

Measurement with a value and a unit symbol, for example m².

baseAirQuality
object

Measurement with a value and a unit symbol, for example m².

baseNoiseLevel
object

Measurement with a value and a unit symbol, for example m².

identifier
string

Your own identifier for the space.

Response

The created space.

_id
string

Space identifier.

organizationId
string
createdAt
string
read-only

Date and time in UTC, with a numeric offset and no colon, for example 2026-10-28T13:51:31+0000.

Example:

"2026-10-28T13:51:31+0000"

updatedAt
string
read-only

Date and time in UTC, with a numeric offset and no colon, for example 2026-10-28T13:51:31+0000.

Example:

"2026-10-28T13:51:31+0000"

name
string
description
string
displayName
string
category
string

Level, SpaceUnit, or Zone.

partOf
object

The level or space this space belongs to.

inZone
object[]

Zones the space is in.

area
object
netArea
object
height
object
capacity
integer<int32>
seatingCapacity
integer<int32>
headcount
integer<int32>
allocated
boolean
baseTemperature
object
baseHumidity
object
baseAirQuality
object
baseNoiseLevel
object
targetUtilization
object
building
object

The building of the space.

devicesCount
integer<int32>

Number of devices in the space.

identifier
string
operationalStatus
string

Operational status of the space.

usage
string
type
string
tenantUnit
boolean
leasable
boolean
shared
boolean
bookable
boolean
workpoint
string
assignmentCapacity
integer<int32>
seatingModel
string