{"openapi":"3.1.0","info":{"title":"Rhombus (BYOK) API","version":"0.1.0","description":"Rhombus (BYOK) lets an AI assistant read your own Rhombus data through the Rhombus API with a key you supply (Rhombus API key (US region organizations; EU organizations use a different host that is not supported here)). Read-only: 8 tools (get_camera_states, get_climate_sensor_states, get_door_sensor_states, get_audio_gateway_states, list_unhealthy_devices, list_policy_alerts,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-rhombus.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-rhombus/docs"},"termsOfService":"https://connectorbay.com/byok-rhombus/terms"},"servers":[{"url":"https://byok-rhombus.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-rhombus/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_camera_states":{"post":{"operationId":"get_camera_states","summary":"List all cameras with name, serial number, connection and health status, firmware version, location, Wi-Fi signal and li","description":"List all cameras with name, serial number, connection and health status, firmware version, location, Wi-Fi signal and live sharing state. Use for \"Which of my Rhombus cameras are offline or unhealthy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"include_mummified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to also include decommissioned (mummified) cameras.","title":"Include Mummified"}},"title":"get_camera_statesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_climate_sensor_states":{"post":{"operationId":"get_climate_sensor_states","summary":"List all environmental sensors with name, temperature, humidity, air quality values, battery, signal and health. Use for","description":"List all environmental sensors with name, temperature, humidity, air quality values, battery, signal and health. Use for \"What temperature and humidity do my Rhombus sensors report\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_climate_sensor_statesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_door_sensor_states":{"post":{"operationId":"get_door_sensor_states","summary":"List all door sensors with name, open or closed status, battery, signal and health. Use for \"Which Rhombus door sensors ","description":"List all door sensors with name, open or closed status, battery, signal and health. Use for \"Which Rhombus door sensors are open right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_door_sensor_statesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_audio_gateway_states":{"post":{"operationId":"get_audio_gateway_states","summary":"List all audio gateways with name, serial number, connection and health status, firmware version and Wi-Fi signal. Use f","description":"List all audio gateways with name, serial number, connection and health status, firmware version and Wi-Fi signal. Use for \"Are my Rhombus audio gateways online\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_audio_gateway_statesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_unhealthy_devices":{"post":{"operationId":"list_unhealthy_devices","summary":"List current unhealthy device alerts of the organization with device id, symptom and time. Use for \"Which Rhombus device","description":"List current unhealthy device alerts of the organization with device id, symptom and time. Use for \"Which Rhombus devices have a health problem\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_unhealthy_devicesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_policy_alerts":{"post":{"operationId":"list_policy_alerts","summary":"List recent policy alerts (motion, person, vehicle and other detections) with time, type, triggers, description, duratio","description":"List recent policy alerts (motion, person, vehicle and other detections) with time, type, triggers, description, duration and location. Use for \"What alerts did my Rhombus cameras raise in the last day\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"max_results":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Maximum number of alerts to return (1 to 100).","title":"Max Results"},"after_timestamp_ms":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only alerts after this time in Unix milliseconds.","title":"After Timestamp Ms"},"before_timestamp_ms":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only alerts before this time in Unix milliseconds.","title":"Before Timestamp Ms"}},"title":"list_policy_alertsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/count_policy_alerts":{"post":{"operationId":"count_policy_alerts","summary":"Count policy alerts of the organization, up to a maximum. Use for \"How many policy alerts does my Rhombus organization h","description":"Count policy alerts of the organization, up to a maximum. Use for \"How many policy alerts does my Rhombus organization have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"max_results_size":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1000,"description":"Maximum number to count (1 to 10000).","title":"Max Results Size"}},"title":"count_policy_alertsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_organization_details":{"post":{"operationId":"get_organization_details","summary":"Show the organization: name, country, creation time, multi-factor setting and inactivity timeout. Use for \"Which Rhombus","description":"Show the organization: name, country, creation time, multi-factor setting and inactivity timeout. Use for \"Which Rhombus organization is this key for\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_organization_detailsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}