Change the fallback policy
const url = 'https://example.com/v1/buildings/example/fallback-policy';const options = { method: 'PATCH', headers: {'X-Api-Key': '<X-Api-Key>', 'Content-Type': 'application/json'}, body: '{"enabled":true,"timeout":"example","policies":[{"point_id":"example","fallback_value":1}],"idempotency_key":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://example.com/v1/buildings/example/fallback-policy \ --header 'Content-Type: application/json' \ --header 'X-Api-Key: <X-Api-Key>' \ --data '{ "enabled": true, "timeout": "example", "policies": [ { "point_id": "example", "fallback_value": 1 } ], "idempotency_key": "example" }'Merges into the stored policy: what the building does with a point when its setpoints stop coming. Omitted fields stay; fallback_value: null clears a point.
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.
Request Bodyrequired
Section titled “Request Bodyrequired”Request of PATCH /v1/buildings/{building_id}/fallback-policy. Merges into the stored policy; omitted fields are left alone and fallback_value null clears a point.
object
ISO 8601 duration with exact units only (W, D, H, M, S), for example PT15M.
object
Stable address of a point, for example 9b41d0aa.
Lets the consumer retry safely: the same key returns the same receipt.
Example generated
{ "enabled": true, "timeout": "example", "policies": [ { "point_id": "example", "fallback_value": 1 } ], "idempotency_key": "example"}Responses
Section titled “Responses”Received.
202 response of every write. Confirms receipt, not execution.
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.
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.
Stable address of a point, for example 9b41d0aa.
Exactly one of asset_class and group_id.
object
Compact IRI such as brick:Temperature_Sensor or unit:DEG_C.
Exactly one of asset_class and group_id.
object
Compact IRI such as brick:Temperature_Sensor or unit:DEG_C.
Extension: the individual asset that failed a building-level command.
ISO 8601 duration with exact units only (W, D, H, M, S), for example PT15M.
Example
{ "status": "accepted", "rejected": [ { "code": "invalid_request" } ]}202 response of every write. Confirms receipt, not execution.
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.
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.
Stable address of a point, for example 9b41d0aa.
Exactly one of asset_class and group_id.
object
Compact IRI such as brick:Temperature_Sensor or unit:DEG_C.
Exactly one of asset_class and group_id.
object
Compact IRI such as brick:Temperature_Sensor or unit:DEG_C.
Extension: the individual asset that failed a building-level command.
ISO 8601 duration with exact units only (W, D, H, M, S), for example PT15M.
Example
{ "status": "accepted", "rejected": [ { "code": "invalid_request" } ]}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" }}rate_limited; retry_after says when to try again.
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" }}