Fastly Agentic Access
Fastly exposes 256 API operations that an AI agent could call, of which 130 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: 126 read, 123 write, and 7 safety-critical.
7 operations are classed safety-critical and should require human-in-the-loop approval at runtime.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
By consequence
Highest-consequence actions
The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| DELETE | /automation-tokens/{automation_token_id} | safety-critical | required |
| DELETE | /enabled-products/v1/api_discovery/services/{service_id} | safety-critical | required |
| DELETE | /enabled-products/v1/bot_management/services/{service_id} | safety-critical | required |
| DELETE | /enabled-products/v1/ddos_protection/services/{service_id} | safety-critical | required |
| DELETE | /enabled-products/v1/image_optimizer/services/{service_id} | safety-critical | required |
| DELETE | /tokens/self | safety-critical | required |
| DELETE | /tokens/{token_id} | safety-critical | required |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/fastly-account-openapi.yml, openapi/fastly-acls-openapi.yml, openapi/fastly-ai-accelerator-openapi.yml,
openapi/fastly-authentication-tokens-openapi.yml, openapi/fastly-client-side-protection-openapi.yml,
openapi/fastly-compute-openapi.yml, openapi/fastly-ddos-protection-openapi.yml, openapi/fastly-dictionaries-openapi.yml,
openapi/fastly-domain-management-openapi.yml, openapi/fastly-load-balancing-openapi.yml, openapi/fastly-logging-openapi.yml,
openapi/fastly-metrics-and-stats-openapi.yml, openapi/fastly-object-storage-openapi.yml, openapi/fastly-observability-openapi.yml,
openapi/fastly-products-openapi.yml, openapi/fastly-publishing-openapi.yml, openapi/fastly-purging-openapi.yml,
openapi/fastly-services-openapi.yml, openapi/fastly-tls-openapi.yml, openapi/fastly-utilities-openapi.yml,
openapi/fastly-vcl-services-openapi.yml, openapi/fastly-waf-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: 256
by_action_class:
connected: 126
acting: 130
by_consequence:
read: 126
write: 123
safety-critical: 7
human_in_the_loop_required: 7
operations:
- path: /current_customer
method: get
operationId: getCurrentCustomer
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /customer/{customer_id}
method: get
operationId: getCustomer
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /customer/{customer_id}
method: put
operationId: updateCustomer
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /current_user
method: get
operationId: getCurrentUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /user/{user_id}
method: get
operationId: getUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /user/{user_id}
method: put
operationId: updateUser
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /user/{user_id}
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: /customer/{customer_id}/users
method: get
operationId: listCustomerUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /invitations
method: post
operationId: createInvitation
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /roles
method: get
operationId: listRoles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /roles/{role_id}
method: get
operationId: getRole
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service-groups
method: get
operationId: listServiceGroups
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service-groups
method: post
operationId: createServiceGroup
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /user-groups
method: get
operationId: listUserGroups
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /user-groups
method: post
operationId: createUserGroup
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/version/{version_id}/acl
method: get
operationId: listAcls
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/version/{version_id}/acl
method: post
operationId: createAcl
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/version/{version_id}/acl/{acl_name}
method: get
operationId: getAcl
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/version/{version_id}/acl/{acl_name}
method: put
operationId: updateAcl
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/version/{version_id}/acl/{acl_name}
method: delete
operationId: deleteAcl
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/acl/{acl_id}/entries
method: get
operationId: listAclEntries
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/acl/{acl_id}/entries
method: post
operationId: createAclEntry
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/acl/{acl_id}/entries
method: patch
operationId: bulkUpdateAclEntries
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/acl/{acl_id}/entry/{acl_entry_id}
method: get
operationId: getAclEntry
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/acl/{acl_id}/entry/{acl_entry_id}
method: patch
operationId: updateAclEntry
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/acl/{acl_id}/entry/{acl_entry_id}
method: delete
operationId: deleteAclEntry
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /openai/v1/chat/completions
method: post
operationId: createOpenAiChatCompletion
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /gemini/v1/models/{model}:generateContent
method: post
operationId: generateGeminiContent
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /openai/v1/embeddings
method: post
operationId: createEmbeddings
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /tokens
method: get
operationId: listTokens
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tokens
method: post
operationId: createToken
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /tokens/{token_id}
method: get
operationId: getToken
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tokens/{token_id}
method: delete
operationId: revokeToken
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: /tokens/self
method: get
operationId: getTokenCurrent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tokens/self
method: delete
operationId: revokeTokenCurrent
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: /customer/{customer_id}/tokens
method: get
operationId: listCustomerTokens
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /automation-tokens
method: get
operationId: listAutomationTokens
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /automation-tokens
method: post
operationId: createAutomationToken
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /automation-tokens/{automation_token_id}
method: get
operationId: getAutomationToken
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /automation-tokens/{automation_token_id}
method: delete
operationId: revokeAutomationToken
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: /client-side-protection/websites
method: get
operationId: listCspWebsites
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /client-side-protection/websites
method: post
operationId: createCspWebsite
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /client-side-protection/websites/{website_id}
method: get
operationId: getCspWebsite
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /client-side-protection/websites/{website_id}
method: patch
operationId: updateCspWebsite
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /client-side-protection/websites/{website_id}
method: delete
operationId: deleteCspWebsite
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /client-side-protection/websites/{website_id}/pages
method: get
operationId: listCspPages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /client-side-protection/websites/{website_id}/pages
method: post
operationId: createCspPage
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /client-side-protection/websites/{website_id}/pages/{page_id}
method: get
operationId: getCspPage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /client-side-protection/websites/{website_id}/pages/{page_id}
method: patch
operationId: updateCspPage
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /client-side-protection/websites/{website_id}/pages/{page_id}
method: delete
operationId: deleteCspPage
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /client-side-protection/websites/{website_id}/scripts
method: get
operationId: listCspScripts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /client-side-protection/websites/{website_id}/scripts/{script_id}
method: get
operationId: getCspScript
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /client-side-protection/websites/{website_id}/scripts/{script_id}
method: patch
operationId: updateCspScript
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /client-side-protection/websites/{website_id}/policies
method: get
operationId: listCspPolicies
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /client-side-protection/websites/{website_id}/policies
method: post
operationId: createCspPolicy
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /client-side-protection/websites/{website_id}/policies/{policy_id}
method: get
operationId: getCspPolicy
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /client-side-protection/websites/{website_id}/policies/{policy_id}
method: patch
operationId: updateCspPolicy
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /client-side-protection/websites/{website_id}/policies/{policy_id}/reports
method: get
operationId: listCspPolicyReports
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /client-side-protection/websites/{website_id}/security-headers
method: get
operationId: listSecurityHeaders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /client-side-protection/websites/{website_id}/security-headers/events
method: get
operationId: listHeaderEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/version/{version_id}/package
method: get
operationId: getPackage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/version/{version_id}/package
method: put
operationId: uploadPackage
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /resources/stores/kv
method: get
operationId: listKvStores
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resources/stores/kv
method: post
operationId: createKvStore
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /resources/stores/kv/{store_id}
method: get
operationId: getKvStore
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resources/stores/kv/{store_id}
method: delete
operationId: deleteKvStore
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /resources/stores/kv/{store_id}/keys
method: get
operationId: listKvStoreKeys
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resources/stores/kv/{store_id}/keys/{key_name}
method: get
operationId: getKvStoreItem
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resources/stores/kv/{store_id}/keys/{key_name}
method: put
operationId: upsertKvStoreItem
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /resources/stores/kv/{store_id}/keys/{key_name}
method: delete
operationId: deleteKvStoreItem
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /resources/stores/config
method: get
operationId: listConfigStores
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resources/stores/config
method: post
operationId: createConfigStore
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /resources/stores/config/{config_store_id}
method: get
operationId: getConfigStore
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resources/stores/config/{config_store_id}
method: put
operationId: updateConfigStore
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /resources/stores/config/{config_store_id}
method: delete
operationId: deleteConfigStore
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /resources/stores/secret
method: get
operationId: listSecretStores
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resources/stores/secret
method: post
operationId: createSecretStore
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /resources/stores/secret/{store_id}
method: get
operationId: getSecretStore
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resources/stores/secret/{store_id}
method: delete
operationId: deleteSecretStore
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /ddos-protection/v1/events
method: get
operationId: listDdosEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ddos-protection/v1/events/{event_id}
method: get
operationId: getDdosEvent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ddos-protection/v1/events/{event_id}/rules
method: get
operationId: listRulesForEvent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ddos-protection/v1/rules/{rule_id}
method: get
operationId: getDdosRule
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ddos-protection/v1/rules/{rule_id}
method: patch
operationId: updateDdosRule
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /ddos-protection/v1/events/{event_id}/rules/{rule_id}/traffic-stats
method: get
operationId: getTrafficStatsForRule
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/version/{version_id}/dictionary
method: get
operationId: listDictionaries
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/version/{version_id}/dictionary
method: post
operationId: createDictionary
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/version/{version_id}/dictionary/{dictionary_name}
method: get
operationId: getDictionary
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/version/{version_id}/dictionary/{dictionary_name}
method: put
operationId: updateDictionary
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/version/{version_id}/dictionary/{dictionary_name}
method: delete
operationId: deleteDictionary
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/dictionary/{dictionary_id}/items
method: get
operationId: listDictionaryItems
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/dictionary/{dictionary_id}/items
method: patch
operationId: bulkUpdateDictionaryItems
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/dictionary/{dictionary_id}/item
method: post
operationId: createDictionaryItem
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/dictionary/{dictionary_id}/item/{dictionary_item_key}
method: get
operationId: getDictionaryItem
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/dictionary/{dictionary_id}/item/{dictionary_item_key}
method: put
operationId: upsertDictionaryItem
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/dictionary/{dictionary_id}/item/{dictionary_item_key}
method: patch
operationId: updateDictionaryItem
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/dictionary/{dictionary_id}/item/{dictionary_item_key}
method: delete
operationId: deleteDictionaryItem
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/dictionary/{dictionary_id}/info
method: get
operationId: getDictionaryInfo
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/version/{version_id}/domain
method: get
operationId: listDomains
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/version/{version_id}/domain
method: post
operationId: createDomain
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/version/{version_id}/domain/{domain_name}
method: get
operationId: getDomain
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/version/{version_id}/domain/{domain_name}
method: put
operationId: updateDomain
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/version/{version_id}/domain/{domain_name}
method: delete
operationId: deleteDomain
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /service/{service_id}/version/{version_id}/domain/{domain_name}/check
method: get
operationId: checkDomain
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/version/{version_id}/domain/check_all
method: get
operationId: checkDomains
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /service/{service_id}/version/{version_id}/director
method: get
ope
# --- truncated at 32 KB (76 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fastly/refs/heads/main/agentic-access/fastly-agentic-access.yml