generated: '2026-07-15' method: generated source: openapi/windmill-dev-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: 49 by_action_class: connected: 30 acting: 19 by_consequence: read: 30 write: 18 safety-critical: 1 human_in_the_loop_required: 1 operations: - path: /version method: get operationId: getVersion x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/scripts/list method: get operationId: listScripts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/scripts/create method: post operationId: createScript 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: /w/{workspace}/scripts/get/p/{path} method: get operationId: getScriptByPath x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/scripts/archive/p/{path} method: post operationId: archiveScriptByPath 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: /w/{workspace}/flows/list method: get operationId: listFlows x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/flows/create method: post operationId: createFlow 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: /w/{workspace}/flows/get/p/{path} method: get operationId: getFlowByPath x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/apps/list method: get operationId: listApps x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/apps/get/p/{path} method: get operationId: getAppByPath x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/jobs/run/p/{path} method: post operationId: runScriptByPath 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: /w/{workspace}/jobs/run_wait_result/p/{path} method: post operationId: runScriptByPathAndWaitResult 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: /w/{workspace}/jobs/run/f/{path} method: post operationId: runFlowByPath 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: /w/{workspace}/jobs/list method: get operationId: listJobs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/jobs_u/get/{id} method: get operationId: getJob x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/jobs_u/completed/get_result/{id} method: get operationId: getCompletedJobResult x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/jobs_u/queue/cancel/{id} method: post operationId: cancelJob 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: /w/{workspace}/schedules/list method: get operationId: listSchedules x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/schedules/create method: post operationId: createSchedule 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: /w/{workspace}/schedules/setenabled/{path} method: post operationId: setScheduleEnabled 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: /w/{workspace}/variables/list method: get operationId: listVariables x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/variables/create method: post operationId: createVariable 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: /w/{workspace}/variables/get/{path} method: get operationId: getVariable x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/variables/delete/{path} method: delete operationId: deleteVariable 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: /w/{workspace}/resources/list method: get operationId: listResources x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/resources/create method: post operationId: createResource 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: /w/{workspace}/resources/type/list method: get operationId: listResourceTypes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /workspaces/list method: get operationId: listWorkspaces x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /workspaces/create method: post operationId: createWorkspace 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: /w/{workspace}/workspaces/get_settings method: get operationId: getWorkspaceSettings x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/whoami method: get operationId: globalWhoami x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/users/whoami method: get operationId: whoami x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/users/list method: get operationId: listWorkspaceUsers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/tokens/create method: post operationId: createToken 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: /w/{workspace}/groups/list method: get operationId: listGroups x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/groups/create method: post operationId: createGroup 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: /w/{workspace}/groups/adduser/{name} method: post operationId: addUserToGroup 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: /w/{workspace}/folders/list method: get operationId: listFolders x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/folders/create method: post operationId: createFolder 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: /w/{workspace}/audit/list method: get operationId: listAuditLogs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/audit/get/{id} method: get operationId: getAuditLog x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /workers/list method: get operationId: listWorkers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/queue/count method: get operationId: getQueueCount x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/http_triggers/list method: get operationId: listHttpTriggers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/websocket_triggers/list method: get operationId: listWebsocketTriggers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/websocket_triggers/create method: post operationId: createWebsocketTrigger 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: /w/{workspace}/kafka_triggers/list method: get operationId: listKafkaTriggers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/postgres_triggers/list method: get operationId: listPostgresTriggers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /w/{workspace}/oidc/token method: post operationId: generateOidcToken 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