Exoscale · Agentic Access

Exoscale Agentic Access

x-agentic-access generated

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.

CloudInfrastructureComputeStorageKubernetesDBaaSEurope
Operations: 338 Acting: 219 Human-in-the-loop: 24 Method: generated

By consequence

read 119 write 191 physical 4 safety-critical 24

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.

MethodPathConsequenceHuman-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

Raw ↑
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