All root queries require
siteId to scope to your site. See multi-tenant scoping. Examples below omit siteId for brevity.building
Query buildings in your account.Signature
Arguments
| Argument | Type | Description |
|---|---|---|
siteId | String! | Required. Scopes the query to a specific site |
id | String | Filter to a specific building |
name | String | Filter by name (case-insensitive substring match by default) |
nameMatch | NameMatch | CONTAINS (default) or EXACT |
Return fields
| Field | Type | Description |
|---|---|---|
uri | String! | Full entity URI |
id | ID! | Building identifier |
name | String! | Building name |
type | String! | Brick class (always Building) |
ifcId | String | IFC model element ID that links to the BIM model |
locations | [Location!]! | Direct child locations. Accepts name, nameMatch, is, recursive filters |
equipment | [Equipment!]! | Direct equipment in this building. Accepts name, nameMatch, is, recursive filters |
zones | [Zone!]! | Direct zones. Accepts name, nameMatch, is, recursive filters |
systems | [System!]! | Direct systems. Accepts name, nameMatch, is, recursive filters |
points | [Point!]! | Direct points. Accepts name, nameMatch, is, recursive filters |
properties | [EntityProperty!]! | Static metadata as structured objects (name, value, unit) |
Examples
List all buildings:equipment
Query building equipment with semantic class resolution.Signature
Arguments
| Argument | Type | Description |
|---|---|---|
siteId | String! | Required. Scopes the query to a specific site |
id | String | Filter to a specific equipment |
name | String | Filter by equipment name (case-insensitive substring by default) |
nameMatch | NameMatch | CONTAINS (default) or EXACT |
locationId | String | Equipment at or below this location (transitive) |
locationName | String | Equipment at or below locations matching this name |
systemId | String | Equipment belonging to this system |
is | String | Brick class name (resolves all subtypes) |
hasProperty | String | Only entities with this property defined |
propertyValue | String | Exact match on the property value (requires hasProperty) |
Return fields
| Field | Type | Description |
|---|---|---|
uri | String! | Full entity URI |
id | ID! | Equipment identifier |
name | String! | Equipment name |
type | String! | Brick class (e.g., AHU, VAV, FCU) |
typeHierarchy | [String!]! | Full class hierarchy from leaf to root (e.g., ["AHU", "HVAC_Equipment", "Equipment", "Entity", "Class"]) |
ifcId | String | IFC model element ID that links to the BIM model. null if not from IFC |
points | [Point!]! | Sensors, setpoints, and commands. Accepts name, nameMatch, is filters |
parts | [Equipment!]! | Sub-components of this equipment. Accepts name, nameMatch, is filters |
partOf | Equipment | Parent equipment this is a component of |
feeds | [Equipment!]! | Equipment this one feeds. Accepts name, nameMatch, is filters |
fedBy | [Equipment!]! | Equipment that feeds this one. Accepts name, nameMatch, is filters |
upstream | [Equipment!]! | Transitive upstream traversal. Accepts maxDepth, medium, is filters |
downstream | [Equipment!]! | Transitive downstream traversal. Accepts maxDepth, medium, is filters |
location | Location | Physical location of this equipment |
systems | [System!]! | Systems this equipment belongs to |
properties | [EntityProperty!]! | Static metadata |
Examples
Find by name:is argument resolves the full Brick class hierarchy. HVAC_Equipment matches AHUs, VAVs, FCUs, pumps, fans, dampers, valves, and every HVAC subtype.
Equipment by property:
point
Query sensors, setpoints, and commands on equipment.Signature
Equipment, Zone, Location, Building, and System types (without siteId, since they are already scoped).
Arguments
| Argument | Type | Description |
|---|---|---|
siteId | String! | Required. Scopes the query to a specific site |
id | String | Filter to a specific point |
name | String | Filter by point name (case-insensitive substring by default) |
nameMatch | NameMatch | CONTAINS (default) or EXACT |
equipmentId | String | Points on this equipment |
locationId | String | Points at or below this location (transitive) |
locationName | String | Points at or below locations matching this name |
zoneId | String | Points in this zone |
systemId | String | Points on equipment in this system |
is | String | Brick class name (resolves all subtypes) |
equipmentIs | String | Filter by equipment Brick class (e.g., VAV). Combine with locationName for cross-cutting queries |
hasProperty | String | Only points 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! | Point identifier |
name | String! | Point name |
type | String! | Brick class (e.g., Zone_Air_Temperature_Sensor) |
typeHierarchy | [String!]! | Full class hierarchy from leaf to root |
unit | String | Engineering unit (DEG_C, DEG_F, PA, CFM, etc.) |
equipmentId | String! | ID of the parent equipment |
timeseriesId | String | Timeseries UUID for the timeseries REST API. null if not connected to a time series source |
writable | String | Whether the point is writable/commandable (e.g., "true" or "false"). null if writability is unknown |
valueType | String | Data type of the point’s value (e.g., "float", "boolean", "integer", "string"). null if not specified |
currentValue | PointValue | Latest reading (last 5 minutes). Returns null if no recent data. Only resolved when requested |
equipment | Equipment | The full equipment object this point belongs to |
location | Location | Physical location of this point |
properties | [EntityProperty!]! | Static metadata |
Examples
Cross-cutting query (locationName + equipmentIs + is):location
Query the spatial hierarchy (wings, floors, rooms) and find what’s on each level.Signature
location root query returns a single location by ID. For browsing the hierarchy, use locations nested on Building or Location.
Arguments
| Argument | Type | Description |
|---|---|---|
siteId | String! | Required. Scopes the query to a specific site |
locationId | String! | Required. Location identifier |
Return fields
| Field | Type | Description |
|---|---|---|
uri | String! | Full entity URI |
id | ID! | Location identifier |
name | String! | Location name |
type | String! | Brick class (Wing, Floor, Room, etc.) |
ifcId | String | IFC model element ID |
properties | [EntityProperty!]! | Static metadata (name, value, unit) |
locations | [Location!]! | Child locations. Accepts name, nameMatch, is, recursive filters |
parent | Location | Parent location |
equipment | [Equipment!]! | Equipment at this location. Accepts name, nameMatch, is, recursive filters |
points | [Point!]! | Points at this location. Accepts name, nameMatch, is, recursive filters |
zones | [Zone!]! | Zones within this location |
Examples
Browse the spatial tree:zone
Query building zones and their sensor data.Signature
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 |
ifcId | String | IFC model element ID that links to the BIM model |
locations | [Location!]! | Physical locations in this zone |
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 |
Examples
Find zones by name:system
Query logical system groupings: chilled water loops, hot water loops, air systems.Signature
Building and Equipment (without siteId, since they are already scoped).
Arguments
| Argument | Type | Description |
|---|---|---|
siteId | String! | Required. Scopes the query to a specific site |
name | String | Filter by system name (case-insensitive substring by default) |
nameMatch | NameMatch | CONTAINS (default) or EXACT |
is | String | Brick class (e.g., Chilled_Water_System) |
hasProperty | String | Only systems 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! | System identifier |
name | String! | System name |
type | String! | Brick class (e.g., Chilled_Water_System) |
ifcId | String | IFC model element ID that links to the BIM model |
equipment | [Equipment!]! | Equipment in this system. Accepts name, nameMatch, is, recursive filters |
points | [Point!]! | Points associated with the system. Accepts name, nameMatch, is, recursive filters |
properties | [EntityProperty!]! | Static metadata |
Examples
Find systems by name:entityByIfcId
Cross-reference a BIM element to the knowledge graph using its IFC GlobalId.Signature
Arguments
| Argument | Type | Description |
|---|---|---|
siteId | String! | Required. Scopes the query to a specific site |
ifcId | String! | Required. IFC GlobalId to look up |
Return type
Returns aKgEntity union (Building | Equipment | Location | Zone | System). Use inline fragments to select fields based on the returned type. Returns null when the IFC GlobalId is not mapped to any Tacit entity.
Example
Upstream and downstream traversal
Theupstream and downstream fields follow feeds chains transitively to any depth. Available on Equipment and Zone types.
Arguments
| Argument | Type | Default | Description |
|---|---|---|---|
maxDepth | Int | unlimited | Maximum hops to traverse |
medium | String | all | Filter by medium: AIR, CHILLED_WATER, HOT_WATER, CONDENSER_WATER |
is | String | all | Filter results to a Brick class (resolves subtypes) |
Return type
Both return[Equipment!]!, the list of all equipment found along the chain, filtered by the arguments.
