{"openapi":"3.1.0","info":{"title":"Rachio (BYOK) API","version":"0.1.0","description":"Rachio (BYOK) lets an AI assistant read your own Rachio devices and, with your approval of each change, change their state through the Rachio API with a key you supply (API token (Rachio app: Profile, API key, Copy)). Read tools plus 2 device-changing tools (start_watering, stop_watering); each change runs only when confirm is yes, after you approved it in chat. 6 tools in all...\n\nMost operations are read-only. These change the state of a device and run only with confirm = \"yes\" after the user approved that change: start_watering, stop_watering. The same tools are available over MCP (streamable HTTP) at https://byok-rachio-hose-timer-control.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-rachio-hose-timer-control/docs"},"termsOfService":"https://connectorbay.com/byok-rachio-hose-timer-control/terms"},"servers":[{"url":"https://byok-rachio-hose-timer-control.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-rachio-hose-timer-control/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_base_stations":{"post":{"operationId":"list_base_stations","summary":"List the Smart Hose Timer base stations of a Rachio user with id, connected state and firmware versions. Serial and MAC ","description":"List the Smart Hose Timer base stations of a Rachio user with id, connected state and firmware versions. Serial and MAC addresses are not returned. Use for \"Which Rachio hose timer base stations do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"user_id":{"description":"Rachio person id (a UUID), the id the Rachio sprinkler API returns from /public/person/info.","maxLength":64,"title":"User Id","type":"string"}},"required":["user_id"],"title":"list_base_stationsArguments","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_base_station":{"post":{"operationId":"get_base_station","summary":"Get one Smart Hose Timer base station: connected state, firmware versions and whether it is shared with you. Serial and ","description":"Get one Smart Hose Timer base station: connected state, firmware versions and whether it is shared with you. Serial and MAC addresses are not returned. Use for \"Is my Rachio hose timer base station online\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"base_station_id":{"description":"Base station id from list_base_stations.","maxLength":64,"title":"Base Station Id","type":"string"}},"required":["base_station_id"],"title":"get_base_stationArguments","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_valves":{"post":{"operationId":"list_valves","summary":"List the valves attached to a base station with name, connected state, battery status, default runtime and whether water","description":"List the valves attached to a base station with name, connected state, battery status, default runtime and whether water is flowing now. Use for \"Which valves are on my Rachio base station\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"base_station_id":{"description":"Base station id from list_base_stations.","maxLength":64,"title":"Base Station Id","type":"string"}},"required":["base_station_id"],"title":"list_valvesArguments","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_valve":{"post":{"operationId":"get_valve","summary":"Get one valve: name, connected state, battery, firmware, default runtime and current watering action if it is open. Use ","description":"Get one valve: name, connected state, battery, firmware, default runtime and current watering action if it is open. Use for \"Is my Rachio front garden valve watering right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"valve_id":{"description":"Valve id from list_valves.","maxLength":64,"title":"Valve Id","type":"string"}},"required":["valve_id"],"title":"get_valveArguments","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/start_watering":{"post":{"operationId":"start_watering","summary":"Open a valve and water for a number of seconds (capped here at 30 minutes). This changes the physical hose timer valve a","description":"Open a valve and water for a number of seconds (capped here at 30 minutes). This changes the physical hose timer valve and uses water. Use for \"Water my Rachio front garden valve for 10 minutes\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"valve_id":{"description":"Valve id from list_valves.","maxLength":64,"title":"Valve Id","type":"string"},"duration_seconds":{"description":"How long to water, in seconds, 1 to 1800.","maximum":1800,"minimum":1,"title":"Duration Seconds","type":"integer"},"confirm":{"const":"yes","description":"Must be exactly yes, only after the user approved this change in chat.","title":"Confirm","type":"string"}},"required":["valve_id","duration_seconds","confirm"],"title":"start_wateringArguments","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":false,"x-changes-device-state":true,"x-requires-confirmation":"confirm"}},"/v1/tools/stop_watering":{"post":{"operationId":"stop_watering","summary":"Close a valve and stop the watering that is running on it. This changes the physical hose timer valve and uses water. Us","description":"Close a valve and stop the watering that is running on it. This changes the physical hose timer valve and uses water. Use for \"Stop the Rachio front garden valve\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"valve_id":{"description":"Valve id from list_valves.","maxLength":64,"title":"Valve Id","type":"string"},"confirm":{"const":"yes","description":"Must be exactly yes, only after the user approved this change in chat.","title":"Confirm","type":"string"}},"required":["valve_id","confirm"],"title":"stop_wateringArguments","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":false,"x-changes-device-state":true,"x-requires-confirmation":"confirm"}}}}