Exoscale Agentic Access
Exoscale exposes 338 API operations that an AI agent could call, of which 219 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: 119 read, 191 write, 4 physical, and 24 safety-critical.
24 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 | /dbaas-grafana/{service-name}/user/{username}/password/reset | safety-critical | required |
| PUT | /dbaas-kafka/{service-name}/user/{username}/password/reset | safety-critical | required |
| POST | /dbaas-mysql/{name}/migration/stop | safety-critical | required |
| PUT | /dbaas-mysql/{service-name}/user/{username}/password/reset | safety-critical | required |
| PUT | /dbaas-opensearch/{service-name}/user/{username}/password/reset | safety-critical | required |
| POST | /dbaas-postgres/{name}/migration/stop | safety-critical | required |
| PUT | /dbaas-postgres/{service-name}/user/{username}/allow-replication | safety-critical | required |
| PUT | /dbaas-postgres/{service-name}/user/{username}/password/reset | safety-critical | required |
| POST | /dbaas-valkey/{name}/migration/stop | safety-critical | required |
| PUT | /dbaas-valkey/{service-name}/user/{username} | safety-critical | required |
| PUT | /dbaas-valkey/{service-name}/user/{username}/password/reset | safety-critical | required |
| DELETE | /elastic-ip/{id}/{field} | safety-critical | required |
| POST | /iam-organization-policy:reset | safety-critical | required |
| DELETE | /instance-pool/{id}/{field} | safety-critical | required |
| DELETE | /instance/{id}/{field} | safety-critical | required |
| PUT | /instance/{id}:reboot | safety-critical | required |
| PUT | /instance/{id}:reset | safety-critical | required |
| PUT | /instance/{id}:reset-password | safety-critical | required |
| PUT | /instance/{id}:stop | safety-critical | required |
| POST | /kms-key/{id}/disable | safety-critical | required |
| POST | /kms-key/{id}/disable-key-rotation | safety-critical | required |
| DELETE | /load-balancer/{id}/service/{service-id}/{field} | safety-critical | required |
| DELETE | /load-balancer/{id}/{field} | safety-critical | required |
| DELETE | /private-network/{id}/{field} | safety-critical | required |
| POST | /ai/deployment | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/exoscale-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: 338
by_action_class:
acting: 219
connected: 119
by_consequence:
write: 191
read: 119
safety-critical: 24
physical: 4
human_in_the_loop_required: 24
operations:
- path: /load-balancer/{id}/service/{service-id}
method: delete
operationId: delete-load-balancer-service
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: /load-balancer/{id}/service/{service-id}
method: put
operationId: update-load-balancer-service
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: /load-balancer/{id}/service/{service-id}
method: get
operationId: get-load-balancer-service
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dbaas-external-endpoint-opensearch/{endpoint-id}
method: delete
operationId: delete-dbaas-external-endpoint-opensearch
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: /dbaas-external-endpoint-opensearch/{endpoint-id}
method: get
operationId: get-dbaas-external-endpoint-opensearch
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dbaas-external-endpoint-opensearch/{endpoint-id}
method: put
operationId: update-dbaas-external-endpoint-opensearch
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: /dbaas-opensearch/{name}/acl-config
method: get
operationId: get-dbaas-opensearch-acl-config
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dbaas-opensearch/{name}/acl-config
method: put
operationId: update-dbaas-opensearch-acl-config
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: /instance-pool/{id}:scale
method: put
operationId: scale-instance-pool
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: /instance/{id}:create-snapshot
method: post
operationId: create-snapshot
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: /dbaas-valkey/{name}/migration/stop
method: post
operationId: stop-dbaas-valkey-migration
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: /reverse-dns/elastic-ip/{id}
method: get
operationId: get-reverse-dns-elastic-ip
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /reverse-dns/elastic-ip/{id}
method: post
operationId: update-reverse-dns-elastic-ip
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: /reverse-dns/elastic-ip/{id}
method: delete
operationId: delete-reverse-dns-elastic-ip
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: /anti-affinity-group
method: get
operationId: list-anti-affinity-groups
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /anti-affinity-group
method: post
operationId: create-anti-affinity-group
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: /ai/ai-api-key
method: get
operationId: list-ai-api-keys
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/ai-api-key
method: post
operationId: create-ai-api-key
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: /usage-report
method: get
operationId: get-usage-report
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /event
method: get
operationId: list-events
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /security-group/{id}/rules/{rule-id}
method: delete
operationId: delete-rule-from-security-group
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: /dbaas-grafana/{name}/maintenance/start
method: put
operationId: start-dbaas-grafana-maintenance
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: /kms-key/{id}/disable-key-rotation
method: post
operationId: disable-kms-key-rotation
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: /dbaas-postgres/{service}/upgrade-check
method: post
operationId: create-dbaas-pg-upgrade-check
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: /dbaas-mysql/{service-name}/user/{username}/password/reset
method: put
operationId: reset-dbaas-mysql-user-password
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: /ai/help/inference-engine-parameters
method: get
operationId: get-inference-engine-help
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /load-balancer
method: post
operationId: create-load-balancer
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: /load-balancer
method: get
operationId: list-load-balancers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /security-group
method: post
operationId: create-security-group
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: /security-group
method: get
operationId: list-security-groups
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dbaas-postgres/{service-name}/connection-pool
method: post
operationId: create-dbaas-pg-connection-pool
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: /dbaas-mysql/{name}
method: put
operationId: update-dbaas-service-mysql
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: /dbaas-mysql/{name}
method: get
operationId: get-dbaas-service-mysql
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dbaas-mysql/{name}
method: post
operationId: create-dbaas-service-mysql
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: /dbaas-mysql/{name}
method: delete
operationId: delete-dbaas-service-mysql
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: /iam-role/{target-role-id}/assume
method: post
operationId: assume-iam-role
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: /private-network/{id}:attach
method: put
operationId: attach-instance-to-private-network
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: /kms-key/{id}
method: get
operationId: get-kms-key
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dbaas-thanos/{name}/maintenance/start
method: put
operationId: start-dbaas-thanos-maintenance
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: /dbaas-external-endpoint-elasticsearch/{endpoint-id}
method: delete
operationId: delete-dbaas-external-endpoint-elasticsearch
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: /dbaas-external-endpoint-elasticsearch/{endpoint-id}
method: get
operationId: get-dbaas-external-endpoint-elasticsearch
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dbaas-external-endpoint-elasticsearch/{endpoint-id}
method: put
operationId: update-dbaas-external-endpoint-elasticsearch
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: /ai/model
method: post
operationId: create-model
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: /ai/model
method: get
operationId: list-models
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dbaas-mysql/{service-name}/user
method: post
operationId: create-dbaas-mysql-user
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: /dbaas-service-type
method: get
operationId: list-dbaas-service-types
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/deployment/{id}/scale
method: post
operationId: scale-deployment
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /instance-type/{id}
method: get
operationId: get-instance-type
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /instance/{id}:password
method: get
operationId: reveal-instance-password
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sks-template/{kube-version}/{variant}
method: get
operationId: get-active-nodepool-template
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /instance/{id}:resize-disk
method: put
operationId: resize-instance-disk
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: /dbaas-service
method: get
operationId: list-dbaas-services
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /elastic-ip
method: post
operationId: create-elastic-ip
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: /elastic-ip
method: get
operationId: list-elastic-ips
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /zone
method: get
operationId: list-zones
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /instance-pool
method: get
operationId: list-instance-pools
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /instance-pool
method: post
operationId: create-instance-pool
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: /dbaas-external-endpoint-rsyslog/{name}
method: post
operationId: create-dbaas-external-endpoint-rsyslog
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: /sks-cluster-kubeconfig/{id}
method: post
operationId: generate-sks-cluster-kubeconfig
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: /dns-domain/{domain-id}/record
method: get
operationId: list-dns-domain-records
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dns-domain/{domain-id}/record
method: post
operationId: create-dns-domain-record
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: /dbaas-ca-certificate
method: get
operationId: get-dbaas-ca-certificate
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dbaas-settings-grafana
method: get
operationId: get-dbaas-settings-grafana
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /deploy-target
method: get
operationId: list-deploy-targets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /instance-type
method: get
operationId: list-instance-types
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/deployment
method: post
operationId: create-deployment
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /ai/deployment
method: get
operationId: list-deployments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dbaas-postgres/{service-name}/database/{database-name}
method: delete
operationId: delete-dbaas-pg-database
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: /block-storage/{id}:attach
method: put
operationId: attach-block-storage-volume-to-instance
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: /kms-key/{id}/enable
method: post
operationId: enable-kms-key
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: /dbaas-postgres/{name}/migration/stop
method: post
operationId: stop-dbaas-pg-migration
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: /dbaas-kafka/{name}
method: get
operationId: get-dbaas-service-kafka
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dbaas-kafka/{name}
method: post
operationId: create-dbaas-service-kafka
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: /dbaas-kafka/{name}
method: put
operationId: update-dbaas-service-kafka
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: /dbaas-kafka/{name}
method: delete
operationId: delete-dbaas-service-kafka
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: /instance/{id}:reset-password
method: put
operationId: reset-instance-password
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: /dbaas-kafka/{name}/schema-registry/acl-config
method: post
operationId: create-dbaas-kafka-schema-registry-acl-config
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: /private-network/{id}:update-ip
method: put
operationId: update-private-network-instance-ip
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: /sks-cluster/{id}/nodepool/{sks-nodepool-id}
method: put
operationId: update-sks-nodepool
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: /sks-cluster/{id}/nodepool/{sks-nodepool-id}
method: get
operationId: get-sks-nodepool
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sks-cluster/{id}/nodepool/{sks-nodepool-id}
method: delete
operationId: delete-sks-nodepool
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: /block-storage-snapshot/{id}
method: delete
operationId: delete-block-storage-snapshot
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: /block-storage-snapshot/{id}
method: put
operationId: update-block-storage-snapshot
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: /block-storage-snapshot/{id}
method: get
operationId: get-block-storage-snapshot
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kms-key/{id}/list-key-rotations
method: get
operationId: list-kms-key-rotations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dbaas-postgres/{service-name}/user
method: post
operationId: create-dbaas-postgres-user
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: /dbaas-external-integrations/{service-name}
method: get
operationId: list-dbaas-external-integrations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dbaas-external-integration/{integration-id}
method: get
operationId: get-dbaas-external-integration
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /instance-pool/{id}
method: delete
operationId: delete-instance-pool
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: /instance-pool/{id}
method: get
operationId: get-instance-pool
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /instance-pool/{id}
method: put
operationId: update-instance-pool
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: /dbaas-external-endpoint-types
method: get
operationId: list-dbaas-external-endpoint-types
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /private-network
method: get
operationId: list-private-networks
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /private-network
method: post
operationId: create-private-network
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: /instance/{id}:start
method: put
operationId: start-instance
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: /instance/{id}:enable-tpm
method: post
operationId: enable-tpm
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: /organization
method: get
operationId: get-organization
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /security-group/{id}
method: get
operationId: get-security-group
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /security-group/{id}
method: delete
operationId: delete-security-group
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: /sks-cluster/{id}/authority/{authority}/cert
method: get
operationId: get-sks-cluster-authority-cert
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /snapshot/{id}:export
method: post
operationId: export-snapshot
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: /ai/deployment/{id}
method: get
operationId: get-deployment
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/deployment/{id}
method: patch
operationId: update-deployment
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /ai/deployment/{id}
method: delete
operationId: delete-deployment
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /dbaas-kafka/{service-name}/connect/password/reveal
method: get
operationId: reveal-dbaas-kafka-connect-password
x-agentic-access:
action-class: connected
cons
# --- truncated at 32 KB (104 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/exoscale/refs/heads/main/agentic-access/exoscale-agentic-access.yml