generated: '2026-10-14' method: generated source: openapi/rachio-api-settings-openapi.yml, openapi/rachio-property-service-openapi.yml, openapi/rachio-smart-hose-timer-openapi.yml, openapi/rachio-smart-lighting-controller-openapi.yml, openapi/rachio-webhooks-openapi.yml description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 79 by_action_class: connected: 30 acting: 49 by_consequence: read: 30 write: 38 safety-critical: 11 human_in_the_loop_required: 11 operations: - path: /public/device/:id method: get operationId: publicdeviceid x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /public/device/off method: put operationId: publicdeviceoff-1 x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /public/device/on method: put operationId: publicdeviceon-1 x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /public/device/pause_zone_run method: put operationId: publicdevicepause_zone_run x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /public/device/rain_delay method: put operationId: devicerain_delay x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /public/device/resume_zone_run method: put operationId: publicdeviceresume_zone_run x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /public/device/stop_water method: put operationId: devicestop_water x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /public/notification/:deviceId/webhook method: get operationId: publicnotificationdeviceidwebhook x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /public/notification/webhook method: put operationId: publicnotificationwebhook-1 x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /public/notification/webhook method: post operationId: publicnotificationwebhook x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /public/notification/webhook_event_type method: get operationId: publicnotificationwebhook_event_type x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /public/person/info method: get operationId: publicpersoninfo x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /public/schedulerule/seasonal_adjustment method: put operationId: publicscheduleruleseasonal_adjustment x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /public/schedulerule/skip method: put operationId: scheduleruleskip x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /public/schedulerule/skip_forward_zone_run method: put operationId: publicscheduleruleskip_forward_zone_run x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /public/schedulerule/start method: put operationId: schedulerulestart x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /public/zone/disable method: put operationId: publiczonedisable x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /public/zone/enable method: put operationId: publiczoneenable x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /public/zone/setMoistureLevel method: put operationId: publiczonesetmoisturelevel x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /public/zone/setMoisturePercent method: put operationId: publiczonesetmoisturepercent x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /public/zone/start method: put operationId: zonestart x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /public/zone/start_multiple method: put operationId: publiczonestart_multiple x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /property/findPropertyByEntity method: get operationId: PropertyService_FindPropertyByEntity x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /property/getProperty/{id} method: get operationId: PropertyService_GetProperty x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /property/listProperties/{userId} method: get operationId: PropertyService_ListProperties x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /program/createPlannedRunSkipOverrides method: post operationId: ProgramService_CreatePlannedRunSkipOverrides x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /program/createProgramV2 method: post operationId: ProgramService_CreateProgramV2 x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /program/createSkipOverrides method: post operationId: ProgramService_CreateSkipOverrides x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /program/deletePlannedRunSkipOverrides method: post operationId: ProgramService_DeletePlannedRunSkipOverrides x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /program/deleteProgram/{id} method: delete operationId: ProgramService_DeleteProgram x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /program/deleteSkipOverrides method: post operationId: ProgramService_DeleteSkipOverrides x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /program/getProgram/{id} method: get operationId: ProgramService_GetProgram x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /program/getProgramV2/{id} method: get operationId: ProgramService_GetProgramV2 x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /program/listPrograms/{entityId} method: get operationId: ProgramService_ListPrograms x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /program/listProgramsV2 method: get operationId: ProgramService_ListProgramsV2 x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /program/updateProgramV2 method: put operationId: ProgramService_UpdateProgramV2 x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /summary/getValveDayViews method: post operationId: SummaryService_GetValveDayViews x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /valve/getBaseStation/{id} method: get operationId: ValveService_GetBaseStation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /valve/getValve/{id} method: get operationId: ValveService_GetValve x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /valve/listBaseStations/{userId} method: get operationId: ValveService_ListBaseStations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /valve/listValves/{baseStationId} method: get operationId: ValveService_ListValves x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /valve/setDefaultRuntime method: put operationId: ValveService_SetDefaultRuntime x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /valve/startWatering method: put operationId: ValveService_StartWatering x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /valve/stopWatering method: put operationId: ValveService_StopWatering x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /lighting/activateLightingScene/{id} method: put operationId: LightingService_ActivateLightingScene x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /lighting/createLightingProgram method: post operationId: LightingService_CreateLightingProgram x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /lighting/createLightingScene method: post operationId: LightingService_CreateLightingScene x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /lighting/createLightingZoneGroup method: post operationId: LightingService_CreateLightingZoneGroup x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /lighting/deactivateLightingScene/{id} method: put operationId: LightingService_DeactivateLightingScene x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /lighting/deleteLightingProgram/{id} method: delete operationId: LightingService_DeleteLightingProgram x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /lighting/deleteLightingScene/{id} method: delete operationId: LightingService_DeleteLightingScene x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /lighting/deleteLightingZoneGroup/{id} method: delete operationId: LightingService_DeleteLightingZoneGroup x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /lighting/getLightingArea/{id} method: get operationId: LightingService_GetLightingArea x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /lighting/getLightingController/{id} method: get operationId: LightingService_GetLightingController x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /lighting/getLightingProgram/{id} method: get operationId: LightingService_GetLightingProgram x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /lighting/getLightingScene/{id} method: get operationId: LightingService_GetLightingScene x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /lighting/getLightingZone/{id} method: get operationId: LightingService_GetLightingZone x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /lighting/getLightingZoneGroup/{id} method: get operationId: LightingService_GetLightingZoneGroup x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /lighting/listLightingAreas/{user_id} method: get operationId: LightingService_ListLightingAreas x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /lighting/listLightingControllers/{lighting_area_id} method: get operationId: LightingService_ListLightingControllers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /lighting/listLightingPrograms method: get operationId: LightingService_ListLightingPrograms x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /lighting/listLightingScenes/{lighting_area_id} method: get operationId: LightingService_ListLightingScenes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /lighting/listLightingZoneGroups/{lighting_area_id} method: get operationId: LightingService_ListLightingZoneGroups x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /lighting/listLightingZones method: get operationId: LightingService_ListLightingZones x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /lighting/setLightingZoneDesiredDimmingSettings method: put operationId: LightingService_SetLightingZoneDesiredDimmingSettings x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /lighting/setLightingZoneDimmingLevels method: put operationId: LightingService_SetLightingZoneDimmingLevels x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /lighting/setLightingZoneStates method: put operationId: LightingService_SetLightingZoneStates x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /lighting/updateLightingController method: put operationId: LightingService_UpdateLightingController x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /lighting/updateLightingProgram method: put operationId: LightingService_UpdateLightingProgram x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /lighting/updateLightingScene method: put operationId: LightingService_UpdateLightingScene x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /lighting/updateLightingZone method: put operationId: LightingService_UpdateLightingZone x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /lighting/updateLightingZoneGroup method: put operationId: LightingService_UpdateLightingZoneGroup x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /webhook/createWebhook method: post operationId: WebhookService_CreateWebhook x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /webhook/deleteAllWebhooks method: delete operationId: WebhookService_DeleteAllWebhooks x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /webhook/deleteWebhook/{id} method: delete operationId: WebhookService_DeleteWebhook x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /webhook/getWebhook/{id} method: get operationId: WebhookService_GetWebhook x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /webhook/listWebhookEventTypes method: get operationId: WebhookService_ListWebhookEventTypes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /webhook/listWebhooks method: get operationId: WebhookService_ListWebhooks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /webhook/updateWebhook method: put operationId: WebhookService_UpdateWebhook x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required