DevCycle Agentic Access
DevCycle exposes 112 API operations that an AI agent could call, of which 68 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: 44 read, 8 write, and 60 safety-critical.
60 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 | /v1/integrations/dynatrace | safety-critical | required |
| DELETE | /v1/integrations/dynatrace/{dynatraceEnvironmentId} | safety-critical | required |
| DELETE | /v1/integrations/jira/organization/{token} | safety-critical | required |
| DELETE | /v1/integrations/jira/project/{token} | safety-critical | required |
| DELETE | /v1/integrations/jira/{token} | safety-critical | required |
| POST | /v1/projects | safety-critical | required |
| PATCH | /v1/projects/{key} | safety-critical | required |
| DELETE | /v1/projects/{key} | safety-critical | required |
| PATCH | /v1/projects/{key}/settings | safety-critical | required |
| PATCH | /v1/projects/{key}/settings/protected | safety-critical | required |
| POST | /v1/projects/{project}/audiences | safety-critical | required |
| PATCH | /v1/projects/{project}/audiences/{key} | safety-critical | required |
| DELETE | /v1/projects/{project}/audiences/{key} | safety-critical | required |
| POST | /v1/projects/{project}/customProperties | safety-critical | required |
| PATCH | /v1/projects/{project}/customProperties/{key} | safety-critical | required |
| DELETE | /v1/projects/{project}/customProperties/{key} | safety-critical | required |
| POST | /v1/projects/{project}/environments | safety-critical | required |
| POST | /v1/projects/{project}/environments/{environment}/sdk-keys | safety-critical | required |
| DELETE | /v1/projects/{project}/environments/{environment}/sdk-keys/{key} | safety-critical | required |
| PATCH | /v1/projects/{project}/environments/{key} | safety-critical | required |
| DELETE | /v1/projects/{project}/environments/{key} | safety-critical | required |
| POST | /v1/projects/{project}/features | safety-critical | required |
| POST | /v1/projects/{project}/features/multiple | safety-critical | required |
| PATCH | /v1/projects/{project}/features/{feature} | safety-critical | required |
| DELETE | /v1/projects/{project}/features/{feature} | safety-critical | required |
Source
Agentic Access
generated: '2026-07-18'
method: generated
source: openapi/devcycle-bucketing-openapi.yaml, openapi/devcycle-management-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: 112
by_action_class:
acting: 68
connected: 44
by_consequence:
write: 8
read: 44
safety-critical: 60
human_in_the_loop_required: 60
operations:
- path: /v1/variables/{key}
method: post
operationId: getVariableByKey
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/variables
method: post
operationId: getVariables
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/features
method: post
operationId: getFeatures
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/track
method: post
operationId: postEvents
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/edgedb/{user_id}
method: patch
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/optInConfig
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/optIns/{user_id}
method: put
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /ofrep/v1/evaluate/flags/{key}
method: post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /ofrep/v1/evaluate/flags
method: post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/projects
method: post
operationId: ProjectsController_create
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: /v1/projects
method: get
operationId: ProjectsController_findAll
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{key}
method: get
operationId: ProjectsController_findOne
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{key}
method: patch
operationId: ProjectsController_update
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: /v1/projects/{key}
method: delete
operationId: ProjectsController_remove
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: /v1/projects/{key}/settings
method: patch
operationId: ProjectsController_updateSettings
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: /v1/projects/{key}/settings/protected
method: patch
operationId: ProjectsController_updateProtectedSettings
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: /v1/projects/{key}/staleness
method: get
operationId: ProjectsController_getStaleness
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/integrations/jira/{token}
method: delete
operationId: JiraIntegrationController_remove
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: /v1/integrations/jira/organization/{token}
method: delete
operationId: JiraIntegrationController_removeOrganizationConnection
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: /v1/integrations/jira/project/{token}
method: delete
operationId: JiraIntegrationController_removeProjectConnection
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: /v1/projects/{project}/environments
method: post
operationId: EnvironmentsController_create
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: /v1/projects/{project}/environments
method: get
operationId: EnvironmentsController_findAll
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/environments/{key}
method: get
operationId: EnvironmentsController_findOne
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/environments/{key}
method: patch
operationId: EnvironmentsController_update
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: /v1/projects/{project}/environments/{key}
method: delete
operationId: EnvironmentsController_remove
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: /v1/projects/{project}/environments/{environment}/sdk-keys
method: post
operationId: SdkKeysController_generate
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: /v1/projects/{project}/environments/{environment}/sdk-keys/{key}
method: delete
operationId: SdkKeysController_invalidate
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: /v1/projects/{project}/audiences
method: post
operationId: AudiencesController_create
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: /v1/projects/{project}/audiences
method: get
operationId: AudiencesController_findAll
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/audiences/{key}
method: get
operationId: AudiencesController_findOne
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/audiences/{key}
method: patch
operationId: AudiencesController_update
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: /v1/projects/{project}/audiences/{key}
method: delete
operationId: AudiencesController_remove
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: /v1/projects/{project}/audiences/{key}/usage
method: get
operationId: AudiencesController_findUsages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/variables
method: post
operationId: VariablesController_create
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: /v1/projects/{project}/variables
method: get
operationId: VariablesController_findAll
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/variables/{key}
method: get
operationId: VariablesController_findOne
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/variables/{key}
method: patch
operationId: VariablesController_update
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: /v1/projects/{project}/variables/{key}
method: delete
operationId: VariablesController_remove
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: /v1/projects/{project}/variables/{key}/status
method: patch
operationId: VariablesController_updateStatus
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: /v1/projects/{project}/features
method: post
operationId: FeaturesController_create_v1
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: /v1/projects/{project}/features
method: get
operationId: FeaturesController_findAll_v1
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/features/multiple
method: post
operationId: FeaturesController_createMultiple_v1
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: /v1/projects/{project}/features/{feature}
method: get
operationId: FeaturesController_findOne_v1
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/features/{feature}
method: patch
operationId: FeaturesController_update_v1
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: /v1/projects/{project}/features/{feature}
method: delete
operationId: FeaturesController_remove_v1
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: /v1/projects/{project}/features/{feature}/status
method: patch
operationId: FeaturesController_updateStatus_v1
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: /v1/projects/{project}/features/{feature}/static-configuration
method: get
operationId: FeaturesController_findStaticConfiguration_v1
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/features/{feature}/static-configuration
method: patch
operationId: FeaturesController_updateStaticConfiguration_v1
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: /v1/projects/{project}/features/{feature}/integrations/jira/issues
method: post
operationId: FeaturesController_linkIssue_v1
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: /v1/projects/{project}/features/{feature}/integrations/jira/issues
method: get
operationId: FeaturesController_findAllLinkedIssues_v1
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/features/{feature}/integrations/jira/issues/{issue_id}
method: delete
operationId: FeaturesController_removeLinkedIssue_v1
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: /v1/projects/{project}/features/{feature}/variations
method: post
operationId: VariationsController_create
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: /v1/projects/{project}/features/{feature}/variations
method: get
operationId: VariationsController_findAll
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/features/{feature}/variations/{key}
method: get
operationId: VariationsController_findOne
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/features/{feature}/variations/{key}
method: patch
operationId: VariationsController_update
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: /v1/projects/{project}/features/{feature}/configurations
method: get
operationId: FeatureConfigsController_findAll
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/features/{feature}/configurations
method: patch
operationId: FeatureConfigsController_update
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: /v1/projects/{project}/features/{feature}/results/total-evaluations
method: get
operationId: ResultsController_getTotalEvaluationsPerHourByFeature
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/results/evaluations
method: get
operationId: ResultsController_getEvaluationsPerHourByProject
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/results/total-evaluations
method: get
operationId: ResultsController_getTotalEvaluationsPerHourByProject
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/userProfile/current
method: get
operationId: UserProfilesController_findAll
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/userProfile/current
method: patch
operationId: UserProfilesController_createOrUpdate
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: /v1/projects/{project}/features/{feature}/audit
method: get
operationId: AuditLogController_findAll
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/customProperties
method: post
operationId: CustomPropertiesController_create
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: /v1/projects/{project}/customProperties
method: get
operationId: CustomPropertiesController_findAll
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/customProperties/{key}
method: get
operationId: CustomPropertiesController_findOne
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/customProperties/{key}
method: patch
operationId: CustomPropertiesController_update
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: /v1/projects/{project}/customProperties/{key}
method: delete
operationId: CustomPropertiesController_remove
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: /v1/projects/{project}/metrics
method: post
operationId: MetricsController_create
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: /v1/projects/{project}/metrics
method: get
operationId: MetricsController_findAll
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/metrics/{key}
method: get
operationId: MetricsController_findOne
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/metrics/{key}
method: patch
operationId: MetricsController_update
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: /v1/projects/{project}/metrics/{key}
method: delete
operationId: MetricsController_remove
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: /v1/projects/{project}/metrics/{key}/results
method: get
operationId: MetricsController_fetchResults
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/test-metric-results
method: get
operationId: TestMetricResultsController_fetch
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/metric-associations
method: get
operationId: MetricAssociationsController_findAll
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/metric-associations
method: post
operationId: MetricAssociationsController_create
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: /v1/projects/{project}/metric-associations
method: delete
operationId: MetricAssociationsController_remove
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: /v1/projects/{project}/features/{feature}/overrides/current
method: put
operationId: OverridesController_updateFeatureOverride
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: /v1/projects/{project}/features/{feature}/overrides/current
method: get
operationId: OverridesController_findOne
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/features/{feature}/overrides/current
method: delete
operationId: OverridesController_deleteOverridesForFeature
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: /v1/projects/{project}/features/{feature}/overrides
method: get
operationId: OverridesController_findOverridesForFeature
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/overrides/current
method: get
operationId: OverridesController_findOverridesForProject
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/projects/{project}/overrides/current
method: delete
operationId: OverridesController_deleteOverridesForProject
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: /v1/semantic/projects/{project}/audiences/{key}
method: patch
operationId: SemanticPatchController_semanticUpdate
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: /v2/projects/{project}/features/{feature}
method: patch
operationId: FeaturesController_update
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: /v2/projects/{project}/features/{feature}
method: get
operationId: FeaturesController_findOne
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/projects/{project}/features
method: post
operationId: FeaturesController_create
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: /v2/projects/{project}/features
method: get
operationId: FeaturesController_findAll
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/projects/{project}/features/{feature}/static-configuration
method: get
operationId: FeaturesController_findStaticConfiguration
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/projects/{project}/features/{feature}/static-configuration
method: patch
operationId: FeaturesController_updateStaticConfiguration
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: /v2/projects/{project}/features/{feature}/status
method: patch
operationId: FeaturesController_updateStatus
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: /v2/projects/{project}/features/{feature}/staleness
method: get
operationId: FeaturesController_getStaleness
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/projects/{project}/features/{feature}/staleness
method: patch
operationId: FeaturesController_updateStaleness
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: t
# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/devcycle/refs/heads/main/agentic-access/devcycle-agentic-access.yml