Skip to main content
A project is the top-level container for a real-estate development. It groups units and stores shared metadata (location, price band, amenities).

List projects

Scope: projects:read. Paginated.

Query parameters

Response 200

Paginated data[]. Each item includes a unitCount derived field.

Create a project

Scope: projects:write.

Request body

Only name is required. You can include an optional units[] array to create initial units in the same call.
status: draft | published | archived (default draft).

Response 201

Webhook side effects

A project.created event is dispatched. If units[] was provided, a unit.created event also fires for each unit.

Get a project

Scope: projects:read. Includes the embedded units[] array with each unit’s id, name, type, price, area, status, and timestamps.

Update a project

Scope: projects:write. All fields optional, must provide at least one.

Webhook side effects

A project.updated event is dispatched.

Delete a project

Scope: projects:write.
Deleting a project also deletes all its units. This is irreversible.

Response 200

Webhook side effects

A project.deleted event is dispatched.