Pulumi Agentic Access
Pulumi exposes 586 API operations that an AI agent could call, of which 316 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: 270 read, 283 write, 29 physical, and 4 safety-critical.
4 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 |
|---|---|---|---|
| POST | /api/esc/cloudsetup/{orgName}/oauth/azure/setup | safety-critical | required |
| POST | /api/orgs/{orgName}/cmk/disable | safety-critical | required |
| POST | /api/orgs/{orgName}/cmk/{keyID}/disable | safety-critical | required |
| PUT | /api/preview/insights/{orgName}/insightstrial/deny | safety-critical | required |
| POST | /api/esc/environments/{orgName}/{projectName}/{envName}/ownership | physical | conditional |
| POST | /api/orgs/{orgName}/agent-pools | physical | conditional |
| DELETE | /api/orgs/{orgName}/agent-pools/{poolId} | physical | conditional |
| PATCH | /api/orgs/{orgName}/agent-pools/{poolId} | physical | conditional |
| POST | /api/orgs/{orgName}/bulk-transfer/stacks | physical | conditional |
| POST | /api/orgs/{orgName}/deployments/pause | physical | conditional |
| POST | /api/orgs/{orgName}/deployments/resume | physical | conditional |
| POST | /api/preview/insights/{orgName}/accounts/{accountName}/ownership | physical | conditional |
| POST | /api/stacks/{orgName}/{projectName}/{stackName}/deployments | physical | conditional |
| DELETE | /api/stacks/{orgName}/{projectName}/{stackName}/deployments/cache | physical | conditional |
| POST | /api/stacks/{orgName}/{projectName}/{stackName}/deployments/cache/url | physical | conditional |
| POST | /api/stacks/{orgName}/{projectName}/{stackName}/deployments/drift/schedules | physical | conditional |
| POST | /api/stacks/{orgName}/{projectName}/{stackName}/deployments/drift/schedules/{scheduleID} | physical | conditional |
| POST | /api/stacks/{orgName}/{projectName}/{stackName}/deployments/pause | physical | conditional |
| POST | /api/stacks/{orgName}/{projectName}/{stackName}/deployments/resume | physical | conditional |
| POST | /api/stacks/{orgName}/{projectName}/{stackName}/deployments/schedules | physical | conditional |
| DELETE | /api/stacks/{orgName}/{projectName}/{stackName}/deployments/schedules/{scheduleID} | physical | conditional |
| POST | /api/stacks/{orgName}/{projectName}/{stackName}/deployments/schedules/{scheduleID} | physical | conditional |
| POST | /api/stacks/{orgName}/{projectName}/{stackName}/deployments/schedules/{scheduleID}/pause | physical | conditional |
| POST | /api/stacks/{orgName}/{projectName}/{stackName}/deployments/schedules/{scheduleID}/resume | physical | conditional |
| DELETE | /api/stacks/{orgName}/{projectName}/{stackName}/deployments/settings | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/pulumi-openapi.json
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: 586
by_action_class:
acting: 316
connected: 270
by_consequence:
write: 283
read: 270
safety-critical: 4
physical: 29
human_in_the_loop_required: 4
operations:
- path: /api/ai/template
method: post
operationId: AITemplate
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: /api/capabilities
method: get
operationId: Capabilities
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/change-gates/{orgName}
method: get
operationId: ListGates
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/change-gates/{orgName}
method: post
operationId: CreateGate
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: /api/change-gates/{orgName}/{gateID}
method: delete
operationId: DeleteGate
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: /api/change-gates/{orgName}/{gateID}
method: get
operationId: ReadGate
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/change-gates/{orgName}/{gateID}
method: put
operationId: UpdateGate
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: /api/change-requests/{orgName}
method: get
operationId: List_change_requests
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/change-requests/{orgName}/{changeRequestID}
method: get
operationId: Get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/change-requests/{orgName}/{changeRequestID}
method: patch
operationId: Update
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: /api/change-requests/{orgName}/{changeRequestID}/apply
method: post
operationId: Apply
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: /api/change-requests/{orgName}/{changeRequestID}/approve
method: delete
operationId: Unapprove
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: /api/change-requests/{orgName}/{changeRequestID}/approve
method: post
operationId: Approve
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: /api/change-requests/{orgName}/{changeRequestID}/close
method: post
operationId: Close
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: /api/change-requests/{orgName}/{changeRequestID}/comments
method: post
operationId: AddComment
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: /api/change-requests/{orgName}/{changeRequestID}/events
method: get
operationId: ListEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/change-requests/{orgName}/{changeRequestID}/submit
method: post
operationId: Submit
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: /api/cli/version
method: get
operationId: Version
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations
method: get
operationId: ListAllVCSIntegrations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/azure-devops
method: get
operationId: ListAzureDevOpsIntegrations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/azure-devops
method: post
operationId: CreateAzureDevOpsSetup
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: /api/console/orgs/{orgName}/integrations/azure-devops/access-status
method: get
operationId: GetAzureDevOpsAccessStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/azure-devops/oauth/complete
method: post
operationId: CompleteAzureDevOpsOAuth
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: /api/console/orgs/{orgName}/integrations/azure-devops/oauth/initiate
method: post
operationId: InitiateAzureDevOpsOAuth
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: /api/console/orgs/{orgName}/integrations/azure-devops/setup/organizations
method: get
operationId: ListAzureDevOpsOrganizations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/azure-devops/setup/organizations/{adoOrgName}/projects
method: get
operationId: ListAzureDevOpsProjects
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/azure-devops/{integrationId}
method: delete
operationId: DeleteAzureDevOpsIntegration
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: /api/console/orgs/{orgName}/integrations/azure-devops/{integrationId}
method: get
operationId: GetAzureDevOpsIntegration
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/azure-devops/{integrationId}
method: patch
operationId: UpdateAzureDevOpsIntegration
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: /api/console/orgs/{orgName}/integrations/bitbucket
method: get
operationId: ListBitBucketIntegrations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/bitbucket
method: post
operationId: CreateBitBucketSetup
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: /api/console/orgs/{orgName}/integrations/bitbucket/access-status
method: get
operationId: GetBitBucketAccessStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/bitbucket/{integrationId}
method: delete
operationId: DeleteBitBucketIntegration
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: /api/console/orgs/{orgName}/integrations/bitbucket/{integrationId}
method: get
operationId: GetBitBucketIntegration
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/bitbucket/{integrationId}
method: patch
operationId: UpdateBitBucketIntegration
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: /api/console/orgs/{orgName}/integrations/custom
method: get
operationId: ListCustomVCSIntegrations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/custom
method: post
operationId: CreateCustomVCSIntegration
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: /api/console/orgs/{orgName}/integrations/custom/{integrationId}
method: delete
operationId: DeleteCustomVCSIntegration
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: /api/console/orgs/{orgName}/integrations/custom/{integrationId}
method: get
operationId: GetCustomVCSIntegration
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/custom/{integrationId}
method: patch
operationId: UpdateCustomVCSIntegration
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: /api/console/orgs/{orgName}/integrations/custom/{integrationId}/repos
method: delete
operationId: RemoveCustomVCSRepository
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: /api/console/orgs/{orgName}/integrations/custom/{integrationId}/repos
method: post
operationId: AddCustomVCSRepository
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: /api/console/orgs/{orgName}/integrations/github
method: get
operationId: ListGitHubIntegrations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/github
method: post
operationId: StartGitHubSetup
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: /api/console/orgs/{orgName}/integrations/github-enterprise
method: get
operationId: ListGitHubEnterpriseIntegrations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/github-enterprise/{integrationId}
method: delete
operationId: DeleteGitHubEnterpriseIntegration
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: /api/console/orgs/{orgName}/integrations/github-enterprise/{integrationId}
method: get
operationId: GetGitHubEnterpriseIntegration
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/github-enterprise/{integrationId}
method: patch
operationId: UpdateGitHubEnterpriseIntegration
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: /api/console/orgs/{orgName}/integrations/github/access-status
method: get
operationId: GetGitHubAccess
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/github/{integrationId}
method: delete
operationId: DeleteGitHubIntegration
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: /api/console/orgs/{orgName}/integrations/github/{integrationId}
method: get
operationId: GetGitHubIntegration
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/github/{integrationId}
method: patch
operationId: UpdateGitHubIntegration
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: /api/console/orgs/{orgName}/integrations/gitlab
method: get
operationId: ListGitLabIntegrations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/gitlab
method: post
operationId: CreateGitLabSetup
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: /api/console/orgs/{orgName}/integrations/gitlab/access-status
method: get
operationId: GetGitLabAccessStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/gitlab/{integrationId}
method: delete
operationId: DeleteGitLabIntegration
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: /api/console/orgs/{orgName}/integrations/gitlab/{integrationId}
method: get
operationId: GetGitLabIntegration
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/gitlab/{integrationId}
method: patch
operationId: UpdateGitLabIntegration
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: /api/console/orgs/{orgName}/integrations/{provider}/{integrationId}/repos
method: get
operationId: ListVCSRepos
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/{provider}/{integrationId}/repos/destinations
method: get
operationId: ListVCSRepoDestinations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/integrations/{provider}/{integrationId}/repos/{repoId}/branches
method: get
operationId: ListVCSBranches
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/members/{userLogin}/stacks/{projectName}/{stackName}
method: get
operationId: ListMemberStackPermissions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/orgs/{orgName}/stacks/search
method: post
operationId: SearchStacks
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: /api/console/stacks/{orgName}/{projectName}/{stackName}/overview
method: get
operationId: GetStackOverview
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/stacks/{orgName}/{projectName}/{stackName}/teams/{teamName}
method: patch
operationId: UpdateTeamStackPermissions
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: /api/console/stacks/{orgName}/{projectName}/{stackName}/updates/latest/summary
method: get
operationId: UpdateSummaryHandlerLatest
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/console/stacks/{orgName}/{projectName}/{stackName}/updates/{updateID}/summary
method: get
operationId: UpdateSummary
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/deployments/executor
method: get
operationId: GetPulumiDeployExecutor
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/deployments/poll
method: get
operationId: PollDeploymentsQueue
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/deployments/{deploymentId}/status
method: get
operationId: GetDeploymentsStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/esc/cloudsetup/{orgName}/aws/setup
method: post
operationId: AWSSetup
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: /api/esc/cloudsetup/{orgName}/aws/sso/accounts
method: get
operationId: AWSSSOListAccounts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/esc/cloudsetup/{orgName}/aws/sso/initiate
method: post
operationId: AWSSSOInitiate
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: /api/esc/cloudsetup/{orgName}/aws/sso/setup
method: post
operationId: AWSSSOSetup
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: /api/esc/cloudsetup/{orgName}/oauth/azure/accounts
method: get
operationId: AzureListAccounts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/esc/cloudsetup/{orgName}/oauth/azure/setup
method: post
operationId: AzureSetup
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: /api/esc/cloudsetup/{orgName}/oauth/complete
method: post
operationId: CompleteOAuth
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: /api/esc/cloudsetup/{orgName}/oauth/gcp/accounts
method: get
operationId: GCPListAccounts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/esc/cloudsetup/{orgName}/oauth/gcp/setup
method: post
operationId: GCPSetup
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: /api/esc/cloudsetup/{orgName}/oauth/initiate
method: post
operationId: InitiateOAuth
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: /api/esc/environments
method: get
operationId: ListEnvironments_esc
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/esc/environments/{orgName}
method: get
operationId: ListOrgEnvironments_esc
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/esc/environments/{orgName}
method: post
operationId: CreateEnvironment_esc_environments
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: /api/esc/environments/{orgName}/restore
method: get
operationId: ListDeletedEnvironments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/esc/environments/{orgName}/restore
method: put
operationId: RestoreEnvironment
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: /api/esc/environments/{orgName}/tags
method: get
operationId: ListAllEnvironmentTags_esc
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/esc/environments/{orgName}/yaml/check
method: post
operationId: CheckYAML_esc
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: /api/esc/environments/{orgName}/yaml/open
method: post
operationId: OpenYAML_esc
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: /api/esc/environments/{orgName}/yaml/open/{openSessionID}
method: get
operationId: ReadAnonymousOpenEnvironment_esc
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/esc/environments/{orgName}/{projectName}/{envName}
method: delete
operationId: DeleteEnvironment_esc_environments
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: /api/esc/environments/{orgName}/{projectName}/{envName}
method: get
operationId: ReadEnvironment_esc_environments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/esc/environments/{orgName}/{projectName}/{envName}
method: head
operationId: HeadEnvironment_esc_environments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/esc/environments/{orgName}/{projectName}/{envName}
method: patch
operationId: UpdateEnvironment_esc_environments
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: /api/esc/environments/{orgName}/{projectName}/{envName}/check
method: post
operationId: CheckEnvironment_esc_environments
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: /api/esc/environments/{orgName}/{projectName}/{envName}/clone
method: post
operationId: CloneEnvironment
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: /api/esc/environments/{orgName}/{projectName}/{envName}/decrypt
method: get
operationId: DecryptEnvironment_esc_environments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/esc/environments/{orgName}/{projectName}/{envName}/decrypt-secrets
method: post
operationId: DecryptEnvironmentSecrets
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: /api/esc/environments/{orgName}/{projectName}/{envName}/drafts
method: post
operationId: CreateEnvironmentDraft
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: /api/esc/environments/{orgName}/{projectName}/{envName}/drafts/{changeRequestID}
method: get
operationId: ReadEnvironmentDraft
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/esc/environments/{orgName}/{projectName}/{envName}/drafts/{changeRequestID}
method: patch
operationId: UpdateEnvironmentDraft
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: /api/esc/environments/{orgName}/{projectName}/{envName}/drafts/{changeRequestID}/open
method: post
operationId: OpenEnvironmentDraft
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
# --- truncated at 32 KB (189 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pulumi/refs/heads/main/agentic-access/pulumi-agentic-access.yml