Sites
Model physical locations and the devices deployed there.
A Site is a physical location: an address with coordinates that groups the devices deployed there. A Site is one kind of Place (the other is a Fleet). Inside a Site you build a tree of levels (for example Site → Building → Floor → Room), and each device can sit at a specific level.
You can see all the sites in your organization and open any one to view its details: its metadata, alerts, location, device metrics, and level structure. From a site you add devices, manage monitors, edit or delete the site, and download aggregate data over a time range.

Configuration
Site fields
Used when creating or editing a site.
| Field | Type | Required | Notes |
|---|---|---|---|
| Site name | string | Yes | Must be non-empty |
| Address | string | Yes | Must be non-empty |
| Latitude | number | Yes | -90 to 90 |
| Longitude | number | Yes | -180 to 180 |
| Displayed metrics | ordered list of metric ids | No | Metrics shown on the site dashboard |
Creating a site provisions its data infrastructure automatically, then opens the new site.
Levels
Levels give a site internal structure. Each level has a type and a parent, forming a tree under a root level.
| Field | Type | Required | Notes |
|---|---|---|---|
| Level type | select | Yes | From the site's defined level types; fixed once created |
| Level name | string | Yes | |
| Parent level | select | Yes (on create) | Limited to valid parent types for the chosen type |
| Description | string | No | |
| Address | string | No | |
| Latitude / Longitude / Altitude | number | No | |
| Attributes | key/value pairs | No |
You can move a level to a new parent (limited to valid parent types for its type).
Adding devices
Add a device to a site from its detail page. When the Place is a site, the device requires a level. There's no separate "assign an existing device" step: a device's site is its Place.
Finding sites
Search matches a site's name or id.
States
A site has no status, health, or occupancy state. There's no lifecycle field and no health rollup.
Deleting a site or level
Deleting first checks for dependent resources. If any exist, you confirm a force delete that also removes them.
Metrics summary
The data summary shows whatever metrics are in the site's displayed metrics list, each over
the selected time range. A Last-aggregation metric shows the latest reading across all
devices on the site.
API
Send your API key in the X-Api-Key header. A read scope covers reads; write covers
create, update, and delete. Force delete requires an admin scope. Site and level ids are
plain GUIDs, with no prefix.
Sites
| Method | Path | Purpose | Scope |
|---|---|---|---|
GET | /v2/sites | List sites (paginated) | read |
GET | /v2/sites/{placeId} | Get one site | read |
POST | /v2/sites | Create a site | write |
PUT | /v2/sites/{placeId} | Update a site | write |
DELETE | /v2/sites/{placeId} | Soft-delete a site | write |
GET | /v2/sites/{placeId}/delete-preview | List what a force delete would remove | write |
DELETE | /v2/sites/{placeId}/force | Force-delete, cascading dependents | admin |
Devices on a site come from the Thing endpoints (see Devices):
GET /v2/sites/{placeId}/things.