---
title: "Download room model (GLB)"
method: GET
path: "/projects/{projectId}/rooms/{roomId}/model.glb"
tags: ["Rooms"]
---

# Download room model (GLB)

`GET /projects/{projectId}/rooms/{roomId}/model.glb`

## Request

- Base URL: `https://api3.autarc.energy/v1`
- URL: `https://api3.autarc.energy/v1/projects/{projectId}/rooms/{roomId}/model.glb`
- Auth: API key in header `X-Api-Key`

The room's newest 3D geometry as a glTF 2.0 binary (`.glb`), generated on
request from the room's surfaces and objects. The geometry comes from a
LiDAR room scan (Apple RoomPlan) or from a room drawn in the floor-plan
editor; `extras.autarc.source` on the document says which (`lidar` or
`drawn`).

The model is the same parametric ("boxy") room the Autarc Pro editor shows
and exports: one box per wall, floor, door, window, opening and detected
object (radiators), placed exactly as the editor draws it, including edits
made there. It is **not** a scanned mesh or point cloud.

Coordinate system: metres, Y up, right-handed (Apple RoomPlan / ARKit,
identical to glTF). The model is the room on its own, floor at y = 0, like
the single-room editor; the root node's `extras.autarc.floorPlanPlacement`
(position, yaw) says where it sits on the project's floor plan, for
assembling a storey. Each child node is one surface or object and carries its metadata in
`extras.autarc` (`kind`, `id`, `surfaceType` — wall, floor, door, window,
opening — `parentSurfaceId`, `wallAdjoins`, `isKneeWall`, `isDoorOpen`,
recorded `width`/`height`/`depth`; for objects `category`, `radiatorType`,
`confidence`, `numberOfSections`, `numberOfColumns`). The document's
`extras.autarc` names the `roomScanId`, `roomId`, `projectId`, `source`,
`geometry` (`parametric`; a scanned-mesh export would use another value)
and the geometry's last update time.

Rooms that have a model advertise it in the `model` field of the room
resources (`GET /projects/{projectId}/rooms`), so integrators do not need
to probe for 404s. The file opens in any glTF viewer (Blender, three.js,
Windows 3D Viewer, macOS Quick Look) and converts to OBJ, USDZ or IFC with
standard tooling. Responses are not cacheable: the model changes with
every editor save.

## Path parameters

- `projectId` string, required
- `roomId` string, required

## Response `200`

glTF 2.0 binary of the room's newest geometry

## Other responses

- `404`: The specified resource was not found

---

[API](https://skmtc.dev/autarc/apis/autarc-2-0-api.md) - [All operations](https://skmtc.dev/autarc/apis/autarc-2-0-api/llms.txt) - [OpenAPI document](https://skmtc.dev/autarc/apis/autarc-2-0-api/revisions/adfb20a40efc?raw)
