Portainer Agentic Access
Portainer exposes 237 API operations that an AI agent could call, of which 129 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.
By consequence: 108 read, 109 write, 13 physical, and 7 safety-critical.
7 operations are classed safety-critical and should require human-in-the-loop approval at runtime.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
By consequence
Highest-consequence actions
The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| PUT | /kubernetes/{id}/ingresscontrollers | safety-critical | required |
| PUT | /kubernetes/{id}/namespaces/{namespace}/ingresscontrollers | safety-critical | required |
| POST | /resource_controls | safety-critical | required |
| DELETE | /resource_controls/{id} | safety-critical | required |
| PUT | /resource_controls/{id} | safety-critical | required |
| POST | /stacks/{id}/start | safety-critical | required |
| POST | /stacks/{id}/stop | safety-critical | required |
| POST | /stacks/create/kubernetes/repository | physical | conditional |
| POST | /stacks/create/kubernetes/string | physical | conditional |
| POST | /stacks/create/kubernetes/url | physical | conditional |
| POST | /stacks/create/standalone/file | physical | conditional |
| POST | /stacks/create/standalone/repository | physical | conditional |
| POST | /stacks/create/standalone/string | physical | conditional |
| POST | /stacks/create/swarm/file | physical | conditional |
| POST | /stacks/create/swarm/repository | physical | conditional |
| POST | /stacks/create/swarm/string | physical | conditional |
| PUT | /stacks/{id}/git/redeploy | physical | conditional |
| POST | /team_memberships | physical | conditional |
| DELETE | /team_memberships/{id} | physical | conditional |
| PUT | /team_memberships/{id} | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/portainer-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: 237
by_action_class:
acting: 129
connected: 108
by_consequence:
write: 109
read: 108
safety-critical: 7
physical: 13
human_in_the_loop_required: 7
operations:
- path: /auth
method: post
operationId: AuthenticateUser
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: /auth/logout
method: post
operationId: Logout
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: /auth/oauth/validate
method: post
operationId: ValidateOAuth
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: /backup
method: post
operationId: Backup
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: /custom_templates
method: get
operationId: CustomTemplateList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /custom_templates/{id}
method: delete
operationId: CustomTemplateDelete
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: /custom_templates/{id}
method: get
operationId: CustomTemplateInspect
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /custom_templates/{id}
method: put
operationId: CustomTemplateUpdate
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: /custom_templates/{id}/file
method: get
operationId: CustomTemplateFile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /custom_templates/{id}/git_fetch
method: put
operationId: CustomTemplateGitFetch
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: /custom_templates/create/file
method: post
operationId: CustomTemplateCreateFile
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: /custom_templates/create/repository
method: post
operationId: CustomTemplateCreateRepository
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: /custom_templates/create/string
method: post
operationId: CustomTemplateCreateString
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: /docker/{environmentId}/containers/{containerId}/gpus
method: get
operationId: dockerContainerGpusInspect
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /docker/{environmentId}/dashboard
method: get
operationId: dockerDashboard
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /docker/{environmentId}/images
method: get
operationId: dockerImagesList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /edge_groups
method: get
operationId: EdgeGroupList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /edge_groups
method: post
operationId: EdgeGroupCreate
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: /edge_groups/{id}
method: delete
operationId: EdgeGroupDelete
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: /edge_groups/{id}
method: get
operationId: EdgeGroupInspect
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /edge_groups/{id}
method: put
operationId: EdgeGroupUpdate
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: /edge_jobs
method: get
operationId: EdgeJobList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /edge_jobs/{id}
method: delete
operationId: EdgeJobDelete
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: /edge_jobs/{id}
method: get
operationId: EdgeJobInspect
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /edge_jobs/{id}
method: put
operationId: EdgeJobUpdate
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: /edge_jobs/{id}/file
method: get
operationId: EdgeJobFile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /edge_jobs/{id}/tasks
method: get
operationId: EdgeJobTasksList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /edge_jobs/{id}/tasks/{taskID}/logs
method: delete
operationId: EdgeJobTasksClear
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: /edge_jobs/{id}/tasks/{taskID}/logs
method: get
operationId: EdgeJobTaskLogsInspect
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /edge_jobs/{id}/tasks/{taskID}/logs
method: post
operationId: EdgeJobTasksCollect
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: /edge_jobs/create/file
method: post
operationId: EdgeJobCreateFile
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: /edge_jobs/create/string
method: post
operationId: EdgeJobCreateString
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: /edge_stacks
method: get
operationId: EdgeStackList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /edge_stacks/{id}
method: delete
operationId: EdgeStackDelete
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: /edge_stacks/{id}
method: get
operationId: EdgeStackInspect
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /edge_stacks/{id}
method: put
operationId: EdgeStackUpdate
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: /edge_stacks/{id}/file
method: get
operationId: EdgeStackFile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /edge_stacks/{id}/status
method: put
operationId: EdgeStackStatusUpdate
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: /edge_stacks/create/file
method: post
operationId: EdgeStackCreateFile
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: /edge_stacks/create/repository
method: post
operationId: EdgeStackCreateRepository
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: /edge_stacks/create/string
method: post
operationId: EdgeStackCreateString
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: /endpoint_groups
method: get
operationId: EndpointGroupList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /endpoint_groups
method: post
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: /endpoint_groups/{id}
method: delete
operationId: EndpointGroupDelete
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: /endpoint_groups/{id}
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /endpoint_groups/{id}
method: put
operationId: EndpointGroupUpdate
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: /endpoint_groups/{id}/endpoints/{endpointId}
method: delete
operationId: EndpointGroupDeleteEndpoint
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: /endpoint_groups/{id}/endpoints/{endpointId}
method: put
operationId: EndpointGroupAddEndpoint
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: /endpoints
method: delete
operationId: EndpointDeleteBatchDeprecated
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: /endpoints
method: get
operationId: EndpointList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /endpoints
method: post
operationId: EndpointCreate
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: /endpoints/{id}
method: delete
operationId: EndpointDelete
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: /endpoints/{id}
method: get
operationId: EndpointInspect
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /endpoints/{id}
method: put
operationId: EndpointUpdate
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: /endpoints/{id}/association
method: put
operationId: EndpointAssociationDelete
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: /endpoints/{id}/docker/v2/browse/put
method: post
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: /endpoints/{id}/dockerhub/{registryId}
method: get
operationId: endpointDockerhubStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /endpoints/{id}/edge/jobs/{jobID}/logs
method: post
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: /endpoints/{id}/edge/stacks/{stackId}
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /endpoints/{id}/edge/status
method: get
operationId: EndpointEdgeStatusInspect
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /endpoints/{id}/forceupdateservice
method: put
operationId: endpointForceUpdateService
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: /endpoints/{id}/kubernetes/helm
method: get
operationId: HelmList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /endpoints/{id}/kubernetes/helm
method: post
operationId: HelmInstall
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: /endpoints/{id}/kubernetes/helm/{name}
method: get
operationId: HelmGet
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /endpoints/{id}/kubernetes/helm/{release}
method: delete
operationId: HelmDelete
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: /endpoints/{id}/kubernetes/helm/{release}/history
method: get
operationId: HelmGetHistory
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /endpoints/{id}/kubernetes/helm/{release}/rollback
method: post
operationId: HelmRollback
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: /endpoints/{id}/registries
method: get
operationId: endpointRegistriesList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /endpoints/{id}/registries/{registryId}
method: put
operationId: endpointRegistryAccess
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: /endpoints/{id}/settings
method: put
operationId: EndpointSettingsUpdate
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: /endpoints/{id}/snapshot
method: post
operationId: EndpointSnapshot
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: /endpoints/delete
method: post
operationId: EndpointDeleteBatch
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: /endpoints/global-key
method: post
operationId: EndpointCreateGlobalKey
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: /endpoints/relations
method: put
operationId: EndpointUpdateRelations
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: /endpoints/snapshot
method: post
operationId: EndpointSnapshots
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: /gitops/repo/file/preview
method: post
operationId: GitOperationRepoFilePreview
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: /kubernetes/{id}/applications
method: get
operationId: GetAllKubernetesApplications
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/applications/count
method: get
operationId: GetAllKubernetesApplicationsCount
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/cluster_role_bindings/delete
method: post
operationId: DeleteClusterRoleBindings
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: /kubernetes/{id}/cluster_roles/delete
method: post
operationId: DeleteClusterRoles
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: /kubernetes/{id}/clusterrolebindings
method: get
operationId: GetAllKubernetesClusterRoleBindings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/clusterroles
method: get
operationId: GetAllKubernetesClusterRoles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/configmaps
method: get
operationId: GetAllKubernetesConfigMaps
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/configmaps/count
method: get
operationId: GetAllKubernetesConfigMapsCount
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/cron_jobs
method: get
operationId: GetKubernetesCronJobs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/cron_jobs/delete
method: post
operationId: DeleteCronJobs
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: /kubernetes/{id}/dashboard
method: get
operationId: GetKubernetesDashboard
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/describe
method: get
operationId: DescribeResource
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/events
method: get
operationId: getAllKubernetesEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/ingresscontrollers
method: get
operationId: GetAllKubernetesIngressControllers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/ingresscontrollers
method: put
operationId: UpdateKubernetesIngressControllers
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: /kubernetes/{id}/ingresses
method: get
operationId: GetAllKubernetesClusterIngresses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/ingresses/count
method: get
operationId: GetAllKubernetesClusterIngressesCount
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/ingresses/delete
method: post
operationId: DeleteKubernetesIngresses
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: /kubernetes/{id}/jobs
method: get
operationId: GetKubernetesJobs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/jobs/delete
method: post
operationId: DeleteJobs
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: /kubernetes/{id}/max_resource_limits
method: get
operationId: GetKubernetesMaxResourceLimits
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/metrics/applications_resources
method: get
operationId: GetApplicationsResources
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/metrics/nodes
method: get
operationId: GetKubernetesMetricsForAllNodes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/metrics/nodes/{name}
method: get
operationId: GetKubernetesMetricsForNode
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/metrics/pods/{namespace}
method: get
operationId: GetKubernetesMetricsForAllPods
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/metrics/pods/{namespace}/{name}
method: get
operationId: GetKubernetesMetricsForPod
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/namespaces
method: delete
operationId: DeleteKubernetesNamespace
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: /kubernetes/{id}/namespaces
method: get
operationId: GetKubernetesNamespaces
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/namespaces
method: post
operationId: CreateKubernetesNamespace
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: /kubernetes/{id}/namespaces
method: put
operationId: UpdateKubernetesNamespaceDeprecated
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: /kubernetes/{id}/namespaces/{namespace}
method: get
operationId: GetKubernetesNamespace
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/namespaces/{namespace}
method: put
operationId: UpdateKubernetesNamespace
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: /kubernetes/{id}/namespaces/{namespace}/configmaps/{configmap}
method: get
operationId: GetKubernetesConfigMap
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/namespaces/{namespace}/events
method: get
operationId: getKubernetesEventsForNamespace
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kubernetes/{id}/namespaces/{namespace}/ingresscontrollers
method: get
operationId:
# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/portainer/refs/heads/main/agentic-access/portainer-agentic-access.yml