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: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /v2/projects/{project}/features/{feature}/summary method: patch operationId: FeaturesController_updateSummary 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}/change-requests method: get operationId: ProjectChangeRequestsController_getFeatureChangeRequests x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/projects/{project}/features/{feature}/change-requests method: post operationId: FeatureChangeRequestsController_createChangeRequest 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}/change-requests method: get operationId: FeatureChangeRequestsController_getPendingFeatureChangeRequests x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/projects/{project}/features/{feature}/change-requests/latest method: get operationId: FeatureChangeRequestsController_getLatestFeatureChangeRequest x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/projects/{project}/features/{feature}/change-requests/{id} method: get operationId: FeatureChangeRequestsController_getFeatureChangeRequest x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/projects/{project}/features/{feature}/change-requests/{id}/submit method: patch operationId: FeatureChangeRequestsController_submitChangeRequestForReview 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}/change-requests/{id}/review method: patch operationId: FeatureChangeRequestsController_reviewFeatureChangeRequest 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}/change-requests/{id}/apply method: patch operationId: FeatureChangeRequestsController_applyFeatureChangeRequest 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}/change-requests/{id}/cancel method: patch operationId: FeatureChangeRequestsController_cancelFeatureChangeRequest 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}/webhooks method: post operationId: WebhooksController_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}/webhooks method: get operationId: WebhooksController_findAll x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/projects/{project}/webhooks/{id} method: patch operationId: WebhooksController_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}/webhooks/{id} method: get operationId: WebhooksController_findOne x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/projects/{project}/webhooks/{id} method: delete operationId: WebhooksController_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/dynatrace method: post operationId: DynatraceIntegrationController_createIntegration 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/dynatrace method: get operationId: DynatraceIntegrationController_getIntegrations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/integrations/dynatrace/{dynatraceEnvironmentId} method: delete operationId: DynatraceIntegrationController_deleteEnvironment 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