{"openapi":"3.1.0","info":{"title":"Sinric Pro (BYOK) API","version":"0.1.0","description":"Sinric Pro (BYOK) lets an AI assistant read your own Sinric Pro data through the Sinric Pro API with a key you supply (Sinric Pro API key). Read-only: 9 tools (list_devices, get_device, list_homes, get_home, list_rooms, get_room, list_default_room_names, list_activity_logs, get_device_activity_logs). The BYOK key travels with each request, is used for that one call only and is never stored,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-sinricpro.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-sinricpro/docs"},"termsOfService":"https://connectorbay.com/byok-sinricpro/terms"},"servers":[{"url":"https://byok-sinricpro.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-sinricpro/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/list_devices":{"post":{"operationId":"list_devices","summary":"List the devices in the Sinric Pro account. Use for \"Which devices do I have in Sinric Pro\".","description":"List the devices in the Sinric Pro account. Use for \"Which devices do I have in Sinric Pro\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_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/get_device":{"post":{"operationId":"get_device","summary":"Get one Sinric Pro device by id. Use for \"Show Sinric Pro device 5c5f796c40a15340803141c9\".","description":"Get one Sinric Pro device by id. Use for \"Show Sinric Pro device 5c5f796c40a15340803141c9\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"device_id":{"description":"Sinric Pro device id as returned by list_devices.","maxLength":40,"title":"Device Id","type":"string"}},"required":["device_id"],"title":"get_deviceArguments","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_homes":{"post":{"operationId":"list_homes","summary":"List the homes defined in the Sinric Pro account. Use for \"What homes do I have in Sinric Pro\".","description":"List the homes defined in the Sinric Pro account. Use for \"What homes do I have in Sinric Pro\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_homesArguments","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_home":{"post":{"operationId":"get_home","summary":"Get one Sinric Pro home by id. Use for \"Show Sinric Pro home 5c5e726095bd1817e07ab3ac\".","description":"Get one Sinric Pro home by id. Use for \"Show Sinric Pro home 5c5e726095bd1817e07ab3ac\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"home_id":{"description":"Home id as returned by list_homes.","maxLength":40,"title":"Home Id","type":"string"}},"required":["home_id"],"title":"get_homeArguments","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_rooms":{"post":{"operationId":"list_rooms","summary":"List the rooms defined in the Sinric Pro account. Use for \"Which rooms exist in Sinric Pro\".","description":"List the rooms defined in the Sinric Pro account. Use for \"Which rooms exist in Sinric Pro\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_roomsArguments","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_room":{"post":{"operationId":"get_room","summary":"Get one Sinric Pro room by id. Use for \"Show Sinric Pro room 5c5e4578beafb23e08e15b8d\".","description":"Get one Sinric Pro room by id. Use for \"Show Sinric Pro room 5c5e4578beafb23e08e15b8d\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"room_id":{"description":"Room id as returned by list_rooms.","maxLength":40,"title":"Room Id","type":"string"}},"required":["room_id"],"title":"get_roomArguments","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_default_room_names":{"post":{"operationId":"list_default_room_names","summary":"List the default room names Sinric Pro offers when creating rooms. Use for \"What default room names does Sinric Pro sugg","description":"List the default room names Sinric Pro offers when creating rooms. Use for \"What default room names does Sinric Pro suggest\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_default_room_namesArguments","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_activity_logs":{"post":{"operationId":"list_activity_logs","summary":"List recent account activity log entries (messages such as device created) with the device they refer to. IP addresses a","description":"List recent account activity log entries (messages such as device created) with the device they refer to. IP addresses are left out. Use for \"What recent activity happened in my Sinric Pro account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_activity_logsArguments","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_device_activity_logs":{"post":{"operationId":"get_device_activity_logs","summary":"Get the activity log entries of one Sinric Pro device. Use for \"What happened recently on Sinric Pro device 5c5f796c40a1","description":"Get the activity log entries of one Sinric Pro device. Use for \"What happened recently on Sinric Pro device 5c5f796c40a15340803141c9\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"device_id":{"description":"Sinric Pro device id as returned by list_devices.","maxLength":40,"title":"Device Id","type":"string"}},"required":["device_id"],"title":"get_device_activity_logsArguments","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}}}}