{"info": {"description": "Onboard Data's building sensor data API. Resources are grouped by their API scope and can be accessed by an API key with matching permissions.", "title": "OnboardData", "version": "1.1.0"}, "securityDefinitions": {"onboardLogin": {"type": "oauth2", "flow": "password", "description": "Enter a username and password to authenticate", "tokenUrl": "/login", "scopes": {}}, "onboardApiKey": {"type": "apiKey", "name": "X-OB-Api", "in": "header", "description": "Provide an API key to authenticate"}, "onboardToken": {"type": "apiKey", "name": "Authorization", "in": "header", "description": "Manual JWT input. Accepts 'Bearer ' plus a valid access token"}}, "tags": [{"name": "general", "description": "Data which is not tied to a specific building"}, {"name": "auth", "description": "Login, logout and account management"}, {"name": "buildings:read", "description": "Read operations on buildings, equipment, points and timeseries data"}, {"name": "buildings:write", "description": "Operations which modify buildings, equipment or points"}, {"name": "buildings:monitor", "description": "Monitoring of and alerting on building data quality"}, {"name": "ingest", "description": "Operations used by data ingest & processing"}, {"name": "collection", "description": "Data collection and site deployment"}, {"name": "collection:admin", "description": "Configure and monitor deployments"}, {"name": "rtem", "description": "Real Time Energy Management"}, {"name": "admin", "description": "Administrative operations"}, {"name": "staging", "description": "Pre-production building data scratchpad"}, {"name": "ui", "description": "Operations used exclusively by the UI"}], "swagger": "2.0", "basePath": "/", "paths": {"/": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Returns a code 200 if the API is up", "tags": ["general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/alerts": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve active alerts", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Mute or un-mute an active alert", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/organizations/{org_id}": {"parameters": [{"name": "org_id", "in": "path", "required": true, "type": "string"}], "patch": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Modify an organization", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/organizations": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve organizations the current user has access to", "tags": ["general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Create a new organization", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/organizations/{org_id}/user-report": {"parameters": [{"name": "org_id", "in": "path", "required": true, "type": "string"}], "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Generate and email an org user accounts report", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/roles/{role_id}": {"parameters": [{"name": "role_id", "in": "path", "required": true, "type": "string"}], "patch": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Edit an existing role", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/roles": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve roles - results vary based on auth level of calling user", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Create a new role", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/roles/{role_id}/permissions": {"parameters": [{"name": "role_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve a role's permissions", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Update a role's permissions", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/roles/types": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve role types", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/scopes": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieves all valid API key scope values", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/api-versions": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieves all valid API versions", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/users": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve users. Returns all users in an organization for org admins", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Create a new user", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/users/{user_id}": {"parameters": [{"name": "user_id", "in": "path", "required": true, "type": "string"}], "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Modify an existing user", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/account-actions": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve actions taken by or affecting the current user", "tags": ["auth"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/account-actions/types": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve the types of actions that can occur", "tags": ["auth", "general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/account-actions/query": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "ActionsQuerySchema", "in": "body", "required": true, "schema": {"type": "object", "title": "ActionsQuerySchema", "properties": {"actor": {"type": "integer", "title": "Actor", "description": "user id who took or was affected by the action"}, "action": {"type": "string", "title": "Action", "description": "action type"}, "target_type": {"type": "string", "title": "Target Type", "description": "action's target type"}, "target_id": {"type": "integer", "title": "Target Id", "description": "action's target's id"}, "limit": {"type": "integer", "title": "Limit", "description": "maximum number of results to return"}, "org_id": {"type": "integer", "title": "Org Id", "description": "action's affected organization"}}}}], "summary": "Query the action log by actor, action or target", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/api-keys/{hash}": {"parameters": [{"name": "hash", "in": "path", "required": true, "type": "string"}], "delete": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Permanently delete a key", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "patch": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Change a key's name, granted scopes or active status", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/api-keys": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve the current user's API keys", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Create a new API key", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/login/api-key": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "ApiKeyLogin", "in": "body", "required": true, "schema": {"type": "object", "title": "ApiKeyLogin", "properties": {"key": {"type": "string", "title": "Key", "description": "Onboard API Key"}}, "required": ["key"]}}], "summary": "Exchange an API key for a user login token", "tags": ["auth"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/mfa/totp/{name}": {"parameters": [{"name": "name", "in": "path", "required": true, "type": "string"}], "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Create a new MFA time-based one-time password device", "tags": ["auth"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "put": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "TotpChallengeSchema", "in": "body", "required": true, "schema": {"type": "object", "title": "TotpChallengeSchema", "properties": {"otp": {"type": "string", "title": "Otp", "description": "one time password"}}, "required": ["otp"]}}], "summary": "Confirm a newly created MFA time-based one-time password device", "tags": ["auth"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "delete": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Remove an MFA time-based one-time password device", "tags": ["auth"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/mfa/totp": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve all MFA time-based one-time password devices for the current user", "tags": ["auth"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/mfa/fido2/{key}": {"parameters": [{"name": "key", "in": "path", "required": true, "type": "string"}], "delete": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Remove a FIDO2 device", "tags": ["auth"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/mfa/fido2": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve all FIDO2 devices for the current user", "tags": ["auth"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Begin enrollment of a new FIDO2 device", "tags": ["auth"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "put": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Complete enrollment of a FIDO2 device", "tags": ["auth"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/mfa/fido2/{user_id}/{key}": {"parameters": [{"name": "user_id", "in": "path", "required": true, "type": "string"}, {"name": "key", "in": "path", "required": true, "type": "string"}], "delete": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Remove a user's FIDO2 device", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/mfa/totp/{user_id}/{name}": {"parameters": [{"name": "user_id", "in": "path", "required": true, "type": "string"}, {"name": "name", "in": "path", "required": true, "type": "string"}], "delete": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Remove a user's time-based on-time password device", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/login": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Exchange username & password for a user login token", "tags": ["auth"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/login/totp": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "TotpChallengeSchema", "in": "body", "required": true, "schema": {"type": "object", "title": "TotpChallengeSchema", "properties": {"otp": {"type": "string", "title": "Otp", "description": "one time password"}}, "required": ["otp"]}}], "summary": "Complete authentication by providing the correct time-based one-time password", "tags": ["auth"], "security": [{}]}}, "/login/fido2": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Request a FIDO2 challenge to complete authentication", "tags": ["auth"], "security": [{}]}, "put": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Complete authentication by responding to a FIDO2 challenge", "tags": ["auth"], "security": [{}]}}, "/whoami": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Returns the active user's information", "tags": ["auth", "general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/logout": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Invalidate the currently active login token", "tags": ["auth"], "security": [{"onboardToken": []}]}}, "/password-reset/{email}/{token}": {"parameters": [{"name": "email", "in": "path", "required": true, "type": "string"}, {"name": "token", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Returns a 200 status code if there is an active password reset request", "tags": ["auth"], "security": [{}]}, "put": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "PwResetBodySchema", "in": "body", "required": true, "schema": {"type": "object", "title": "PwResetBodySchema", "properties": {"password": {"type": "string", "title": "Password", "description": "new password value", "minLength": 8}}, "required": ["password"]}}], "summary": "Reset the password of given user", "tags": ["auth"], "security": [{}]}}, "/password-reset/{email}": {"parameters": [{"name": "email", "in": "path", "required": true, "type": "string"}], "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "type", "in": "query", "required": false, "description": "Type of account recovery email", "type": "string", "default": "SELF", "enum": ["SELF", "WELCOME"]}, {"name": "variant", "in": "query", "required": false, "description": "Source of reset request", "type": "string", "default": "portal", "enum": ["portal", "nyserda", "sandbox", "hackathon"]}], "summary": "Request to reset a password for a given email - emails the token.", "tags": ["auth"], "security": [{}]}}, "/buildings/{bldg_id}": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "information about a building", "schema": {"type": "object", "title": "BuildingData", "properties": {"id": {"type": "integer", "title": "Id", "description": "onboard building id"}, "org_id": {"type": "integer", "title": "Org Id", "description": "building's organization id"}, "name": {"type": "string", "title": "Name"}, "address": {"type": "string", "title": "Address"}, "equip_count": {"type": "integer", "title": "Equip Count"}, "point_count": {"type": "integer", "title": "Point Count"}}, "required": ["id", "org_id", "name", "address", "equip_count", "point_count"]}}}, "produces": ["application/json"], "summary": "Retrieve a building by id", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "delete": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Remove a building from the system. This cannot be undone!", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "patch": {"responses": {"200": {"description": "information about a building", "schema": {"type": "object", "title": "BuildingData", "properties": {"id": {"type": "integer", "title": "Id", "description": "onboard building id"}, "org_id": {"type": "integer", "title": "Org Id", "description": "building's organization id"}, "name": {"type": "string", "title": "Name"}, "address": {"type": "string", "title": "Address"}, "equip_count": {"type": "integer", "title": "Equip Count"}, "point_count": {"type": "integer", "title": "Point Count"}}, "required": ["id", "org_id", "name", "address", "equip_count", "point_count"]}}}, "produces": ["application/json"], "summary": "Edit a property of a building", "tags": ["admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/buildings": {"get": {"responses": {"200": {"description": "list of all authorized buildings", "schema": {"type": "array", "title": "BuildingDataList", "items": {"type": "object", "title": "Building", "properties": {"id": {"type": "integer", "title": "Id", "description": "onboard building id"}, "org_id": {"type": "integer", "title": "Org Id", "description": "building's organization id"}, "name": {"type": "string", "title": "Name"}, "address": {"type": "string", "title": "Address"}, "equip_count": {"type": "integer", "title": "Equip Count"}, "point_count": {"type": "integer", "title": "Point Count"}}, "required": ["id", "org_id", "name", "address", "equip_count", "point_count"]}}}}, "produces": ["application/json"], "summary": "Retrieve all buildings", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Create a new building with no equipment", "tags": ["buildings:write"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/buildings/{bldg_id}/changelog": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve a building's metadata changelog", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/buildings/changelogs": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve metadata changelogs for several buildings at once", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/buildings/{bldg_id}/location/{location_name}": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}, {"name": "location_name", "in": "path", "required": true, "type": "string"}], "post": {"responses": {"200": {"description": "building location"}}, "produces": ["application/json"], "parameters": [{"name": "location_name", "in": "path", "required": true, "description": "Name for the new location", "type": "string", "example": "Boiler Room", "pattern": "^[a-zA-Z0-9.+#: _,()&\"'\\\\-]+$"}, {"name": "type", "in": "query", "required": true, "description": "Type of the location", "type": "string", "example": "ROOM", "enum": ["ROOM", "CORRIDOR", "STAIRWELL", "FLOOR"]}], "summary": "Create location in a building", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "delete": {"responses": {"200": {"description": "building locations"}}, "produces": ["application/json"], "summary": "Delete a single location in a building by name", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/buildings/{bldg_id}/location": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "building locations"}}, "produces": ["application/json"], "summary": "Retrieve locations in a building", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "patch": {"responses": {"200": {"description": "building location"}}, "produces": ["application/json"], "parameters": [{"name": "LocationUpdateListSchema", "in": "body", "required": true, "schema": {"type": "array", "title": "LocationUpdateListSchema", "items": {"type": "object", "title": "List", "properties": {"name": {"type": "string", "title": "Name", "description": "Location Name", "example": "Mechanical Room"}, "new_name": {"type": "string", "title": "New Name", "description": "New name for the location, if present", "example": "Boiler Room", "pattern": "^[a-zA-Z0-9.+#: _,()&\"'\\\\-]+$"}}, "required": ["name"]}}}], "summary": "Bulk update locations in a building", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/buildings/{bldg_id}/link/{type}/{source_name}/{target_name}": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}, {"name": "type", "in": "path", "required": true, "type": "string"}, {"name": "source_name", "in": "path", "required": true, "type": "string"}, {"name": "target_name", "in": "path", "required": true, "type": "string"}]}, "/buildings/{bldg_id}/link/{type}": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}, {"name": "type", "in": "path", "required": true, "type": "string"}], "post": {"responses": {"200": {"description": "building location"}}, "produces": ["application/json"], "parameters": [{"name": "SequenceSchema", "in": "body", "required": true, "schema": {"type": "array", "title": "SequenceSchema", "items": {"type": "object", "properties": {"source_name": {"type": "string", "title": "Source Name", "description": "Name of the source location", "example": "CORRIDOR 3A"}, "target_name": {"type": "string", "title": "Target Name", "description": "Name of the target location or equipment", "example": "ROOM 3A-221"}}, "required": ["source_name", "target_name"]}}}, {"name": "type", "in": "path", "required": true, "description": "Type of the location link", "type": "string", "example": "CONTAINS", "enum": ["FEEDS", "CONTAINS"]}], "summary": "Create a relationship between a location and an equipment or another location", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "delete": {"responses": {"200": {"description": "building location"}}, "produces": ["application/json"], "parameters": [{"name": "SequenceSchema", "in": "body", "required": true, "schema": {"type": "array", "title": "SequenceSchema", "items": {"type": "object", "properties": {"source_name": {"type": "string", "title": "Source Name", "description": "Name of the source location", "example": "CORRIDOR 3A"}, "target_name": {"type": "string", "title": "Target Name", "description": "Name of the target location or equipment", "example": "ROOM 3A-221"}}, "required": ["source_name", "target_name"]}}}, {"name": "type", "in": "path", "required": true, "description": "Type of the location link", "type": "string", "example": "CONTAINS", "enum": ["FEEDS", "CONTAINS"]}], "summary": "Delete a relationship between a location and an equipment or another location", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/data-alerts/{alertId}": {"parameters": [{"name": "alertId", "in": "path", "required": true, "type": "string"}], "put": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Update an existing building data alert", "tags": ["buildings:monitor"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "delete": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Delete a building data alert", "tags": ["buildings:monitor"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/data-alerts": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Fetch all building data alerts", "tags": ["buildings:monitor"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Create a new building data alert", "tags": ["buildings:monitor"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/data-alerts/{alertId}/actions/{actionId}": {"parameters": [{"name": "alertId", "in": "path", "required": true, "type": "string"}, {"name": "actionId", "in": "path", "required": true, "type": "string"}], "put": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Update an existing building data alert action", "tags": ["buildings:monitor"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "delete": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Delete a building data alert action", "tags": ["buildings:monitor"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/data-alerts/{alertId}/actions": {"parameters": [{"name": "alertId", "in": "path", "required": true, "type": "string"}], "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Create a new building data alert action", "tags": ["buildings:monitor"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/building-fields": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Update informational fields on buildings via a CSV", "tags": ["buildings:write"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment/data/upload": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Request a presigned upload Url and fields to allow upload of a data file", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment/topics": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve all active topics for the site", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment/devices": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve bacnet metadata from the staging area", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Add metadata to the staging area", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment/points": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve bacnet metadata from the staging area", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Add metadata to the staging area", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment/modbus/{ip}:{port}/{unit}": {"parameters": [{"name": "ip}", "in": "path", "required": true, "type": "string", "pattern": "{port"}, {"name": "unit", "in": "path", "required": true, "type": "string"}], "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "site", "in": "query", "required": true, "description": "Deployment site id", "type": "string", "example": "onboard/laboratory"}, {"name": "ip", "in": "path", "required": true, "description": "Modbus Device IP", "type": "string", "example": "10.10.10.10"}, {"name": "port", "in": "path", "required": false, "description": "Modbus Device Port", "type": "integer", "default": 502, "example": 502}, {"name": "unit", "in": "path", "required": false, "description": "Modbus Device Unit", "type": "integer", "default": 1, "example": 1}, {"name": "ModbusDeploymentUpdate", "in": "body", "required": true, "schema": {"type": "object", "title": "ModbusDeploymentUpdate", "properties": {"building_id": {"type": "integer", "title": "Building Id", "description": "Onboard building id", "example": 1}, "template_id": {"type": "integer", "title": "Template Id", "description": "Modbus Device Id", "example": 1, "enum": [2, 3, 4]}, "name": {"type": "string", "title": "Name", "description": "Name of the new device", "example": "EM-5283", "pattern": "^[a-zA-Z0-9.+#: _,()&\"'\\\\-]+$"}, "timestamp": {"type": "string", "title": "Timestamp", "description": "Time of modbus validation", "example": "2023-04-27T20:37:13.808354+00:00", "format": "date-time"}, "present_values": {"type": "object", "title": "Present Values", "description": "Map of register to present value of register", "example": {"1283": 73, "1284": false}, "additionalProperties": {}}}, "required": ["template_id", "name", "timestamp", "present_values"]}}], "summary": "Add modbus metadata to the staging area", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment/modbus": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve all modbus entries for deployment", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve a list of all deployments", "tags": ["collection:admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Create or edit a deployment", "tags": ["collection:admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "patch": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "site", "in": "query", "required": true, "description": "Deployment site id", "type": "string", "example": "onboard/laboratory"}, {"name": "DeploymentUpdateSchema", "in": "body", "required": true, "schema": {"type": "object", "title": "DeploymentUpdateSchema", "properties": {"name": {"type": "string", "title": "Name", "description": "New name for deployment", "example": "Onboard Laboratory", "pattern": "^[a-zA-Z0-9_/ -]+$"}}, "required": ["name"]}}], "summary": "Edit a deployment", "tags": ["collection:admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment/heartbeat": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve all deployment heartbeats", "tags": ["collection:admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Record a deployment heartbeat", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment/code/versions": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve all deployment code versions", "tags": ["collection:admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment/collector": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "site", "in": "query", "required": true, "description": "Site to update", "type": "string"}], "summary": "Create collector configuration", "tags": ["collection:admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "patch": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "site", "in": "query", "required": true, "description": "Site to update", "type": "string"}, {"name": "collector_id", "in": "query", "required": true, "description": "ID of collector to update", "type": "integer"}], "summary": "Edit collector configuration", "tags": ["collection:admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment/config": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "site", "in": "query", "required": true, "description": "Deployment site id", "type": "string", "example": "onboard/laboratory"}], "summary": "Retrieve the deployment config for a site", "tags": ["collection:admin", "collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Create or edit site configuration", "tags": ["collection:admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment/buildings": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Associate buildings with a deployment", "tags": ["collection:admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment/device/modbus": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "site", "in": "query", "required": true, "description": "Deployment site id", "type": "string", "example": "onboard/laboratory"}], "summary": "Lists deployment modbus devices", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "site", "in": "query", "required": true, "description": "Deployment site id", "type": "string", "example": "onboard/laboratory"}, {"name": "NewModbusBodySchema", "in": "body", "required": true, "schema": {"type": "object", "title": "NewModbusBodySchema", "properties": {"building_id": {"type": "integer", "title": "Building Id", "description": "Onboard building id", "example": 1}, "ip": {"type": "string", "title": "Ip", "description": "Modbus Device IP", "example": "10.10.10.10"}, "port": {"type": "integer", "title": "Port", "description": "Modbus Device Port", "default": 502, "example": 502}, "unit": {"type": "integer", "title": "Unit", "description": "Modbus Device Unit", "default": 1, "example": 1}, "template_id": {"type": "integer", "title": "Template Id", "description": "Modbus Device Id", "example": 1, "enum": [2, 3, 4]}, "poll_freq": {"type": "integer", "title": "Poll Freq", "description": "Frequency to poll for telemetry, in seconds", "default": 60, "example": "300"}}, "required": ["ip", "template_id"]}}], "summary": "Prepares deployment of a new modbus device", "tags": ["collection:admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "delete": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "ip", "in": "query", "required": true, "description": "Modbus Device IP", "type": "string", "example": "10.10.10.10"}, {"name": "port", "in": "query", "required": false, "description": "Modbus Device Port", "type": "integer", "default": 502, "example": 502}, {"name": "unit", "in": "query", "required": false, "description": "Modbus Device Unit", "type": "integer", "default": 1, "example": 1}, {"name": "site", "in": "query", "required": true, "description": "Deployment site id", "type": "string", "example": "onboard/laboratory"}], "summary": "Deletes a failed modbus deployment", "tags": ["collection:admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "patch": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "ip", "in": "query", "required": true, "description": "Modbus Device IP", "type": "string", "example": "10.10.10.10"}, {"name": "port", "in": "query", "required": false, "description": "Modbus Device Port", "type": "integer", "default": 502, "example": 502}, {"name": "unit", "in": "query", "required": false, "description": "Modbus Device Unit", "type": "integer", "default": 1, "example": 1}, {"name": "site", "in": "query", "required": true, "description": "Deployment site id", "type": "string", "example": "onboard/laboratory"}, {"name": "ModbusStatusUpdate", "in": "body", "required": true, "schema": {"type": "object", "title": "ModbusStatusUpdate", "properties": {"status": {"type": "string", "title": "Status", "description": "New Modbus Status", "example": 1, "enum": ["NEW", "IN_PROGRESS", "FAILED", "SUCCESS"]}}, "required": ["status"]}}], "summary": "Update status for a modbus device deployment", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment/bacnet/discover": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "site", "in": "query", "required": true, "description": "Deployment site id", "type": "string", "example": "onboard/laboratory"}], "summary": "Lists bacnet discovery requests", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "site", "in": "query", "required": true, "description": "Deployment site id", "type": "string", "example": "onboard/laboratory"}, {"name": "NewBacnetDiscoveryBodySchema", "in": "body", "required": true, "schema": {"type": "object", "title": "NewBacnetDiscoveryBodySchema", "properties": {"building_id": {"type": "integer", "title": "Building Id", "description": "Onboard building id", "example": 1}, "port": {"type": "integer", "title": "Port", "description": "Modbus Device Port", "example": 47808}, "min_device_id": {"type": "integer", "title": "Min Device Id", "description": "Starting device id"}, "max_device_id": {"type": "integer", "title": "Max Device Id", "description": "Ending device id"}}, "required": ["port"]}}], "summary": "Prepares discovery of bacnet device(s)", "tags": ["collection:admin"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "patch": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "site", "in": "query", "required": true, "description": "Deployment site id", "type": "string", "example": "onboard/laboratory"}, {"name": "port", "in": "query", "required": true, "description": "Modbus Device Port", "type": "integer", "example": 47808}, {"name": "BacnetDiscoveryStatusUpdate", "in": "body", "required": true, "schema": {"type": "object", "title": "BacnetDiscoveryStatusUpdate", "properties": {"status": {"type": "string", "title": "Status", "description": "Bacnet Discovery Status", "enum": ["NEW", "IN_PROGRESS", "FAILED", "SUCCESS"]}, "results": {"type": "object", "title": "Results", "default": {}, "example": {}, "additionalProperties": {}}}, "required": ["status"]}}], "summary": "Update status for a modbus device deployment", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment/work": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "site", "in": "query", "required": true, "description": "Deployment site id", "type": "string", "example": "onboard/laboratory"}, {"name": "include_complete", "in": "query", "required": false, "description": "Include completed work for deployment", "type": "boolean", "default": false, "example": false}], "summary": "Lists work for the given site", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "patch": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "site", "in": "query", "required": true, "description": "Deployment site id", "type": "string", "example": "onboard/laboratory"}, {"name": "work_id", "in": "query", "required": true, "description": "Work id to register as complete", "type": "integer", "example": 1}, {"name": "StrictMappingSchema", "in": "body", "required": true, "schema": {"type": "object", "title": "StrictMappingSchema"}}], "summary": "Update status for a modbus device deployment", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/deployment/logs": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/labels/{label_name}": {"parameters": [{"name": "label_name", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "label definition", "schema": {"type": "object", "title": "CustomLabel", "properties": {"org_id": {"type": "integer", "title": "Org Id", "description": "organization id"}, "description": {"type": "string", "title": "Description"}, "equipment_types": {"type": "array", "title": "Equipment Types", "description": "Equipment types associated with this label", "items": {"type": "integer", "title": "Id", "description": "equipment type id"}}, "point_types": {"type": "array", "title": "Point Types", "description": "Point types associated with this label", "items": {"type": "integer", "title": "Id", "description": "point type id"}}, "name": {"type": "string", "title": "Name", "description": "name of the label"}}, "required": ["name"]}}}, "produces": ["application/json"], "tags": ["general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"200": {"description": "label definition", "schema": {"type": "object", "title": "CustomLabel", "properties": {"org_id": {"type": "integer", "title": "Org Id", "description": "organization id"}, "description": {"type": "string", "title": "Description"}, "equipment_types": {"type": "array", "title": "Equipment Types", "description": "Equipment types associated with this label", "items": {"type": "integer", "title": "Id", "description": "equipment type id"}}, "point_types": {"type": "array", "title": "Point Types", "description": "Point types associated with this label", "items": {"type": "integer", "title": "Id", "description": "point type id"}}, "name": {"type": "string", "title": "Name", "description": "name of the label"}}, "required": ["name"]}}}, "produces": ["application/json"], "parameters": [{"name": "CustomLabelData", "in": "body", "required": true, "schema": {"type": "object", "title": "CustomLabelData", "properties": {"org_id": {"type": "integer", "title": "Org Id", "description": "organization id"}, "description": {"type": "string", "title": "Description"}, "equipment_types": {"type": "array", "title": "Equipment Types", "description": "Equipment types associated with this label", "items": {"type": "integer", "title": "Id", "description": "equipment type id"}}, "point_types": {"type": "array", "title": "Point Types", "description": "Point types associated with this label", "items": {"type": "integer", "title": "Id", "description": "point type id"}}}}}], "tags": ["general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "delete": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Remove a building from the system. This cannot be undone!", "tags": ["general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/labels": {"get": {"responses": {"200": {"description": "list of all custom labels for your organization", "schema": {"type": "array", "title": "CustomLabelList", "items": {"type": "object", "title": "Equip", "properties": {"org_id": {"type": "integer", "title": "Org Id", "description": "organization id"}, "description": {"type": "string", "title": "Description"}, "equipment_types": {"type": "array", "title": "Equipment Types", "description": "Equipment types associated with this label", "items": {"type": "integer", "title": "Id", "description": "equipment type id"}}, "point_types": {"type": "array", "title": "Point Types", "description": "Point types associated with this label", "items": {"type": "integer", "title": "Id", "description": "point type id"}}, "name": {"type": "string", "title": "Name", "description": "name of the label"}}, "required": ["name"]}}}}, "produces": ["application/json"], "tags": ["general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/buildings/{bldg_id}/dbo": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve the building's equipment and points as DBO", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/buildings/{bldg_id}/devices/{devices_id}": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}, {"name": "devices_id", "in": "path", "required": true, "type": "string"}]}, "/buildings/{bldg_id}/devices": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "list of all devices on the given building", "schema": {"type": "array", "title": "DeviceList", "items": {"type": "object", "title": "Equip", "properties": {"id": {"type": "integer", "title": "Id", "description": "onboard device id"}, "building_id": {"type": "integer", "title": "Building Id", "description": "building id"}, "device_id": {"type": "string", "title": "Device Id", "description": "system device identifier"}, "name": {"type": "string", "title": "Name", "description": "device name"}, "deployment_site": {"type": "string", "title": "Deployment Site", "description": "deployment name"}, "subdeployment_type": {"type": "string", "title": "Subdeployment Type", "description": "subdeployment type"}, "properties": {"type": "object", "title": "Properties", "description": "source properties"}}, "required": ["id", "building_id", "device_id", "name", "deployment_site", "subdeployment_type", "properties"]}}}}, "produces": ["application/json"], "summary": "Retrieve device by building", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/buildings/{bldg_id}/equipment/{equipment_id}": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}, {"name": "equipment_id", "in": "path", "required": true, "type": "string"}]}, "/buildings/{bldg_id}/equipment": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "list of all equipment on the given building", "schema": {"type": "array", "title": "EquipmentList", "items": {"type": "object", "title": "Equip", "properties": {"id": {"type": "integer", "title": "Id", "description": "onboard equipment id"}, "building_id": {"type": "integer", "title": "Building Id", "description": "building id"}, "equip_type_name": {"type": "string", "title": "Equip Type Name"}, "equip_type_id": {"type": "integer", "title": "Equip Type Id", "description": "equipment type id"}, "points": {"type": "array", "title": "Points", "description": "Sensors associated with this equipment", "items": {"type": "object", "title": "Point", "properties": {"building_id": {"type": "integer", "title": "Building Id", "description": "onboard building id"}, "description": {"type": "string", "title": "Description", "description": "topic description"}, "device": {"type": "string", "title": "Device"}, "equip_id": {"type": "string", "title": "Equip Id", "description": "equipment id"}, "first_updated": {"type": "string", "title": "First Updated", "description": "time of first sensor reading"}, "id": {"type": "integer", "title": "Id", "description": "onboard point id"}, "last_updated": {"type": "string", "title": "Last Updated", "description": "time of last sensor reading"}, "measurement_type_id": {"type": "integer", "title": "Measurement Type Id", "description": "onboard measurement type id"}, "name": {"type": "string", "title": "Name"}, "network_device": {"type": "string", "title": "Network Device", "description": "network device"}, "objectId": {"type": "string", "title": "Objectid"}, "point_type_id": {"type": "integer", "title": "Point Type Id", "description": "onboard point type id"}, "raw_unit_id": {"type": "integer", "title": "Raw Unit Id", "description": "onboard unit id"}, "topic": {"type": "string", "title": "Topic", "description": "point topic"}, "type": {"type": "string", "title": "Type", "description": "sensor type"}, "units": {"type": "string", "title": "Units", "description": "human readable unit abbreviation"}, "value": {"type": "string", "title": "Value", "description": "last sensor reading"}}, "required": ["building_id", "description", "device", "equip_id", "first_updated", "id", "last_updated", "measurement_type_id", "name", "network_device", "objectId", "point_type_id", "raw_unit_id", "topic", "type", "units", "value"]}}}, "required": ["id", "building_id", "equip_type_name", "equip_type_id"]}}}}, "produces": ["application/json"], "parameters": [{"name": "points", "in": "query", "required": false, "description": "whether or not to include point data in response", "type": "boolean"}], "summary": "Retrieve equipment by building", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/equipment/query": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Bulk retrieve equipment by id", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/equiptype/{equip_type_id}": {"parameters": [{"name": "equip_type_id", "in": "path", "required": true, "type": "string"}]}, "/equiptype": {"get": {"responses": {"200": {"description": "list of all equipment types", "schema": {"type": "array", "title": "EquipmentList", "items": {"type": "object", "title": "Equipment", "properties": {"id": {"type": "integer", "title": "Id", "description": "onboard equipment type id"}, "tag_name": {"type": "string", "title": "Tag Name"}, "name_long": {"type": "string", "title": "Name Long"}, "name_abbr": {"type": "string", "title": "Name Abbr"}, "active": {"type": "boolean", "title": "Active"}, "flow_order": {"type": "integer", "title": "Flow Order"}, "sub_types": {"type": "array", "title": "Sub Types", "items": {"type": "object", "title": "St", "properties": {"id": {"type": "integer", "title": "Id", "description": "onboard equipment sub-type id"}, "equipment_type_id": {"type": "integer", "title": "Equipment Type Id", "description": "onboard equipment type id"}, "tag_name": {"type": "string", "title": "Tag Name"}, "name_long": {"type": "string", "title": "Name Long"}, "name_abbr": {"type": "string", "title": "Name Abbr"}}, "required": ["id", "equipment_type_id", "tag_name", "name_long", "name_abbr"]}}}, "required": ["id", "tag_name", "name_long", "name_abbr", "active", "flow_order", "sub_types"]}}}}, "produces": ["application/json"], "summary": "Retrieve all equipment types", "tags": ["general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/unit/{unit_id}": {"parameters": [{"name": "unit_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "one unit's data", "schema": {"type": "object", "title": "UnitData", "properties": {"id": {"type": "integer", "title": "Id", "description": "onboard unit id"}, "name_abbr": {"type": "string", "title": "Name Abbr", "example": "F"}, "name_long": {"type": "string", "title": "Name Long", "example": "Fahrenheit"}, "data_type": {"type": "string", "title": "Data Type", "description": "type of data the sensor measures", "example": "e.g. `Continuous` or `Ordinal`"}}, "required": ["id", "name_abbr", "name_long", "data_type"]}}}, "produces": ["application/json"], "summary": "Retrieve a unit by its id", "tags": ["general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/unit": {"get": {"responses": {"200": {"description": "list of all units", "schema": {"type": "array", "title": "UnitList", "items": {"type": "object", "title": "Unit", "properties": {"id": {"type": "integer", "title": "Id", "description": "onboard unit id"}, "name_abbr": {"type": "string", "title": "Name Abbr", "example": "F"}, "name_long": {"type": "string", "title": "Name Long", "example": "Fahrenheit"}, "data_type": {"type": "string", "title": "Data Type", "description": "type of data the sensor measures", "example": "e.g. `Continuous` or `Ordinal`"}}, "required": ["id", "name_abbr", "name_long", "data_type"]}}}}, "produces": ["application/json"], "summary": "Retrieve all units", "tags": ["general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/measurements/{measurement_id}": {"parameters": [{"name": "measurement_id", "in": "path", "required": true, "type": "string"}]}, "/measurements": {"get": {"responses": {"200": {"description": "list of all measurements", "schema": {"type": "array", "title": "MeasurementList", "items": {"type": "object", "title": "M", "properties": {"id": {"type": "integer", "title": "Id", "description": "onboard measurement id"}, "name": {"type": "string", "title": "Name"}, "default_unit_id": {"type": "integer", "title": "Default Unit Id", "description": "id of the unit ingest converts to by default"}, "units_convertible": {"type": "boolean", "title": "Units Convertible"}, "units": {"type": "array", "title": "Units", "description": "units measurement can be taken in", "items": {"type": "object", "title": "Unit", "properties": {"id": {"type": "integer", "title": "Id", "description": "onboard unit id"}, "name_abbr": {"type": "string", "title": "Name Abbr", "example": "F"}, "name_long": {"type": "string", "title": "Name Long", "example": "Fahrenheit"}, "data_type": {"type": "string", "title": "Data Type", "description": "type of data the sensor measures", "example": "e.g. `Continuous` or `Ordinal`"}}, "required": ["id", "name_abbr", "name_long", "data_type"]}}}, "required": ["id", "name", "default_unit_id", "units_convertible", "units"]}}}}, "produces": ["application/json"], "summary": "Retrieve all measurements", "tags": ["general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/pointtypes/{point_type_id}": {"parameters": [{"name": "point_type_id", "in": "path", "required": true, "type": "string"}]}, "/pointtypes": {"get": {"responses": {"200": {"description": "list of all point types", "schema": {"type": "array", "title": "PointTypeList", "items": {"type": "object", "title": "Tag", "properties": {"id": {"type": "integer", "title": "Id", "description": "onboard point type id"}, "tag_name": {"type": "string", "title": "Tag Name", "description": "tag name"}, "display_name": {"type": "string", "title": "Display Name"}, "active": {"type": "boolean", "title": "Active"}, "measurement_id": {"type": "integer", "title": "Measurement Id", "description": "onboard measurement id"}, "tag_set_ids": {"type": "array", "title": "Tag Set Ids", "items": {"type": "integer", "title": "Tag", "description": "onboard tag id"}}}, "required": ["id", "tag_name", "display_name", "active", "measurement_id", "tag_set_ids"]}}}}, "produces": ["application/json"], "summary": "Retrieve all point types", "tags": ["general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/swagger": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Returns an OpenApi representation describing this API", "tags": ["general"], "security": [{}]}}, "/tags": {"get": {"responses": {"200": {"description": "list of all tags", "schema": {"type": "array", "title": "TagList", "items": {"type": "object", "title": "Tag", "properties": {"id": {"type": "integer", "title": "Id", "description": "onboard tag id"}, "name": {"type": "string", "title": "Name", "description": "tag name"}}, "required": ["id", "name"]}}}}, "produces": ["application/json"], "summary": "Retrieve all tags", "tags": ["general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/unit-preferences": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve the active unit preferences for the current user", "tags": ["general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Create or modify a unit preference", "tags": ["general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "delete": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Delete a unit preference", "tags": ["general"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/points_update": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Bulk update point values and last modified timestamps", "tags": ["ingest"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/point-data-copy": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Copy timeseries data between points", "tags": ["ingest"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/ingest/point-match": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve point matches for data ingest", "tags": ["ingest"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/ingest-stats": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve the latest ingest stats for all authorized buildings", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Record timing, debug info and messages from data processing", "tags": ["ingest"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/ingest-stats/{bldg_id}/sampling-rate": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve the mean sampling rate for all points in a building", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/modbus/templates": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Returns a list of available modbus templates", "tags": ["collection"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/buildings/{bldg_id}/points/{point_id}": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}, {"name": "point_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "requested point's information", "schema": {"type": "object", "title": "PointData", "properties": {"building_id": {"type": "integer", "title": "Building Id", "description": "onboard building id"}, "description": {"type": "string", "title": "Description", "description": "topic description"}, "device": {"type": "string", "title": "Device"}, "equip_id": {"type": "string", "title": "Equip Id", "description": "equipment id"}, "first_updated": {"type": "string", "title": "First Updated", "description": "time of first sensor reading"}, "id": {"type": "integer", "title": "Id", "description": "onboard point id"}, "last_updated": {"type": "string", "title": "Last Updated", "description": "time of last sensor reading"}, "measurement_type_id": {"type": "integer", "title": "Measurement Type Id", "description": "onboard measurement type id"}, "name": {"type": "string", "title": "Name"}, "network_device": {"type": "string", "title": "Network Device", "description": "network device"}, "objectId": {"type": "string", "title": "Objectid"}, "point_type_id": {"type": "integer", "title": "Point Type Id", "description": "onboard point type id"}, "raw_unit_id": {"type": "integer", "title": "Raw Unit Id", "description": "onboard unit id"}, "topic": {"type": "string", "title": "Topic", "description": "point topic"}, "type": {"type": "string", "title": "Type", "description": "sensor type"}, "units": {"type": "string", "title": "Units", "description": "human readable unit abbreviation"}, "value": {"type": "string", "title": "Value", "description": "last sensor reading"}}, "required": ["building_id", "description", "device", "equip_id", "first_updated", "id", "last_updated", "measurement_type_id", "name", "network_device", "objectId", "point_type_id", "raw_unit_id", "topic", "type", "units", "value"]}}}, "produces": ["application/json"], "summary": "Retreive a point by id", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/buildings/{bldg_id}/points": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "list of points in the building", "schema": {"type": "array", "title": "PointList", "items": {"type": "object", "title": "Point", "properties": {"building_id": {"type": "integer", "title": "Building Id", "description": "onboard building id"}, "description": {"type": "string", "title": "Description", "description": "topic description"}, "device": {"type": "string", "title": "Device"}, "equip_id": {"type": "string", "title": "Equip Id", "description": "equipment id"}, "first_updated": {"type": "string", "title": "First Updated", "description": "time of first sensor reading"}, "id": {"type": "integer", "title": "Id", "description": "onboard point id"}, "last_updated": {"type": "string", "title": "Last Updated", "description": "time of last sensor reading"}, "measurement_type_id": {"type": "integer", "title": "Measurement Type Id", "description": "onboard measurement type id"}, "name": {"type": "string", "title": "Name"}, "network_device": {"type": "string", "title": "Network Device", "description": "network device"}, "objectId": {"type": "string", "title": "Objectid"}, "point_type_id": {"type": "integer", "title": "Point Type Id", "description": "onboard point type id"}, "raw_unit_id": {"type": "integer", "title": "Raw Unit Id", "description": "onboard unit id"}, "topic": {"type": "string", "title": "Topic", "description": "point topic"}, "type": {"type": "string", "title": "Type", "description": "sensor type"}, "units": {"type": "string", "title": "Units", "description": "human readable unit abbreviation"}, "value": {"type": "string", "title": "Value", "description": "last sensor reading"}}, "required": ["building_id", "description", "device", "equip_id", "first_updated", "id", "last_updated", "measurement_type_id", "name", "network_device", "objectId", "point_type_id", "raw_unit_id", "topic", "type", "units", "value"]}}}}, "produces": ["application/json"], "parameters": [{"name": "no_data", "in": "query", "required": false, "description": "Only return points without recent data updates", "type": "boolean"}], "summary": "Retrieve points by building id", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/buildings/{bldg_id}/points/{point_id}/validation": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}, {"name": "point_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Validate a point's configuration", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/points": {"get": {"responses": {"200": {"description": "requested point data", "schema": {"type": "array", "title": "PointList", "items": {"type": "object", "title": "Point", "properties": {"building_id": {"type": "integer", "title": "Building Id", "description": "onboard building id"}, "description": {"type": "string", "title": "Description", "description": "topic description"}, "device": {"type": "string", "title": "Device"}, "equip_id": {"type": "string", "title": "Equip Id", "description": "equipment id"}, "first_updated": {"type": "string", "title": "First Updated", "description": "time of first sensor reading"}, "id": {"type": "integer", "title": "Id", "description": "onboard point id"}, "last_updated": {"type": "string", "title": "Last Updated", "description": "time of last sensor reading"}, "measurement_type_id": {"type": "integer", "title": "Measurement Type Id", "description": "onboard measurement type id"}, "name": {"type": "string", "title": "Name"}, "network_device": {"type": "string", "title": "Network Device", "description": "network device"}, "objectId": {"type": "string", "title": "Objectid"}, "point_type_id": {"type": "integer", "title": "Point Type Id", "description": "onboard point type id"}, "raw_unit_id": {"type": "integer", "title": "Raw Unit Id", "description": "onboard unit id"}, "topic": {"type": "string", "title": "Topic", "description": "point topic"}, "type": {"type": "string", "title": "Type", "description": "sensor type"}, "units": {"type": "string", "title": "Units", "description": "human readable unit abbreviation"}, "value": {"type": "string", "title": "Value", "description": "last sensor reading"}}, "required": ["building_id", "description", "device", "equip_id", "first_updated", "id", "last_updated", "measurement_type_id", "name", "network_device", "objectId", "point_type_id", "raw_unit_id", "topic", "type", "units", "value"]}}}}, "produces": ["application/json"], "parameters": [{"name": "point_ids", "in": "query", "required": false, "description": "url encoded json list of point ids, e.g. `[100,300]`", "type": "string"}], "summary": "Bulk retrieve points by id", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/points/select": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "PointSelectorSchema", "in": "body", "required": true, "schema": {"type": "object", "title": "PointSelectorSchema", "properties": {"orgs": {"type": "array", "title": "Orgs", "description": "Organization id, name or short_name", "example": [10, "Onboard Sandbox", "Sandbox"], "items": {"type": "string", "title": "Data"}}, "buildings": {"type": "array", "title": "Buildings", "description": "Building id or name", "example": [10, "Example Builidng"], "items": {"type": "string", "title": "Data"}}, "point_ids": {"type": "array", "title": "Point Ids", "description": "Point ids (The point_* fields are OR'd together by the selector)", "example": [1], "items": {"type": "integer", "title": "Id", "minimum": 1}}, "point_names": {"type": "array", "title": "Point Names", "description": "Point names (The point_* fields are OR'd together by the selector)", "example": ["OCC HTG STPT"], "items": {"type": "string", "title": "Data"}}, "point_topics": {"type": "array", "title": "Point Topics", "description": "Point topics (The point_* fields are OR'd together by the selector)", "example": ["org/building/equipment/analogValue/1"], "items": {"type": "string", "title": "Data"}}, "point_hashes": {"type": "array", "title": "Point Hashes", "description": "This setting is no longer in use and will be removed in the future", "example": [], "items": {"type": "string", "title": "Data"}}, "point_types": {"type": "array", "title": "Point Types", "description": "Point Type id or tag_name", "example": [10, "Zone Carbon Dioxide"], "items": {"type": "string", "title": "Data"}}, "equipment": {"type": "array", "title": "Equipment", "description": "Equipment id or name", "example": [10, "R515East"], "items": {"type": "string", "title": "Data"}}, "equipment_types": {"type": "array", "title": "Equipment Types", "description": "Equipment Type id or tag_name", "example": [10, "ahu"], "items": {"type": "string", "title": "Data"}}, "updated_since": {"type": "number", "title": "Updated Since", "description": "timestamp, limit to recently updated points", "example": 1576886699968}}}}], "summary": "Select points that match all specified criteria", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/points/data-availability": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "PointSelectorSchema", "in": "body", "required": true, "schema": {"type": "object", "title": "PointSelectorSchema", "properties": {"orgs": {"type": "array", "title": "Orgs", "description": "Organization id, name or short_name", "example": [10, "Onboard Sandbox", "Sandbox"], "items": {"type": "string", "title": "Data"}}, "buildings": {"type": "array", "title": "Buildings", "description": "Building id or name", "example": [10, "Example Builidng"], "items": {"type": "string", "title": "Data"}}, "point_ids": {"type": "array", "title": "Point Ids", "description": "Point ids (The point_* fields are OR'd together by the selector)", "example": [1], "items": {"type": "integer", "title": "Id", "minimum": 1}}, "point_names": {"type": "array", "title": "Point Names", "description": "Point names (The point_* fields are OR'd together by the selector)", "example": ["OCC HTG STPT"], "items": {"type": "string", "title": "Data"}}, "point_topics": {"type": "array", "title": "Point Topics", "description": "Point topics (The point_* fields are OR'd together by the selector)", "example": ["org/building/equipment/analogValue/1"], "items": {"type": "string", "title": "Data"}}, "point_hashes": {"type": "array", "title": "Point Hashes", "description": "This setting is no longer in use and will be removed in the future", "example": [], "items": {"type": "string", "title": "Data"}}, "point_types": {"type": "array", "title": "Point Types", "description": "Point Type id or tag_name", "example": [10, "Zone Carbon Dioxide"], "items": {"type": "string", "title": "Data"}}, "equipment": {"type": "array", "title": "Equipment", "description": "Equipment id or name", "example": [10, "R515East"], "items": {"type": "string", "title": "Data"}}, "equipment_types": {"type": "array", "title": "Equipment Types", "description": "Equipment Type id or tag_name", "example": [10, "ahu"], "items": {"type": "string", "title": "Data"}}, "updated_since": {"type": "number", "title": "Updated Since", "description": "timestamp, limit to recently updated points", "example": 1576886699968}}}}], "summary": "Return the newest and oldest data update times for a selection", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/query": {"post": {"responses": {"200": {"description": "list of sensors with timestamped data values", "schema": {"type": "array", "title": "PointDataList", "description": "timeseries data for requested points, grouped by point", "items": {"type": "object", "title": "Body", "properties": {"tags": {"type": "object", "title": "Tags", "properties": {"point_id": {"type": "integer", "title": "Point Id", "description": "Onboard point id", "example": 1}}, "required": ["point_id"]}, "columns": {"type": "array", "title": "Columns", "items": {"type": "string", "title": "Name", "description": "list of column names", "example": ["time", "clean", "raw"]}}, "values": {"type": "array", "title": "Values", "items": {"type": "string", "title": "Data", "description": "timestamp or data in order specifiedN by columns list", "example": ["2019-11-29T21:35:08.198000128Z", 3.14, "314"]}}}, "required": ["tags", "columns", "values"]}}}, "400": {"description": "Bad query parameters provided", "schema": {"type": "object", "title": "ExceptionResponseSchema", "properties": {"detail": {"type": "string", "title": "Detail", "description": "Error message", "example": "Invalid isoformat string: '2020-1-01T20:16:25'"}, "status": {"type": "integer", "title": "Status", "description": "Status code", "example": 400}, "type": {"type": "string", "title": "Type", "description": "Error class", "example": "pyramid.httpexceptions.HTTPBadRequest"}}, "required": ["detail", "status", "type"]}}}, "produces": ["application/json"], "parameters": [{"name": "PointQueryBodySchema", "in": "body", "required": true, "schema": {"type": "object", "title": "PointQueryBodySchema", "properties": {"start_time": {"type": "string", "title": "Start Time", "description": "ISO formatted start timestamp", "example": "2019-11-29T20:16:25Z"}, "end_time": {"type": "string", "title": "End Time", "description": "ISO formatted end timestamp", "example": "2019-11-29T20:16:25Z"}, "point_ids": {"type": "array", "title": "Point Ids", "description": "The list of point ids to retrieve data for", "example": [1, 2], "items": {"type": "integer", "title": "Ids", "description": "Onboard point id", "minimum": 1}}}, "required": ["start_time", "end_time", "point_ids"]}}], "summary": "Query sensor values for a time period and set of point ids.\nTimestamps reflect the exact time the sensor reading was taken.", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/query-v2": {"post": {"responses": {"200": {"description": "list of sensors with timestamped data values", "schema": {"type": "array", "title": "V2PointDataList", "description": "timeseries data for requested points, grouped by point", "items": {"type": "object", "title": "Body", "properties": {"point_id": {"type": "integer", "title": "Point Id", "description": "Onboard point id", "example": 1}, "raw": {"type": "string", "title": "Raw", "description": "Sensor raw unit name", "example": "rpm"}, "unit": {"type": "string", "title": "Unit", "description": "Sensor converted unit name", "example": "rpm"}, "columns": {"type": "array", "title": "Columns", "items": {"type": "string", "title": "Name", "description": "list of column names", "example": ["time", "raw", "rpm"]}}, "values": {"type": "array", "title": "Values", "items": {"type": "string", "title": "Data", "description": "timestamp or data in order specified by columns list", "example": ["2019-11-29T21:35:08.198000128Z", 3.14, "314", 3.14]}}}, "required": ["point_id", "raw", "unit", "columns", "values"]}}}, "400": {"description": "Bad query parameters provided", "schema": {"type": "object", "title": "ExceptionResponseSchema", "properties": {"detail": {"type": "string", "title": "Detail", "description": "Error message", "example": "Invalid isoformat string: '2020-1-01T20:16:25'"}, "status": {"type": "integer", "title": "Status", "description": "Status code", "example": 400}, "type": {"type": "string", "title": "Type", "description": "Error class", "example": "pyramid.httpexceptions.HTTPBadRequest"}}, "required": ["detail", "status", "type"]}}}, "produces": ["application/json"], "parameters": [{"name": "V2PointQueryBodySchema", "in": "body", "required": true, "schema": {"type": "object", "title": "V2PointQueryBodySchema", "properties": {"start": {"type": "string", "title": "Start", "description": "ISO formatted timestamp or integer UTC timestamp", "example": "2019-11-29T20:16:25Z or 2020-10-28T10:12:48.785468+00:00 or 1602665434"}, "end": {"type": "string", "title": "End", "description": "ISO formatted timestamp or integer UTC timestamp", "example": "2019-11-29T20:16:25Z or 2020-10-28T10:12:48.785468+00:00 or 1602665434"}, "point_ids": {"type": "array", "title": "Point Ids", "description": "The list of point ids to retrieve data for", "example": [1, 2], "items": {"type": "integer", "title": "Ids", "description": "Onboard point id", "minimum": 1}}, "selector": {"type": "object", "title": "Selector", "description": "Or provide a point selector to find the point ids", "properties": {"orgs": {"type": "array", "title": "Orgs", "description": "Organization id, name or short_name", "example": [10, "Onboard Sandbox", "Sandbox"], "items": {"type": "string", "title": "Data"}}, "buildings": {"type": "array", "title": "Buildings", "description": "Building id or name", "example": [10, "Example Builidng"], "items": {"type": "string", "title": "Data"}}, "point_ids": {"type": "array", "title": "Point Ids", "description": "Point ids (The point_* fields are OR'd together by the selector)", "example": [1], "items": {"type": "integer", "title": "Id", "minimum": 1}}, "point_names": {"type": "array", "title": "Point Names", "description": "Point names (The point_* fields are OR'd together by the selector)", "example": ["OCC HTG STPT"], "items": {"type": "string", "title": "Data"}}, "point_topics": {"type": "array", "title": "Point Topics", "description": "Point topics (The point_* fields are OR'd together by the selector)", "example": ["org/building/equipment/analogValue/1"], "items": {"type": "string", "title": "Data"}}, "point_hashes": {"type": "array", "title": "Point Hashes", "description": "This setting is no longer in use and will be removed in the future", "example": [], "items": {"type": "string", "title": "Data"}}, "point_types": {"type": "array", "title": "Point Types", "description": "Point Type id or tag_name", "example": [10, "Zone Carbon Dioxide"], "items": {"type": "string", "title": "Data"}}, "equipment": {"type": "array", "title": "Equipment", "description": "Equipment id or name", "example": [10, "R515East"], "items": {"type": "string", "title": "Data"}}, "equipment_types": {"type": "array", "title": "Equipment Types", "description": "Equipment Type id or tag_name", "example": [10, "ahu"], "items": {"type": "string", "title": "Data"}}, "updated_since": {"type": "number", "title": "Updated Since", "description": "timestamp, limit to recently updated points", "example": 1576886699968}}}, "units": {"type": "object", "title": "Units", "description": "Mapping to indicate for each Measurement name key, which Unit name or id value to use. This will supercede any unit preferences for the user", "default": {}, "example": {"volume": "Cubic Meter"}}, "aggregations": {"type": "object", "title": "Aggregations", "description": "Mapping to indicate aggregation functions to perform for each Measurement name key, which value of [sum, min, max, max] to perform", "default": {}, "example": {"voltage": "mean"}}}, "required": ["start", "end"]}}, {"name": "resample_mins", "in": "query", "required": false, "description": "Number of minutes to resample data into. Defaults to 5 when exporting to CSV", "type": "integer", "default": null}], "summary": "Query sensor values for a time period and set of point ids.\nTimestamps reflect the exact time the sensor reading was taken.\nResponse is JSON unless client accepts 'application/x-ndjson' or 'text/csv'", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/timeseries": {"post": {"responses": {"200": {"description": "list of sensors with timestamped data values", "schema": {"type": "array", "title": "V2PointDataList", "description": "timeseries data for requested points, grouped by point", "items": {"type": "object", "title": "Body", "properties": {"point_id": {"type": "integer", "title": "Point Id", "description": "Onboard point id", "example": 1}, "raw": {"type": "string", "title": "Raw", "description": "Sensor raw unit name", "example": "rpm"}, "unit": {"type": "string", "title": "Unit", "description": "Sensor converted unit name", "example": "rpm"}, "columns": {"type": "array", "title": "Columns", "items": {"type": "string", "title": "Name", "description": "list of column names", "example": ["time", "raw", "rpm"]}}, "values": {"type": "array", "title": "Values", "items": {"type": "string", "title": "Data", "description": "timestamp or data in order specified by columns list", "example": ["2019-11-29T21:35:08.198000128Z", 3.14, "314", 3.14]}}}, "required": ["point_id", "raw", "unit", "columns", "values"]}}}, "400": {"description": "Bad query parameters provided", "schema": {"type": "object", "title": "ExceptionResponseSchema", "properties": {"detail": {"type": "string", "title": "Detail", "description": "Error message", "example": "Invalid isoformat string: '2020-1-01T20:16:25'"}, "status": {"type": "integer", "title": "Status", "description": "Status code", "example": 400}, "type": {"type": "string", "title": "Type", "description": "Error class", "example": "pyramid.httpexceptions.HTTPBadRequest"}}, "required": ["detail", "status", "type"]}}}, "produces": ["application/json"], "parameters": [{"name": "V2PointQueryBodySchema", "in": "body", "required": true, "schema": {"type": "object", "title": "V2PointQueryBodySchema", "properties": {"start": {"type": "string", "title": "Start", "description": "ISO formatted timestamp or integer UTC timestamp", "example": "2019-11-29T20:16:25Z or 2020-10-28T10:12:48.785468+00:00 or 1602665434"}, "end": {"type": "string", "title": "End", "description": "ISO formatted timestamp or integer UTC timestamp", "example": "2019-11-29T20:16:25Z or 2020-10-28T10:12:48.785468+00:00 or 1602665434"}, "point_ids": {"type": "array", "title": "Point Ids", "description": "The list of point ids to retrieve data for", "example": [1, 2], "items": {"type": "integer", "title": "Ids", "description": "Onboard point id", "minimum": 1}}, "selector": {"type": "object", "title": "Selector", "description": "Or provide a point selector to find the point ids", "properties": {"orgs": {"type": "array", "title": "Orgs", "description": "Organization id, name or short_name", "example": [10, "Onboard Sandbox", "Sandbox"], "items": {"type": "string", "title": "Data"}}, "buildings": {"type": "array", "title": "Buildings", "description": "Building id or name", "example": [10, "Example Builidng"], "items": {"type": "string", "title": "Data"}}, "point_ids": {"type": "array", "title": "Point Ids", "description": "Point ids (The point_* fields are OR'd together by the selector)", "example": [1], "items": {"type": "integer", "title": "Id", "minimum": 1}}, "point_names": {"type": "array", "title": "Point Names", "description": "Point names (The point_* fields are OR'd together by the selector)", "example": ["OCC HTG STPT"], "items": {"type": "string", "title": "Data"}}, "point_topics": {"type": "array", "title": "Point Topics", "description": "Point topics (The point_* fields are OR'd together by the selector)", "example": ["org/building/equipment/analogValue/1"], "items": {"type": "string", "title": "Data"}}, "point_hashes": {"type": "array", "title": "Point Hashes", "description": "This setting is no longer in use and will be removed in the future", "example": [], "items": {"type": "string", "title": "Data"}}, "point_types": {"type": "array", "title": "Point Types", "description": "Point Type id or tag_name", "example": [10, "Zone Carbon Dioxide"], "items": {"type": "string", "title": "Data"}}, "equipment": {"type": "array", "title": "Equipment", "description": "Equipment id or name", "example": [10, "R515East"], "items": {"type": "string", "title": "Data"}}, "equipment_types": {"type": "array", "title": "Equipment Types", "description": "Equipment Type id or tag_name", "example": [10, "ahu"], "items": {"type": "string", "title": "Data"}}, "updated_since": {"type": "number", "title": "Updated Since", "description": "timestamp, limit to recently updated points", "example": 1576886699968}}}, "units": {"type": "object", "title": "Units", "description": "Mapping to indicate for each Measurement name key, which Unit name or id value to use. This will supercede any unit preferences for the user", "default": {}, "example": {"volume": "Cubic Meter"}}, "aggregations": {"type": "object", "title": "Aggregations", "description": "Mapping to indicate aggregation functions to perform for each Measurement name key, which value of [sum, min, max, max] to perform", "default": {}, "example": {"voltage": "mean"}}}, "required": ["start", "end"]}}, {"name": "resample_mins", "in": "query", "required": false, "description": "Number of minutes to resample data into. Defaults to 5 when exporting to CSV", "type": "integer", "default": null}], "summary": "Query sensor values for a time period and set of point ids.\nTimestamps reflect the exact time the sensor reading was taken.\nResponse is JSON unless client accepts 'application/x-ndjson' or 'text/csv'", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/timeseries/export/{export_token}": {"parameters": [{"name": "export_token", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "format", "in": "query", "required": false, "description": "Data response format", "type": "string", "default": "csv", "enum": ["json", "ndjson", "csv"]}], "summary": "Retrieve timeseries data via an export token", "tags": ["buildings:read"], "security": [{}]}}, "/timeseries/exports/{export_id}": {"parameters": [{"name": "export_id", "in": "path", "required": true, "type": "string"}], "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Refresh authorized links to an export", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "delete": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Delete a timeseries export", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "patch": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Modify a timeseries export", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/timeseries/exports": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve all timeseries exports", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Create a new timeseries export", "tags": ["buildings:read"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/rtem/files": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve the contents of the current user's home directory", "tags": ["rtem"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Process and return the results of a file command", "tags": ["rtem"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/rtem/files/submit": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Sends an email indicating a data submission is complete", "tags": ["rtem"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "put": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Mark a data submission as approved or rejected", "tags": ["rtem"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/rtem/files/submissions": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve file submission action log entries", "tags": ["rtem"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/rtem/subscriptions": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Return the current user's alert subscription preferences", "tags": ["rtem"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Change the current user's alert subscription preferences for one affiliation", "tags": ["rtem"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/rtem/subscriptions/all": {"post": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Re-subscribe to all notifications", "tags": ["rtem"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "delete": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Unsubscribe from all notifications", "tags": ["rtem"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/staging/{bldg_id}/devices/{subdeployment_type}/{device_id}": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}, {"name": "subdeployment_type", "in": "path", "required": true, "type": "string"}, {"name": "device_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "staging devices"}}, "produces": ["application/json"], "parameters": [{"name": "subdeployment_type", "in": "path", "required": true, "type": "string"}, {"name": "device_id", "in": "path", "required": true, "type": "string"}, {"name": "StagingDeviceUpdateBodySchema", "in": "body", "required": true, "schema": {"type": "object", "title": "StagingDeviceUpdateBodySchema", "properties": {"guid": {"type": "string", "title": "Guid", "default": null}}}}], "summary": "Retrieve staged device in a building", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "patch": {"responses": {"200": {"description": "staging devices"}}, "produces": ["application/json"], "parameters": [{"name": "subdeployment_type", "in": "path", "required": true, "type": "string"}, {"name": "device_id", "in": "path", "required": true, "type": "string"}, {"name": "StagingDeviceUpdateBodySchema", "in": "body", "required": true, "schema": {"type": "object", "title": "StagingDeviceUpdateBodySchema", "properties": {"guid": {"type": "string", "title": "Guid", "default": null}}}}], "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/staging/{bldg_id}/devices": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "staging devices", "schema": {"type": "object", "title": "StagingDeviceData", "properties": {"created": {"type": "string", "title": "Created", "description": "ISO8601 string for when the equipment was first created"}, "data": {"type": "object", "title": "Data"}, "last_promoted": {"type": "string", "title": "Last Promoted", "description": "ISO8601 string for when the equipment was last promoted"}, "modified": {"type": "string", "title": "Modified", "description": "ISO8601 string for when the equipment was last modified"}, "deployment_id": {"type": "integer", "title": "Deployment Id", "description": "Onboard deployment id", "example": 1}, "properties": {"type": "object", "title": "Properties", "description": "Upstream system properties of the entity"}, "device_id": {"type": "string", "title": "Device Id", "description": "Id of the device", "example": "bacnet-1"}, "name": {"type": "string", "title": "Name", "description": "Name of the device", "example": "'AC Drive 1806222'"}, "promoted_device_id": {"type": "integer", "title": "Promoted Device Id", "description": "Id for the promoted device", "example": 1}}, "required": ["name"]}}}, "produces": ["application/json"], "summary": "Retrieve staged device in a building", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/staging/{bldg_id}/equipment/{equip_name}": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}, {"name": "equip_name", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "staging equipment", "schema": {"type": "object", "title": "StagingEquipmentSchema", "properties": {"created": {"type": "string", "title": "Created", "description": "ISO8601 string for when the equipment was first created"}, "data": {"type": "object", "title": "Data"}, "last_promoted": {"type": "string", "title": "Last Promoted", "description": "ISO8601 string for when the equipment was last promoted"}, "modified": {"type": "string", "title": "Modified", "description": "ISO8601 string for when the equipment was last modified"}, "confidences": {"type": "object", "title": "Confidences"}, "equip_id": {"type": "string", "title": "Equip Id", "description": "ID of the staged equipment", "example": "6fb2465f-6761-47fd-a392-a27d7fb235a3"}, "name": {"type": "string", "title": "Name", "description": "Name of the staged equipment", "example": "ACU-1", "pattern": "^[a-zA-Z0-9.+#: _,()&\"'\\\\-]+$"}, "tags": {"type": "array", "title": "Tags", "description": "List of tags for the equipment", "example": [], "items": {"type": "string", "title": "Body"}}, "promoted_equipment_id": {"type": "integer", "title": "Promoted Equipment Id", "description": "Id for the promoted equipment", "example": 1}, "equipment_type_id": {"type": "integer", "title": "Equipment Type Id", "description": "Id for the equipment type", "example": 1}}, "required": ["equip_id", "name", "equipment_type_id"]}}}, "produces": ["application/json"], "parameters": [{"name": "equip_name", "in": "path", "required": true, "description": "New name for the equipment, if present", "type": "string", "example": "AHU-7", "pattern": "^[a-zA-Z0-9.+#: _,()&\"'\\\\-]+$"}], "summary": "Retrieve staged equipment in a building", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "post": {"responses": {"200": {"description": "staging equipment"}}, "produces": ["application/json"], "parameters": [{"name": "equip_name", "in": "path", "required": true, "description": "New name for the equipment, if present", "type": "string", "example": "AHU-7", "pattern": "^[a-zA-Z0-9.+#: _,()&\"'\\\\-]+$"}, {"name": "equip_id", "in": "query", "required": false, "description": "equip_id to assign, otherwise a generated UUIDv4", "type": "string", "default": null}], "summary": "Create staged equipment in a building", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "delete": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Delete a single staged equipment in a building by equip_id", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/staging/{bldg_id}/equipment": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "staging equipment", "schema": {"type": "object", "title": "StagingEquipmentSchema", "properties": {"created": {"type": "string", "title": "Created", "description": "ISO8601 string for when the equipment was first created"}, "data": {"type": "object", "title": "Data"}, "last_promoted": {"type": "string", "title": "Last Promoted", "description": "ISO8601 string for when the equipment was last promoted"}, "modified": {"type": "string", "title": "Modified", "description": "ISO8601 string for when the equipment was last modified"}, "confidences": {"type": "object", "title": "Confidences"}, "equip_id": {"type": "string", "title": "Equip Id", "description": "ID of the staged equipment", "example": "6fb2465f-6761-47fd-a392-a27d7fb235a3"}, "name": {"type": "string", "title": "Name", "description": "Name of the staged equipment", "example": "ACU-1", "pattern": "^[a-zA-Z0-9.+#: _,()&\"'\\\\-]+$"}, "tags": {"type": "array", "title": "Tags", "description": "List of tags for the equipment", "example": [], "items": {"type": "string", "title": "Body"}}, "promoted_equipment_id": {"type": "integer", "title": "Promoted Equipment Id", "description": "Id for the promoted equipment", "example": 1}, "equipment_type_id": {"type": "integer", "title": "Equipment Type Id", "description": "Id for the equipment type", "example": 1}}, "required": ["equip_id", "name", "equipment_type_id"]}}}, "produces": ["application/json"], "summary": "Retrieve staged equipment in a building", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "delete": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "SequenceSchema", "in": "body", "required": true, "schema": {"type": "array", "title": "SequenceSchema", "items": {"type": "string", "description": "List of equip_ids (not names) to purge"}}}], "summary": "Delete multiple staged equipment in a building", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "patch": {"responses": {"200": {"description": "staging equipment", "schema": {"type": "object", "title": "StagingEquipmentSchema", "properties": {"created": {"type": "string", "title": "Created", "description": "ISO8601 string for when the equipment was first created"}, "data": {"type": "object", "title": "Data"}, "last_promoted": {"type": "string", "title": "Last Promoted", "description": "ISO8601 string for when the equipment was last promoted"}, "modified": {"type": "string", "title": "Modified", "description": "ISO8601 string for when the equipment was last modified"}, "confidences": {"type": "object", "title": "Confidences"}, "equip_id": {"type": "string", "title": "Equip Id", "description": "ID of the staged equipment", "example": "6fb2465f-6761-47fd-a392-a27d7fb235a3"}, "name": {"type": "string", "title": "Name", "description": "Name of the staged equipment", "example": "ACU-1", "pattern": "^[a-zA-Z0-9.+#: _,()&\"'\\\\-]+$"}, "tags": {"type": "array", "title": "Tags", "description": "List of tags for the equipment", "example": [], "items": {"type": "string", "title": "Body"}}, "promoted_equipment_id": {"type": "integer", "title": "Promoted Equipment Id", "description": "Id for the promoted equipment", "example": 1}, "equipment_type_id": {"type": "integer", "title": "Equipment Type Id", "description": "Id for the equipment type", "example": 1}}, "required": ["equip_id", "name", "equipment_type_id"]}}}, "produces": ["application/json"], "parameters": [{"name": "SequenceSchema", "in": "body", "required": true, "schema": {"type": "array", "title": "SequenceSchema", "items": {"type": "object", "properties": {"name": {"type": "string", "title": "Name", "description": "Name of the equipment to update", "example": "AHU-1"}, "equipment_type": {"type": "object", "title": "Equipment Type", "properties": {"confidence": {"type": "number", "title": "Confidence", "description": "Confidence of the assignment", "example": "100.0"}, "id": {"type": "integer", "title": "Id", "description": "Equipment type id to use", "example": "7"}, "tag_name": {"type": "string", "title": "Tag Name", "description": "Equipment type tag_name to use", "example": "HVAC/BLR"}}, "required": ["confidence"]}, "new_name": {"type": "string", "title": "New Name", "description": "New name for the equipment, if present", "example": "AHU-7", "pattern": "^[a-zA-Z0-9.+#: _,()&\"'\\\\-]+$"}, "modified.cas": {"type": "string", "title": "Modified Cas", "description": "Optional check-and-set of modified time to ensure entry was updated", "example": "2025-03-06T22:32:50.242196+00:00"}, "auto_tagger.equip_type_preds": {"type": "object", "title": "Auto Tagger Equip Type Preds", "example": {"HVAC/HX": 0.562, "HVAC/AHU": 0.125, "HVAC/FAN": 0.132, "HVAC/FCU": 0.065, "HVAC/VAV": 0.017}, "additionalProperties": {}}, "auto_tagger.assignment_time": {"type": "number", "title": "Auto Tagger Assignment Time", "description": "Optional value to denote when tagger made an assignment decision", "example": "1714688155618.22"}, "ref_tagger.start": {"type": "number", "title": "Ref Tagger Start", "description": "Optional tracker for when ref_tagger started", "example": "1721662326.711"}, "ref_tagger.end": {"type": "number", "title": "Ref Tagger End", "description": "Optional tracker for when ref_tagger finished", "example": "1721662326.711"}, "ref_tagger.fed": {"type": "object", "title": "Ref Tagger Fed", "description": "Optional suggested FEED source, with confidence", "properties": {"confidence": {"type": "number", "title": "Confidence", "description": "Confidence of the assignment", "example": "100.0"}, "id": {"type": "string", "title": "Id", "description": "EquipId to reference", "example": "7"}}, "required": ["confidence", "id"]}}, "required": ["name"], "additionalProperties": {}}}}], "summary": "Bulk update staged equipment in a building", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/staging/{bldg_id}/details": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "list of building staging configurations", "schema": {"type": "array", "title": "StagingBuildingList", "items": {"type": "object", "title": "Body", "properties": {"building_id": {"type": "integer", "title": "Building Id", "description": "Onboard building id", "example": 1}, "data": {"type": "object", "title": "Data", "properties": {"dbo_guids": {"type": "object", "title": "Dbo Guids"}, "ref_tagger": {"type": "object", "title": "Ref Tagger", "properties": {"equips": {"type": "integer", "title": "Equips", "description": "Count of equipment tagger processed", "example": 1}, "points": {"type": "integer", "title": "Points", "description": "Count of points tagger processed", "example": 1}, "error_msg": {"type": "string", "title": "Error Msg", "description": "Cause of last tagger error", "example": 1}, "error_type": {"type": "string", "title": "Error Type", "description": "Type of last tagger error", "example": 1}, "timestamp": {"type": "string", "title": "Timestamp", "description": "Time of last run", "example": "2023-04-27T20:37:13.808354", "format": "date-time"}, "version": {"type": "string", "title": "Version", "description": "Identifier of tagger model version", "example": 1}}, "required": ["equips", "points", "timestamp", "version"]}, "staging_tagger": {"type": "object", "title": "Staging Tagger", "properties": {"equips": {"type": "integer", "title": "Equips", "description": "Count of equipment tagger processed", "example": 1}, "points": {"type": "integer", "title": "Points", "description": "Count of points tagger processed", "example": 1}, "error_msg": {"type": "string", "title": "Error Msg", "description": "Cause of last tagger error", "example": 1}, "error_type": {"type": "string", "title": "Error Type", "description": "Type of last tagger error", "example": 1}, "timestamp": {"type": "string", "title": "Timestamp", "description": "Time of last run", "example": "2023-04-27T20:37:13.808354", "format": "date-time"}, "version": {"type": "string", "title": "Version", "description": "Identifier of tagger model version", "example": 1}}, "required": ["equips", "points", "timestamp", "version"]}}}, "equip_count": {"type": "integer", "title": "Equip Count", "description": "Count of valid equipment in building", "example": 100}, "point_count": {"type": "integer", "title": "Point Count", "description": "Count of valid points in building", "example": 1000}, "last_promoted": {"type": "number", "title": "Last Promoted", "description": "Epoch, in seconds, for when building was last promoted", "example": 1682698057193.757}, "modified": {"type": "number", "title": "Modified", "description": "Epoch, in seconds, for when building was last modified", "example": 1682719030919.2542}}, "required": ["equip_count", "point_count"]}}}}, "produces": ["application/json"], "summary": "Retrieve building-level staging details for a building", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "patch": {"responses": {"200": {"description": "Building staging configuration", "schema": {"type": "object", "title": "StagingBuilding", "properties": {"building_id": {"type": "integer", "title": "Building Id", "description": "Onboard building id", "example": 1}, "data": {"type": "object", "title": "Data", "properties": {"dbo_guids": {"type": "object", "title": "Dbo Guids"}, "ref_tagger": {"type": "object", "title": "Ref Tagger", "properties": {"equips": {"type": "integer", "title": "Equips", "description": "Count of equipment tagger processed", "example": 1}, "points": {"type": "integer", "title": "Points", "description": "Count of points tagger processed", "example": 1}, "error_msg": {"type": "string", "title": "Error Msg", "description": "Cause of last tagger error", "example": 1}, "error_type": {"type": "string", "title": "Error Type", "description": "Type of last tagger error", "example": 1}, "timestamp": {"type": "string", "title": "Timestamp", "description": "Time of last run", "example": "2023-04-27T20:37:13.808354", "format": "date-time"}, "version": {"type": "string", "title": "Version", "description": "Identifier of tagger model version", "example": 1}}, "required": ["equips", "points", "timestamp", "version"]}, "staging_tagger": {"type": "object", "title": "Staging Tagger", "properties": {"equips": {"type": "integer", "title": "Equips", "description": "Count of equipment tagger processed", "example": 1}, "points": {"type": "integer", "title": "Points", "description": "Count of points tagger processed", "example": 1}, "error_msg": {"type": "string", "title": "Error Msg", "description": "Cause of last tagger error", "example": 1}, "error_type": {"type": "string", "title": "Error Type", "description": "Type of last tagger error", "example": 1}, "timestamp": {"type": "string", "title": "Timestamp", "description": "Time of last run", "example": "2023-04-27T20:37:13.808354", "format": "date-time"}, "version": {"type": "string", "title": "Version", "description": "Identifier of tagger model version", "example": 1}}, "required": ["equips", "points", "timestamp", "version"]}}}, "equip_count": {"type": "integer", "title": "Equip Count", "description": "Count of valid equipment in building", "example": 100}, "point_count": {"type": "integer", "title": "Point Count", "description": "Count of valid points in building", "example": 1000}, "last_promoted": {"type": "number", "title": "Last Promoted", "description": "Epoch, in seconds, for when building was last promoted", "example": 1682698057193.757}, "modified": {"type": "number", "title": "Modified", "description": "Epoch, in seconds, for when building was last modified", "example": 1682719030919.2542}}, "required": ["equip_count", "point_count"]}}}, "produces": ["application/json"], "parameters": [{"name": "StagingBuildingData", "in": "body", "required": true, "schema": {"type": "object", "title": "StagingBuildingData", "properties": {"dbo_guids": {"type": "object", "title": "Dbo Guids"}, "ref_tagger": {"type": "object", "title": "Ref Tagger", "properties": {"equips": {"type": "integer", "title": "Equips", "description": "Count of equipment tagger processed", "example": 1}, "points": {"type": "integer", "title": "Points", "description": "Count of points tagger processed", "example": 1}, "error_msg": {"type": "string", "title": "Error Msg", "description": "Cause of last tagger error", "example": 1}, "error_type": {"type": "string", "title": "Error Type", "description": "Type of last tagger error", "example": 1}, "timestamp": {"type": "string", "title": "Timestamp", "description": "Time of last run", "example": "2023-04-27T20:37:13.808354", "format": "date-time"}, "version": {"type": "string", "title": "Version", "description": "Identifier of tagger model version", "example": 1}}, "required": ["equips", "points", "timestamp", "version"]}, "staging_tagger": {"type": "object", "title": "Staging Tagger", "properties": {"equips": {"type": "integer", "title": "Equips", "description": "Count of equipment tagger processed", "example": 1}, "points": {"type": "integer", "title": "Points", "description": "Count of points tagger processed", "example": 1}, "error_msg": {"type": "string", "title": "Error Msg", "description": "Cause of last tagger error", "example": 1}, "error_type": {"type": "string", "title": "Error Type", "description": "Type of last tagger error", "example": 1}, "timestamp": {"type": "string", "title": "Timestamp", "description": "Time of last run", "example": "2023-04-27T20:37:13.808354", "format": "date-time"}, "version": {"type": "string", "title": "Version", "description": "Identifier of tagger model version", "example": 1}}, "required": ["equips", "points", "timestamp", "version"]}}}}], "summary": "Update a building's staging details", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/staging": {"get": {"responses": {"200": {"description": "list of building staging configurations", "schema": {"type": "array", "title": "StagingBuildingList", "items": {"type": "object", "title": "Body", "properties": {"building_id": {"type": "integer", "title": "Building Id", "description": "Onboard building id", "example": 1}, "data": {"type": "object", "title": "Data", "properties": {"dbo_guids": {"type": "object", "title": "Dbo Guids"}, "ref_tagger": {"type": "object", "title": "Ref Tagger", "properties": {"equips": {"type": "integer", "title": "Equips", "description": "Count of equipment tagger processed", "example": 1}, "points": {"type": "integer", "title": "Points", "description": "Count of points tagger processed", "example": 1}, "error_msg": {"type": "string", "title": "Error Msg", "description": "Cause of last tagger error", "example": 1}, "error_type": {"type": "string", "title": "Error Type", "description": "Type of last tagger error", "example": 1}, "timestamp": {"type": "string", "title": "Timestamp", "description": "Time of last run", "example": "2023-04-27T20:37:13.808354", "format": "date-time"}, "version": {"type": "string", "title": "Version", "description": "Identifier of tagger model version", "example": 1}}, "required": ["equips", "points", "timestamp", "version"]}, "staging_tagger": {"type": "object", "title": "Staging Tagger", "properties": {"equips": {"type": "integer", "title": "Equips", "description": "Count of equipment tagger processed", "example": 1}, "points": {"type": "integer", "title": "Points", "description": "Count of points tagger processed", "example": 1}, "error_msg": {"type": "string", "title": "Error Msg", "description": "Cause of last tagger error", "example": 1}, "error_type": {"type": "string", "title": "Error Type", "description": "Type of last tagger error", "example": 1}, "timestamp": {"type": "string", "title": "Timestamp", "description": "Time of last run", "example": "2023-04-27T20:37:13.808354", "format": "date-time"}, "version": {"type": "string", "title": "Version", "description": "Identifier of tagger model version", "example": 1}}, "required": ["equips", "points", "timestamp", "version"]}}}, "equip_count": {"type": "integer", "title": "Equip Count", "description": "Count of valid equipment in building", "example": 100}, "point_count": {"type": "integer", "title": "Point Count", "description": "Count of valid points in building", "example": 1000}, "last_promoted": {"type": "number", "title": "Last Promoted", "description": "Epoch, in seconds, for when building was last promoted", "example": 1682698057193.757}, "modified": {"type": "number", "title": "Modified", "description": "Epoch, in seconds, for when building was last modified", "example": 1682719030919.2542}}, "required": ["equip_count", "point_count"]}}}}, "produces": ["application/json"], "summary": "Retrieve building-level staging details for all buildings", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/staging/{bldg_id}/apply": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}], "post": {"responses": {"200": {"description": "Building validation errors", "schema": {"type": "object", "title": "StagingValidationErrors", "properties": {"building_id": {"type": "integer", "title": "Building Id", "description": "Onboard building id", "example": 1}, "points": {"type": "object", "title": "Points", "description": "Mapping of Onboard point topic to messages describing the failure for the point"}, "equipment": {"type": "object", "title": "Equipment", "description": "Mapping of Onboard equipment id to messages describing the failure for the equipment"}, "unexpected_deletes": {"type": "array", "title": "Unexpected Deletes", "items": {"type": "string", "description": "Messages describing the failure for the equipment"}}}, "required": ["points", "equipment"]}}}, "produces": ["application/json"], "parameters": [{"name": "StagingBuildingPromote", "in": "body", "required": true, "schema": {"type": "object", "title": "StagingBuildingPromote", "properties": {"equipment": {"type": "array", "title": "Equipment", "items": {"type": "string", "description": "Onboard equipment id"}}}, "required": ["equipment"]}}], "summary": "Publish staged changes to a live building", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "delete": {"responses": {"200": {"description": "Building validation errors", "schema": {"type": "object", "title": "StagingValidationErrors", "properties": {"building_id": {"type": "integer", "title": "Building Id", "description": "Onboard building id", "example": 1}, "points": {"type": "object", "title": "Points", "description": "Mapping of Onboard point topic to messages describing the failure for the point"}, "equipment": {"type": "object", "title": "Equipment", "description": "Mapping of Onboard equipment id to messages describing the failure for the equipment"}, "unexpected_deletes": {"type": "array", "title": "Unexpected Deletes", "items": {"type": "string", "description": "Messages describing the failure for the equipment"}}}, "required": ["points", "equipment"]}}}, "produces": ["application/json"], "parameters": [{"name": "StagingBuildingUnpromote", "in": "body", "required": true, "schema": {"type": "object", "title": "StagingBuildingUnpromote", "properties": {"equipment_ids": {"type": "array", "title": "Equipment Ids", "items": {"type": "integer", "description": "Onboard promoted equipment id"}}, "point_ids": {"type": "array", "title": "Point Ids", "items": {"type": "integer", "description": "Onboard promoted point id"}}, "point_equipment_relationships": {"type": "array", "title": "Point Equipment Relationships", "items": {"type": "object", "properties": {"equipment_id": {"type": "integer", "title": "Equipment Id", "description": "Onboard promoted equipment id"}, "point_id": {"type": "integer", "title": "Point Id", "description": "Onboard promoted point id"}}, "required": ["equipment_id", "point_id"]}}}, "required": ["equipment_ids", "point_ids", "point_equipment_relationships"]}}], "summary": "Unpublish live changes in a building. This operation will remove all point-equipment relationships as well as any equipment-less points and any point-less equipment", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/staging/{bldg_id}/validate": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Building validation errors", "schema": {"type": "object", "title": "StagingValidationErrors", "properties": {"building_id": {"type": "integer", "title": "Building Id", "description": "Onboard building id", "example": 1}, "points": {"type": "object", "title": "Points", "description": "Mapping of Onboard point topic to messages describing the failure for the point"}, "equipment": {"type": "object", "title": "Equipment", "description": "Mapping of Onboard equipment id to messages describing the failure for the equipment"}, "unexpected_deletes": {"type": "array", "title": "Unexpected Deletes", "items": {"type": "string", "description": "Messages describing the failure for the equipment"}}}, "required": ["points", "equipment"]}}}, "produces": ["application/json"], "summary": "Retrieve validation errors for staged changes", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/staging/{bldg_id}/points/{topic}": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}, {"name": "topic", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "staging points", "schema": {"type": "object", "title": "StagingPointData", "properties": {"created": {"type": "string", "title": "Created", "description": "ISO8601 string for when the equipment was first created"}, "data": {"type": "object", "title": "Data"}, "last_promoted": {"type": "string", "title": "Last Promoted", "description": "ISO8601 string for when the equipment was last promoted"}, "modified": {"type": "string", "title": "Modified", "description": "ISO8601 string for when the equipment was last modified"}, "deployment_id": {"type": "integer", "title": "Deployment Id", "description": "Onboard deployment id", "example": 1}, "confidences": {"type": "object", "title": "Confidences"}, "properties": {"type": "object", "title": "Properties", "description": "Upstream system properties of the entity"}, "device_id": {"type": "string", "title": "Device Id", "description": "Id of the device this point belongs to", "example": "bacnet-1"}, "equip_ids": {"type": "array", "title": "Equip Ids", "description": "Equip ID this point belongs to", "example": [], "items": {"type": "string", "title": "Equip Id"}}, "last_updated": {"type": "number", "title": "Last Updated", "description": "Epoch, in seconds, for when the point last received data"}, "point_type_id": {"type": "integer", "title": "Point Type Id", "description": "Id for the point type", "example": 1}, "promoted_point_id": {"type": "integer", "title": "Promoted Point Id", "description": "Id for the promoted point", "example": 1}, "raw_unit_id": {"type": "integer", "title": "Raw Unit Id", "description": "Id for the unit type", "example": 1}, "topic": {"type": "string", "title": "Topic", "description": "Topic of the point", "example": "org/building/ACU-1/binary-data_1"}}, "required": ["topic"]}}}, "produces": ["application/json"], "summary": "Retrieve staged point in a building", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/staging/{bldg_id}/points": {"parameters": [{"name": "bldg_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "staging points", "schema": {"type": "object", "title": "StagingPointData", "properties": {"created": {"type": "string", "title": "Created", "description": "ISO8601 string for when the equipment was first created"}, "data": {"type": "object", "title": "Data"}, "last_promoted": {"type": "string", "title": "Last Promoted", "description": "ISO8601 string for when the equipment was last promoted"}, "modified": {"type": "string", "title": "Modified", "description": "ISO8601 string for when the equipment was last modified"}, "deployment_id": {"type": "integer", "title": "Deployment Id", "description": "Onboard deployment id", "example": 1}, "confidences": {"type": "object", "title": "Confidences"}, "properties": {"type": "object", "title": "Properties", "description": "Upstream system properties of the entity"}, "device_id": {"type": "string", "title": "Device Id", "description": "Id of the device this point belongs to", "example": "bacnet-1"}, "equip_ids": {"type": "array", "title": "Equip Ids", "description": "Equip ID this point belongs to", "example": [], "items": {"type": "string", "title": "Equip Id"}}, "last_updated": {"type": "number", "title": "Last Updated", "description": "Epoch, in seconds, for when the point last received data"}, "point_type_id": {"type": "integer", "title": "Point Type Id", "description": "Id for the point type", "example": 1}, "promoted_point_id": {"type": "integer", "title": "Promoted Point Id", "description": "Id for the promoted point", "example": 1}, "raw_unit_id": {"type": "integer", "title": "Raw Unit Id", "description": "Id for the unit type", "example": 1}, "topic": {"type": "string", "title": "Topic", "description": "Topic of the point", "example": "org/building/ACU-1/binary-data_1"}}, "required": ["topic"]}}}, "produces": ["application/json"], "parameters": [{"name": "topics", "in": "query", "required": false, "description": "Comma-separated topics to fetch", "type": "string"}], "summary": "Retrieve staged points in a building", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}, "patch": {"responses": {"200": {"description": "staging points", "schema": {"type": "object", "title": "StagingPointData", "properties": {"created": {"type": "string", "title": "Created", "description": "ISO8601 string for when the equipment was first created"}, "data": {"type": "object", "title": "Data"}, "last_promoted": {"type": "string", "title": "Last Promoted", "description": "ISO8601 string for when the equipment was last promoted"}, "modified": {"type": "string", "title": "Modified", "description": "ISO8601 string for when the equipment was last modified"}, "deployment_id": {"type": "integer", "title": "Deployment Id", "description": "Onboard deployment id", "example": 1}, "confidences": {"type": "object", "title": "Confidences"}, "properties": {"type": "object", "title": "Properties", "description": "Upstream system properties of the entity"}, "device_id": {"type": "string", "title": "Device Id", "description": "Id of the device this point belongs to", "example": "bacnet-1"}, "equip_ids": {"type": "array", "title": "Equip Ids", "description": "Equip ID this point belongs to", "example": [], "items": {"type": "string", "title": "Equip Id"}}, "last_updated": {"type": "number", "title": "Last Updated", "description": "Epoch, in seconds, for when the point last received data"}, "point_type_id": {"type": "integer", "title": "Point Type Id", "description": "Id for the point type", "example": 1}, "promoted_point_id": {"type": "integer", "title": "Promoted Point Id", "description": "Id for the promoted point", "example": 1}, "raw_unit_id": {"type": "integer", "title": "Raw Unit Id", "description": "Id for the unit type", "example": 1}, "topic": {"type": "string", "title": "Topic", "description": "Topic of the point", "example": "org/building/ACU-1/binary-data_1"}}, "required": ["topic"]}}}, "produces": ["application/json"], "parameters": [{"name": "SequenceSchema", "in": "body", "required": true, "schema": {"type": "array", "title": "SequenceSchema", "items": {"type": "object", "properties": {"topic": {"type": "string", "title": "Topic", "description": "Topic for the point to update", "example": "/org/building/details/device/type/id"}, "point_type": {"type": "object", "title": "Point Type", "properties": {"confidence": {"type": "number", "title": "Confidence", "description": "Confidence of the assignment", "example": "100.0"}, "id": {"type": "integer", "title": "Id", "description": "Point type id to use", "example": "7"}, "tag_name": {"type": "string", "title": "Tag Name", "description": "Point type tag_name to use", "example": "cogeneration_supply_water_temperature_sensor"}}, "required": ["confidence"]}, "raw_unit": {"type": "object", "title": "Raw Unit", "properties": {"confidence": {"type": "number", "title": "Confidence", "description": "Confidence of the assignment", "example": "100.0"}, "id": {"type": "integer", "title": "Id", "description": "Unit id to update", "example": "7"}}, "required": ["confidence", "id"]}, "equip_names": {"type": "array", "title": "Equip Names", "description": "Equipment names to relate point to, if present", "items": {"type": "string", "example": "equip1"}}, "modified.cas": {"type": "string", "title": "Modified Cas", "description": "Optional check-and-set of modified time to ensure entry was updated", "example": "2025-03-06T22:32:50.242196+00:00", "format": "date-time"}, "auto_tagger.point_type_preds": {"type": "object", "title": "Auto Tagger Point Type Preds", "example": {"failed_alarm": 0.562, "exhaust_air_flowrate_sensor": 0.125, "high_zone_air_temperature_alarm": 0.132, "high_zone_air_static_pressure_alarm": 0.065, "high_zone_air_relative_humidity_alarm": 0.017}, "additionalProperties": {}}, "auto_tagger.assignment_time": {"type": "number", "title": "Auto Tagger Assignment Time", "description": "Optional value to denote when tagger made an assignment decision", "example": "1714688155618.22"}}, "required": ["topic"]}}}], "summary": "Bulk update staged points in a building", "tags": ["staging"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/features/{feature_id}": {"parameters": [{"name": "feature_id", "in": "path", "required": true, "type": "string"}]}, "/features": {"get": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "summary": "Retrieve UI features and their state", "tags": ["ui"], "security": [{"onboardLogin": []}, {"onboardApiKey": []}, {"onboardToken": []}]}}, "/ui-errors": {"put": {"responses": {"default": {"description": "UNDOCUMENTED RESPONSE"}}, "produces": ["application/json"], "parameters": [{"name": "ErrorBodySchema", "in": "body", "required": true, "schema": {"type": "object", "title": "ErrorBodySchema", "properties": {"name": {"type": "string", "title": "Name"}, "message": {"type": "string", "title": "Message"}, "hash": {"type": "string", "title": "Hash", "default": "unknown"}, "page": {"type": "string", "title": "Page"}, "agent": {"type": "string", "title": "Agent"}, "stack": {"type": "string", "title": "Stack"}, "componentStack": {"type": "string", "title": "Componentstack"}}, "required": ["name", "message"]}}], "summary": "Used by the UI to report Javascript errors", "tags": ["ui"], "security": [{}]}}}}