---
title: "Get room floor plan"
method: GET
path: "/v1/objects/{object-id}/floor-plan"
tags: ["Objects"]
---

# Get room floor plan

`GET /v1/objects/{object-id}/floor-plan`

Retrieve the complete floor plan of a room in a single call: room geometry (outline, derived area, tile grid, backdrop), passive elements, and all racks located in the room with their footprint, placement and status. Racks are filtered by the requesting user's read access. Racks with `placed` set to false have not been positioned on the plan yet and their coordinates should be ignored.

## Path parameters

- `object-id` integer, required

## Response `200`

Room floor plan

- object — Room property group. Returned by GET /v1/objects/{id}/room and embedded as `ObjectDetails.room`; accepted by PATCH /v1/objects/{id}/room with merge-patch semantics (omitted fields are left unchanged). All coordinates and dimensions are in millimetres in room-local coordinates.
  - `roomType` 'COMPUTER_ROOM' | 'ELECTRICAL' | 'MECHANICAL' | 'TELECOM' | 'OTHER' — Kind of room.
  - `outline` RoomPoint[] — Room outline as ordered list of vertices of a simple polygon (no holes). Obstructions inside the room are not part of the outline; they are passive elements.
    - `x` integer, required
    - `y` integer, required
  - `area` number — Floor area in square metres, derived from the outline.
  - `height` integer — Room height; 0 means undeclared.
  - `gridOriginX` integer — X coordinate of floor tile grid origin.
  - `gridOriginY` integer — Y coordinate of floor tile grid origin.
  - `gridTileSize` integer — Floor tile size; 0 means no grid.
  - `gridLabels` 'NONE' | 'LETTERS_NUMBERS' | 'NUMBERS_NUMBERS' — Floor tile label scheme (columns x rows).
  - `backgroundImage` string, uuid, nullable — Image library UUID of floor plan backdrop; null means no backdrop (send null to clear).
  - `backgroundScale` integer — Backdrop calibration in micrometres per image pixel.
  - `backgroundX` integer — X offset of the backdrop in room coordinates.
  - `backgroundY` integer — Y offset of the backdrop in room coordinates.
  - `passiveElements` RoomPassiveElement[]
    - `id` integer — Element ID (assigned by the server; ignored on input).
    - `name` string
    - `type` 'COLUMN' | 'WALL' | 'RAMP' | 'STAIRS' | 'DOOR' | 'OTHER' — Element type (default OTHER). Immutable after creation.
    - `x` integer — X coordinate of footprint reference corner.
    - `y` integer — Y coordinate of footprint reference corner.
    - `rotation` integer — Rotation in degrees.
    - `width` integer
    - `depth` integer
  - `roomId` integer — Room object ID
  - `name` string — Room object name
  - `racks` object[]
    - `placed` boolean — True if the rack has been positioned on the floor plan. Cleared by the server when the rack is unbound from its room.
    - `x` integer — X coordinate of rack footprint reference corner in room coordinates, millimetres.
    - `y` integer — Y coordinate of rack footprint reference corner in room coordinates, millimetres.
    - `rotation` integer — Rotation in degrees (front direction); normalised by the server to the range 0..359.
    - `id` integer — Rack object ID
    - `name` string — Rack object name
    - `status` integer — Rack object status code
    - `height` integer — Rack height in units
    - `width` integer — External cabinet width in millimetres
    - `depth` integer — External cabinet depth in millimetres

## Other responses

- `400` — Invalid object ID or object is not a room
- `401` — Unauthorized
- `403` — User does not have read access to given object
- `404` — Object with given ID does not exist

## Changes

- **2026-09-21** `2827204d68d9` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/netxms/apis/netxms-api/changes/v1/objects/:object-id/floor-plan/get.md)

---

[API](https://skmtc.dev/netxms/apis/netxms-api.md) · [All operations](https://skmtc.dev/netxms/apis/netxms-api/llms.txt) · [OpenAPI document](https://skmtc.dev/netxms/apis/netxms-api/revisions/0209e896a2a0?raw)
