Query signature
zone(
siteId: String!,
id: String,
name: String,
nameMatch: NameMatch,
locationId: String,
is: String,
hasProperty: String,
propertyValue: String
): [Zone!]!
Arguments
| Argument | Type | Description |
|---|
siteId | String! | Required. Scopes the query to a specific site |
id | String | Filter to a specific zone |
name | String | Filter by zone name. Case-insensitive substring by default |
nameMatch | NameMatch | CONTAINS (default) or EXACT |
locationId | String | Zones at or below this location (transitive) |
is | String | Brick class (e.g., HVAC_Zone) |
hasProperty | String | Only zones with this property defined |
propertyValue | String | Exact match on property value (requires hasProperty) |
Return fields
| Field | Type | Description |
|---|
uri | String! | Full entity URI |
id | ID! | Zone identifier |
name | String! | Zone name |
type | String! | Brick class |
typeHierarchy | [String!]! | Full class hierarchy from leaf to root (e.g., ["HVAC_Zone", "Zone"]) |
ifcId | String | IFC model element ID. Links to the BIM model |
locations | [Location!]! | Physical locations in this zone (no filter args, returns all locations) |
fedBy | [Equipment!]! | Equipment that feeds this zone. Accepts name, nameMatch, is filters |
upstream | [Equipment!]! | Transitive upstream equipment chain. Accepts maxDepth, medium, is filters |
points | [Point!]! | Sensors in this zone. Accepts name, nameMatch, is filters |
properties | [EntityProperty!]! | Static metadata as structured objects (name, value, unit) |
Examples
Find zones by name
{
zone(name: "Library") {
name
type
locations { name }
fedBy { name type }
}
}
Zones with their feeding equipment
{
zone(is: "HVAC_Zone") {
name
fedBy(is: "VAV") {
name
type
}
}
}
Zone temperature sensors
{
zone(name: "Lobby") {
name
type
points(is: "Zone_Air_Temperature_Sensor") {
name
type
unit
}
}
}
Filter zones by property
{
zone(hasProperty: "designOccupancy") {
name
type
properties { name value unit }
}
}
Use hasProperty alone to find zones that have a specific property defined. Add propertyValue for exact value matching.
Upstream trace from a zone
Find the full equipment chain feeding a zone:
{
zone(name: "Research Hub", nameMatch: EXACT) {
name
upstream {
name
type
}
}
}
This traces back from the zone through VAVs, AHUs, and plant equipment, returning the entire supply chain in one query.
Filter upstream by equipment type
Only return VAVs in the upstream chain:
{
zone(name: "Research Hub", nameMatch: EXACT) {
name
upstream(is: "VAV") {
name
type
}
}
}
Zone locations
See which physical spaces a zone covers:
{
zone(name: "Lobby") {
name
locations {
name
type
}
}
}
Zone.locations returns all locations in the zone without filter arguments. Unlike Building.locations, it does not support name, nameMatch, is, or recursive parameters.