Spot by Flexera Agentic Access
Spot by Flexera exposes 119 API operations that an AI agent could call, of which 65 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: 54 read, 63 write, 1 physical, and 1 safety-critical.
1 operation 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 | /aws/ec2/group/{groupId}/roll/{rollId} | safety-critical | required |
| POST | /aws/ec2/group/{groupId}/roll | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/spot-administration-api-openapi.yml, openapi/spot-billing-engine-api-openapi.yml,
openapi/spot-eco-api-openapi.yml, openapi/spot-elastigroup-api-openapi.yml, openapi/spot-ocean-api-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: 119
by_action_class:
acting: 65
connected: 54
by_consequence:
write: 63
read: 54
physical: 1
safety-critical: 1
human_in_the_loop_required: 1
operations:
- path: /setup/organization
method: post
operationId: createOrganization
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: /setup/organization
method: delete
operationId: deleteOrganization
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: /setup/account
method: post
operationId: createAccount
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: /setup/account
method: get
operationId: listAccounts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /setup/account/{accountId}
method: put
operationId: updateAccount
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: /setup/account/{accountId}
method: delete
operationId: deleteAccount
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: /setup/user
method: post
operationId: createUser
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: /setup/organization/{organizationId}/user
method: get
operationId: listOrganizationUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /setup/user/{userId}
method: get
operationId: getUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /setup/user/{userId}
method: put
operationId: updateUserPermissions
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: /setup/user/{userId}
method: delete
operationId: deleteUser
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: /setup/user/programmatic
method: post
operationId: createProgrammaticUser
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: /setup/access/policy
method: post
operationId: createAccessPolicy
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: /setup/access/policy
method: get
operationId: listAccessPolicies
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /setup/access/policy/{policyId}
method: put
operationId: updateAccessPolicy
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: /setup/access/policy/{policyId}
method: delete
operationId: deleteAccessPolicy
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: /setup/credentials/aws
method: post
operationId: setAWSCloudCredentials
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: /setup/credentials/azure
method: post
operationId: setAzureCloudCredentials
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: /setup/credentials/gcp
method: post
operationId: setGCPCloudCredentials
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: /events/subscription
method: post
operationId: createSubscription
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: /events/subscription
method: get
operationId: listSubscriptions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /events/subscription/{subscriptionId}
method: get
operationId: getSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /events/subscription/{subscriptionId}
method: put
operationId: updateSubscription
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: /events/subscription/{subscriptionId}
method: delete
operationId: deleteSubscription
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: /audit/events
method: get
operationId: listAuditEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /healthCheck
method: get
operationId: healthCheck
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /billingEngine/account
method: get
operationId: listBillingEngineAccounts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /billingEngine/setup
method: post
operationId: setupBillingEngine
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: /billingEngine/setup/validation
method: post
operationId: validateBillingEngineSetup
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: /billingEngine/family
method: post
operationId: createAccountFamily
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: /billingEngine/family
method: get
operationId: listAccountFamilies
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /billingEngine/family/{familyId}
method: get
operationId: getAccountFamily
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /billingEngine/family/{familyId}
method: put
operationId: updateAccountFamily
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: /billingEngine/family/{familyId}
method: delete
operationId: deleteAccountFamily
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: /billingEngine/cost
method: get
operationId: getCostAnalysis
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /costIntelligence/setup
method: post
operationId: setupCostIntelligence
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: /costIntelligence/setup/validation
method: post
operationId: validateCostIntelligenceSetup
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: /eco/aws/commitmentPlan
method: get
operationId: listCommitmentPlansAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /eco/aws/commitmentPlan/{commitmentPlanId}
method: get
operationId: getCommitmentPlanAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /eco/aws/ri/unusedReservedInstances
method: get
operationId: getUnusedReservedInstancesAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /eco/aws/ri/savingsPlans
method: get
operationId: listSavingsPlansAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /eco/aws/ri/reservedInstances
method: get
operationId: listReservedInstancesAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /eco/aws/analysis/savings
method: get
operationId: getSavingsAnalysisAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /eco/aws/analysis/commitment
method: get
operationId: getCommitmentAnalysisAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /eco/azure/commitmentPlan
method: get
operationId: listCommitmentPlansAzure
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /eco/azure/analysis/savings
method: get
operationId: getSavingsAnalysisAzure
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /eco/gcp/commitmentPlan
method: get
operationId: listCommitmentPlansGCP
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /eco/gcp/analysis/savings
method: get
operationId: getSavingsAnalysisGCP
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /aws/ec2/group
method: post
operationId: createElastigroupAWS
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: /aws/ec2/group
method: get
operationId: listElastigroupsAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /aws/ec2/group/{groupId}
method: get
operationId: getElastigroupAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /aws/ec2/group/{groupId}
method: put
operationId: updateElastigroupAWS
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: /aws/ec2/group/{groupId}
method: delete
operationId: deleteElastigroupAWS
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: /aws/ec2/group/{groupId}/status
method: get
operationId: getElastigroupStatusAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /aws/ec2/group/{groupId}/scale/up
method: put
operationId: scaleUpElastigroupAWS
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: /aws/ec2/group/{groupId}/scale/down
method: put
operationId: scaleDownElastigroupAWS
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: /aws/ec2/group/{groupId}/roll
method: post
operationId: rollElastigroupAWS
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: /aws/ec2/group/{groupId}/roll
method: get
operationId: listRollsAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /aws/ec2/group/{groupId}/roll/{rollId}
method: get
operationId: getRollStatusAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /aws/ec2/group/{groupId}/roll/{rollId}
method: put
operationId: stopRollAWS
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: /aws/ec2/group/{groupId}/statefulInstance
method: get
operationId: listStatefulInstances
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /aws/ec2/group/{groupId}/statefulInstance/{statefulInstanceId}
method: put
operationId: recycleStatefulInstance
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: /aws/ec2/group/{groupId}/statefulInstance/{statefulInstanceId}
method: delete
operationId: deallocateStatefulInstance
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: /aws/ec2/group/{groupId}/logs
method: get
operationId: getElastigroupLogs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /aws/ec2/group/{groupId}/costs
method: get
operationId: getElastigroupCosts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /aws/emr/mrScaler
method: post
operationId: createEMRCluster
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: /aws/emr/mrScaler
method: get
operationId: listEMRClusters
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /aws/emr/mrScaler/{mrScalerId}
method: get
operationId: getEMRCluster
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /aws/emr/mrScaler/{mrScalerId}
method: put
operationId: updateEMRCluster
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: /aws/emr/mrScaler/{mrScalerId}
method: delete
operationId: deleteEMRCluster
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: /azure/compute/group
method: post
operationId: createElastigroupAzure
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: /azure/compute/group
method: get
operationId: listElastigroupsAzure
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /azure/compute/group/{groupId}
method: get
operationId: getElastigroupAzure
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /azure/compute/group/{groupId}
method: put
operationId: updateElastigroupAzure
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: /azure/compute/group/{groupId}
method: delete
operationId: deleteElastigroupAzure
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: /gcp/gce/group
method: post
operationId: createElastigroupGCP
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: /gcp/gce/group
method: get
operationId: listElastigroupsGCP
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /gcp/gce/group/{groupId}
method: get
operationId: getElastigroupGCP
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /gcp/gce/group/{groupId}
method: put
operationId: updateElastigroupGCP
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: /gcp/gce/group/{groupId}
method: delete
operationId: deleteElastigroupGCP
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: /ocean/aws/k8s/cluster
method: post
operationId: createOceanClusterAWS
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: /ocean/aws/k8s/cluster
method: get
operationId: listOceanClustersAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ocean/aws/k8s/cluster/{oceanClusterId}
method: get
operationId: getOceanClusterAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ocean/aws/k8s/cluster/{oceanClusterId}
method: put
operationId: updateOceanClusterAWS
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: /ocean/aws/k8s/cluster/{oceanClusterId}
method: delete
operationId: deleteOceanClusterAWS
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: /ocean/aws/k8s/cluster/{oceanClusterId}/roll
method: post
operationId: initiateRollAWS
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: /ocean/aws/k8s/cluster/{oceanClusterId}/roll
method: get
operationId: listRollsAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ocean/aws/k8s/cluster/{oceanClusterId}/roll/{rollId}
method: get
operationId: getRollAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ocean/aws/k8s/cluster/{oceanClusterId}/roll/{rollId}
method: put
operationId: updateRollAWS
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: /ocean/aws/k8s/launchSpec
method: post
operationId: createVirtualNodeGroupAWS
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: /ocean/aws/k8s/launchSpec
method: get
operationId: listVirtualNodeGroupsAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ocean/aws/k8s/launchSpec/{launchSpecId}
method: get
operationId: getVirtualNodeGroupAWS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ocean/aws/k8s/launchSpec/{launchSpecId}
method: put
operationId: updateVirtualNodeGroupAWS
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: /ocean/aws/k8s/launchSpec/{launchSpecId}
method: delete
operationId: deleteVirtualNodeGroupAWS
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: /ocean/aws/ecs/cluster
method: post
operationId: createOceanClusterECS
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: /ocean/aws/ecs/cluster
method: get
operationId: listOceanClustersECS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ocean/aws/ecs/cluster/{oceanClusterId}
method: get
operationId: getOceanClusterECS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ocean/aws/ecs/cluster/{oceanClusterId}
method: put
operationId: updateOceanClusterECS
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: /ocean/aws/ecs/cluster/{oceanClusterId}
method: delete
operationId: deleteOceanClusterECS
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: /ocean/gke/cluster
method: post
operationId: createOceanClusterGKE
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: /ocean/gke/cluster
method: get
operationId: listOceanClustersGKE
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ocean/gke/cluster/{oceanClusterId}
method: get
operationId: getOceanClusterGKE
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ocean/gke/cluster/{oceanClusterId}
method: put
operationId: updateOceanClusterGKE
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: /ocean/gke/cluster/{oceanClusterId}
method: delete
operationId: deleteOceanClusterGKE
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: /ocean/azure/k8s/cluster
method: post
operationId: createOceanClusterAKS
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: /ocean/azure/k8s/cluster
method: get
operationId: listOceanClustersAKS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ocean/azure/k8s/cluster/{oceanClusterId}
method: get
operationId: getOceanClusterAKS
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ocean/azure/k8s/cluster/{oceanClusterId}
method: put
operationId: updateOceanClusterAKS
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: /ocean/azure/k8s/cluster/{oceanClusterId}
method: delete
operationId: deleteOceanClusterAKS
x-agentic-access:
action-class: acting
consequence:
# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/flexera/refs/heads/main/agentic-access/flexera-agentic-access.yml