Discover the points of a building
const url = 'https://example.com/v1/buildings/example/points?class=brick%3AZone_Air_Temperature_Sensor&access=read&flow_direction=consumption&include=equipment%2Cgroups%2Clocations';const options = {method: 'GET', headers: {'X-Api-Key': '<X-Api-Key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://example.com/v1/buildings/example/points?class=brick%3AZone_Air_Temperature_Sensor&access=read&flow_direction=consumption&include=equipment%2Cgroups%2Clocations' \ --header 'X-Api-Key: <X-Api-Key>'The points of the building with their class, access, unit and constraints, filtered by the query. With include, also equipment, groups and locations.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Object id of the building: the register identification in dotted form, for example nl.bag.pand.0014100040022681.
The object id of the building: its register identification in dotted form, e.g. nl.bag.pand.0014100040022681.
Query Parameters
Section titled “Query Parameters”Points of this Brick class and everything beneath it, as a CURIE such as brick:Sensor. An equipment or system class selects the points of that equipment.
Points that allow at least this access.
Points with this flow direction.
Only these points. A comma-separated list (a,b) or the parameter repeated; at least one id.
Points whose metadata changed after this moment (RFC 3339).
Adds to the answer, comma-separated: equipment, groups (named asset groups, an extension) and locations (draft v2).
Responses
Section titled “Responses”The points.
Response of GET /v1/buildings/{building_id}/points.
object
Protocol version, carried by every response.
Object id of the building: the register identification in dotted form, for example nl.bag.pand.0014100040022681.
RFC 3339 timestamp.
One data source or actuator in the building (message 1).
object
Stable address of a point, for example 9b41d0aa.
Brick class.
QUDT unit; present when numeric.
object
ISO 8601 duration with exact units only (W, D, H, M, S), for example PT15M.
V2 draft: where the point is, see include=locations.
Present with include=equipment.
An asset that owns points, with optional grid connection ratings.
object
Compact IRI such as brick:Temperature_Sensor or unit:DEG_C.
V2 draft: where the equipment stands.
object
object
Compact IRI such as brick:Temperature_Sensor or unit:DEG_C.
object
Compact IRI such as brick:Temperature_Sensor or unit:DEG_C.
object
Compact IRI such as brick:Temperature_Sensor or unit:DEG_C.
object
Compact IRI such as brick:Temperature_Sensor or unit:DEG_C.
Extension, present with include=groups: named asset groups for target.group_id.
object
V2 draft, present with include=locations: the building, its levels, rooms and zones.
V2 draft: a place in the building (the building, a level, a room or a zone). Classes come from RealEstateCore, for example rec:Building, rec:Level, rec:Room, rec:Zone and rec:HVACZone.
object
Id of a location returned with include=locations (v2 draft).
RealEstateCore (rec:) or Brick location class.
The enclosing location; absent for the building itself.
Example
{ "points": [ { "access": "read", "value_type": "number", "flow_direction": "consumption" } ]}Response of GET /v1/buildings/{building_id}/points.
object
Protocol version, carried by every response.
Object id of the building: the register identification in dotted form, for example nl.bag.pand.0014100040022681.
RFC 3339 timestamp.
One data source or actuator in the building (message 1).
object
Stable address of a point, for example 9b41d0aa.
Brick class.
QUDT unit; present when numeric.
object
ISO 8601 duration with exact units only (W, D, H, M, S), for example PT15M.
V2 draft: where the point is, see include=locations.
Present with include=equipment.
An asset that owns points, with optional grid connection ratings.
object
Compact IRI such as brick:Temperature_Sensor or unit:DEG_C.
V2 draft: where the equipment stands.
object
object
Compact IRI such as brick:Temperature_Sensor or unit:DEG_C.
object
Compact IRI such as brick:Temperature_Sensor or unit:DEG_C.
object
Compact IRI such as brick:Temperature_Sensor or unit:DEG_C.
object
Compact IRI such as brick:Temperature_Sensor or unit:DEG_C.
Extension, present with include=groups: named asset groups for target.group_id.
object
V2 draft, present with include=locations: the building, its levels, rooms and zones.
V2 draft: a place in the building (the building, a level, a room or a zone). Classes come from RealEstateCore, for example rec:Building, rec:Level, rec:Room, rec:Zone and rec:HVACZone.
object
Id of a location returned with include=locations (v2 draft).
RealEstateCore (rec:) or Brick location class.
The enclosing location; absent for the building itself.
Example
{ "points": [ { "access": "read", "value_type": "number", "flow_direction": "consumption" } ]}invalid_request, or a write the backend refuses as a whole (point_not_writable, value_out_of_range, …).
Body of every 4xx and 5xx response. building_id is present when the request addressed a building.
object
Protocol version, carried by every response.
Object id of the building: the register identification in dotted form, for example nl.bag.pand.0014100040022681.
object
Invalid_request, unauthenticated, building_not_found, point_not_writable, value_out_of_range, unit_mismatch, rate_limited and upstream_unavailable come from the proposal. forbidden, point_not_found, type_mismatch, target_not_found, command_not_supported, expired, not_found and internal are extensions. Clients must accept unknown codes.
Which field caused it, for example setpoints[0].value.
ISO 8601 duration with exact units only (W, D, H, M, S), for example PT15M.
Example
{ "error": { "code": "invalid_request" }}Body of every 4xx and 5xx response. building_id is present when the request addressed a building.
object
Protocol version, carried by every response.
Object id of the building: the register identification in dotted form, for example nl.bag.pand.0014100040022681.
object
Invalid_request, unauthenticated, building_not_found, point_not_writable, value_out_of_range, unit_mismatch, rate_limited and upstream_unavailable come from the proposal. forbidden, point_not_found, type_mismatch, target_not_found, command_not_supported, expired, not_found and internal are extensions. Clients must accept unknown codes.
Which field caused it, for example setpoints[0].value.
ISO 8601 duration with exact units only (W, D, H, M, S), for example PT15M.
Example
{ "error": { "code": "invalid_request" }}unauthenticated: no or a wrong key.
Body of every 4xx and 5xx response. building_id is present when the request addressed a building.
object
Protocol version, carried by every response.
Object id of the building: the register identification in dotted form, for example nl.bag.pand.0014100040022681.
object
Invalid_request, unauthenticated, building_not_found, point_not_writable, value_out_of_range, unit_mismatch, rate_limited and upstream_unavailable come from the proposal. forbidden, point_not_found, type_mismatch, target_not_found, command_not_supported, expired, not_found and internal are extensions. Clients must accept unknown codes.
Which field caused it, for example setpoints[0].value.
ISO 8601 duration with exact units only (W, D, H, M, S), for example PT15M.
Example
{ "error": { "code": "invalid_request" }}Body of every 4xx and 5xx response. building_id is present when the request addressed a building.
object
Protocol version, carried by every response.
Object id of the building: the register identification in dotted form, for example nl.bag.pand.0014100040022681.
object
Invalid_request, unauthenticated, building_not_found, point_not_writable, value_out_of_range, unit_mismatch, rate_limited and upstream_unavailable come from the proposal. forbidden, point_not_found, type_mismatch, target_not_found, command_not_supported, expired, not_found and internal are extensions. Clients must accept unknown codes.
Which field caused it, for example setpoints[0].value.
ISO 8601 duration with exact units only (W, D, H, M, S), for example PT15M.
Example
{ "error": { "code": "invalid_request" }}forbidden: the key may not use this building.
Body of every 4xx and 5xx response. building_id is present when the request addressed a building.
object
Protocol version, carried by every response.
Object id of the building: the register identification in dotted form, for example nl.bag.pand.0014100040022681.
object
Invalid_request, unauthenticated, building_not_found, point_not_writable, value_out_of_range, unit_mismatch, rate_limited and upstream_unavailable come from the proposal. forbidden, point_not_found, type_mismatch, target_not_found, command_not_supported, expired, not_found and internal are extensions. Clients must accept unknown codes.
Which field caused it, for example setpoints[0].value.
ISO 8601 duration with exact units only (W, D, H, M, S), for example PT15M.
Example
{ "error": { "code": "invalid_request" }}Body of every 4xx and 5xx response. building_id is present when the request addressed a building.
object
Protocol version, carried by every response.
Object id of the building: the register identification in dotted form, for example nl.bag.pand.0014100040022681.
object
Invalid_request, unauthenticated, building_not_found, point_not_writable, value_out_of_range, unit_mismatch, rate_limited and upstream_unavailable come from the proposal. forbidden, point_not_found, type_mismatch, target_not_found, command_not_supported, expired, not_found and internal are extensions. Clients must accept unknown codes.
Which field caused it, for example setpoints[0].value.
ISO 8601 duration with exact units only (W, D, H, M, S), for example PT15M.
Example
{ "error": { "code": "invalid_request" }}building_not_found, or not_found for an unknown route.
Body of every 4xx and 5xx response. building_id is present when the request addressed a building.
object
Protocol version, carried by every response.
Object id of the building: the register identification in dotted form, for example nl.bag.pand.0014100040022681.
object
Invalid_request, unauthenticated, building_not_found, point_not_writable, value_out_of_range, unit_mismatch, rate_limited and upstream_unavailable come from the proposal. forbidden, point_not_found, type_mismatch, target_not_found, command_not_supported, expired, not_found and internal are extensions. Clients must accept unknown codes.
Which field caused it, for example setpoints[0].value.
ISO 8601 duration with exact units only (W, D, H, M, S), for example PT15M.
Example
{ "error": { "code": "invalid_request" }}Body of every 4xx and 5xx response. building_id is present when the request addressed a building.
object
Protocol version, carried by every response.
Object id of the building: the register identification in dotted form, for example nl.bag.pand.0014100040022681.
object
Invalid_request, unauthenticated, building_not_found, point_not_writable, value_out_of_range, unit_mismatch, rate_limited and upstream_unavailable come from the proposal. forbidden, point_not_found, type_mismatch, target_not_found, command_not_supported, expired, not_found and internal are extensions. Clients must accept unknown codes.
Which field caused it, for example setpoints[0].value.
ISO 8601 duration with exact units only (W, D, H, M, S), for example PT15M.
Example
{ "error": { "code": "invalid_request" }}upstream_unavailable: the building’s systems cannot be reached; retryable.
Body of every 4xx and 5xx response. building_id is present when the request addressed a building.
object
Protocol version, carried by every response.
Object id of the building: the register identification in dotted form, for example nl.bag.pand.0014100040022681.
object
Invalid_request, unauthenticated, building_not_found, point_not_writable, value_out_of_range, unit_mismatch, rate_limited and upstream_unavailable come from the proposal. forbidden, point_not_found, type_mismatch, target_not_found, command_not_supported, expired, not_found and internal are extensions. Clients must accept unknown codes.
Which field caused it, for example setpoints[0].value.
ISO 8601 duration with exact units only (W, D, H, M, S), for example PT15M.
Example
{ "error": { "code": "invalid_request" }}Body of every 4xx and 5xx response. building_id is present when the request addressed a building.
object
Protocol version, carried by every response.
Object id of the building: the register identification in dotted form, for example nl.bag.pand.0014100040022681.
object
Invalid_request, unauthenticated, building_not_found, point_not_writable, value_out_of_range, unit_mismatch, rate_limited and upstream_unavailable come from the proposal. forbidden, point_not_found, type_mismatch, target_not_found, command_not_supported, expired, not_found and internal are extensions. Clients must accept unknown codes.
Which field caused it, for example setpoints[0].value.
ISO 8601 duration with exact units only (W, D, H, M, S), for example PT15M.
Example
{ "error": { "code": "invalid_request" }}