Skip to main content
A building model is one JSON document. It describes the building with numbers and ids, not with meshes. Your app, your server and an AI agent can all read it and write it.

Structure

A model contains buildings. A building contains storeys. A storey contains the elements. A building can also have a mass. A mass is the building as a simple volume, for the early stage of a design. See Model a mass.

A small model

The header fields

Rules that keep a model valid

  • Each id is unique. You choose the ids and Floorkit keeps them.
  • A wall is a line of [x, z] points. For a closed room, set closed: true. Do not repeat the first point.
  • A door or a window is an entry in the openings of its wall. Its offset is the distance from the first wall point, along the wall.
  • The elevation of a storey is its height in the world. The elements of the storey use offsets from that height.

Check a model

validateBuildingModel reads a document and returns each problem with a path, a code and a message. It does not need the geometry kernel, so you can also run it on a server.
This check makes the model a good target for an AI agent. The agent writes the document. If the check finds a problem, give the path and the message back to the agent and let it correct the document.

What is not in the model

  • Meshes and other geometry. Floorkit builds them from the model.
  • Views and sheets. They are in the project file, next to the model.
  • Undo history. It belongs to the session.

Agent proposals

Use the agent building workflow to turn unknown JSON into an editable project. Preserve IDs and return validation issues to the agent. A valid document can still fail during geometry construction; keep the existing project until its replacement builds. The TypeScript contract is not a downloadable JSON Schema or an LLM tool definition. Your app supplies its AI provider and tool inputs. Build with agents explains the documentation and application boundaries.

Next

Coordinates and units

Learn where each number is measured from.

Model types

See each field of the document.
Last modified on October 12, 2026