Chef Software · Agentic Access

Chef Software Agentic Access

x-agentic-access generated

Chef Software exposes 256 API operations that an AI agent could call, of which 144 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: 112 read, 135 write, 2 physical, 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.

CompanyDevOpsInfrastructure AutomationConfiguration ManagementComplianceSecurityInfrastructure as CodeCloudContinuous ComplianceNode Management
Operations: 256 Acting: 144 Human-in-the-loop: 7 Method: generated

By consequence

read 112 write 135 physical 2 safety-critical 7

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.

MethodPathConsequenceHuman-in-loop
POST /api/v0/compliance/reporting/controls safety-critical required
POST /api/v0/compliance/reporting/controls/search safety-critical required
POST /api/v0/compliance/reporting/reportcontrols/id/{id} safety-critical required
PUT /api/v0/infra/servers/{server_id}/orgs/{id}/reset-key safety-critical required
PUT /api/v0/infra/servers/{server_id}/orgs/{org_id}/clients/{name}/reset safety-critical required
DELETE /api/v0/nodemanagers/id/{id}/with-node-state/stopped safety-critical required
DELETE /api/v0/nodemanagers/id/{id}/with-node-state/terminated safety-critical required
POST /apis/iam/v2/teams/{id}/users:add physical conditional
POST /apis/iam/v2/teams/{id}/users:remove physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-18'
method: generated
source: openapi/chef-software-applications-applications-openapi.json, openapi/chef-software-cds-cds-openapi.json,
  openapi/chef-software-cfgmgmt-cfgmgmt-openapi.json, openapi/chef-software-compliance-profiles-profiles-openapi.json,
  openapi/chef-software-compliance-reporting-reporting-openapi.json, openapi/chef-software-compliance-reporting-stats-stats-openapi.json,
  openapi/chef-software-compliance-scanner-jobs-jobs-openapi.json, openapi/chef-software-data_feed-data_feed-openapi.json,
  openapi/chef-software-data_lifecycle-data_lifecycle-openapi.json, openapi/chef-software-event_feed-event_feed-openapi.json,
  openapi/chef-software-iam-v2-introspect-openapi.json, openapi/chef-software-iam-v2-policy-openapi.json,
  openapi/chef-software-iam-v2-rules-openapi.json, openapi/chef-software-iam-v2-teams-openapi.json,
  openapi/chef-software-iam-v2-tokens-openapi.json, openapi/chef-software-iam-v2-users-openapi.json,
  openapi/chef-software-infra_proxy-infra_proxy-openapi.json, openapi/chef-software-ingest-chef-openapi.json,
  openapi/chef-software-ingest-job_scheduler-openapi.json, openapi/chef-software-nodes-manager-manager-openapi.json,
  openapi/chef-software-nodes-nodes-openapi.json, openapi/chef-software-report_manager-report_manager-openapi.json,
  openapi/chef-software-secrets-secrets-openapi.json, openapi/chef-software-user_settings-user_settings-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: 256
  by_action_class:
    acting: 144
    connected: 112
  by_consequence:
    write: 135
    read: 112
    safety-critical: 7
    physical: 2
  human_in_the_loop_required: 7
operations:
- path: /api/v0/applications/delete_disconnected_services
  method: post
  operationId: ApplicationsService_DeleteDisconnectedServices
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/applications/delete_services_by_id
  method: post
  operationId: ApplicationsService_DeleteServicesByID
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/applications/disconnected_services
  method: get
  operationId: ApplicationsService_GetDisconnectedServices
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/applications/service-groups
  method: get
  operationId: ApplicationsService_GetServiceGroups
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/applications/service-groups/{service_group_id}
  method: get
  operationId: ApplicationsService_GetServicesBySG
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/applications/service_groups_health_counts
  method: get
  operationId: ApplicationsService_GetServiceGroupsHealthCounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/applications/services
  method: get
  operationId: ApplicationsService_GetServices
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/applications/services-distinct-values
  method: get
  operationId: ApplicationsService_GetServicesDistinctValues
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/applications/stats
  method: get
  operationId: ApplicationsService_GetServicesStats
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/applications/telemetry/services/count
  method: get
  operationId: ApplicationsService_GetServicesUsageCount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/applications/telemetry/services/count/updated
  method: put
  operationId: ApplicationsService_UpdateTelemetryReported
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/applications/version
  method: get
  operationId: ApplicationsService_GetVersion
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/retention/service_groups/delete_disconnected_services/config
  method: get
  operationId: ApplicationsService_GetDeleteDisconnectedServicesConfig
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/retention/service_groups/delete_disconnected_services/config
  method: post
  operationId: ApplicationsService_UpdateDeleteDisconnectedServicesConfig
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/retention/service_groups/delete_disconnected_services/run
  method: post
  operationId: ApplicationsService_RunDeleteDisconnectedServicesJob
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/retention/service_groups/disconnected_services/config
  method: get
  operationId: ApplicationsService_GetDisconnectedServicesConfig
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/retention/service_groups/disconnected_services/config
  method: post
  operationId: ApplicationsService_UpdateDisconnectedServicesConfig
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/retention/service_groups/disconnected_services/run
  method: post
  operationId: ApplicationsService_RunDisconnectedServicesJob
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/beta/content/credentials
  method: post
  operationId: Cds_SubmitCredentials
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/beta/content/enabled
  method: get
  operationId: Cds_IsContentEnabled
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/beta/content/install
  method: post
  operationId: Cds_InstallContentItem
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/beta/content/items
  method: get
  operationId: Cds_ListContentItems
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/beta/cfgmgmt/rollouts/create
  method: post
  operationId: ConfigMgmt_CreateRollout
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/beta/cfgmgmt/rollouts/find
  method: get
  operationId: ConfigMgmt_GetRolloutForChefRun
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/beta/cfgmgmt/rollouts/list
  method: get
  operationId: ConfigMgmt_GetRollouts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/beta/cfgmgmt/rollouts/progress_by_node_segment
  method: get
  operationId: ConfigMgmt_ListNodeSegmentsWithRolloutProgress
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/beta/cfgmgmt/rollouts/rollout/{rollout_id}
  method: get
  operationId: ConfigMgmt_GetRolloutById
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/beta/cfgmgmt/rollouts/test_create
  method: post
  operationId: ConfigMgmt_CreateRolloutTest
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/cfgmgmt/errors
  method: get
  operationId: ConfigMgmt_GetErrors
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/node_metadata_counts
  method: get
  operationId: ConfigMgmt_GetNodeMetadataCounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/node_runs_daily_status_time_series
  method: get
  operationId: ConfigMgmt_GetNodeRunsDailyStatusTimeSeries
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/nodes
  method: get
  operationId: ConfigMgmt_GetNodes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/nodes/{node_id}/attribute
  method: get
  operationId: ConfigMgmt_GetAttributes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/nodes/{node_id}/runs
  method: get
  operationId: ConfigMgmt_GetRuns
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/nodes/{node_id}/runs/{run_id}
  method: get
  operationId: ConfigMgmt_GetNodeRun
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/organizations
  method: get
  operationId: ConfigMgmt_GetOrganizations
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/policy_revision/{revision_id}
  method: get
  operationId: ConfigMgmt_GetPolicyCookbooks
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/source_fqdns
  method: get
  operationId: ConfigMgmt_GetSourceFqdns
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/stats/checkin_counts_timeseries
  method: get
  operationId: ConfigMgmt_GetCheckInCountsTimeSeries
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/stats/missing_node_duration_counts
  method: get
  operationId: ConfigMgmt_GetMissingNodeDurationCounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/stats/node_counts
  method: get
  operationId: ConfigMgmt_GetNodesCounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/stats/run_counts
  method: get
  operationId: ConfigMgmt_GetRunsCounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/suggestions
  method: get
  operationId: ConfigMgmt_GetSuggestions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/telemetry/nodes/count
  method: get
  operationId: ConfigMgmt_GetNodesUsageCount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/cfgmgmt/telemetry/nodes/count/updated
  method: put
  operationId: ConfigMgmt_UpdateTelemetryReported
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/cfgmgmt/version
  method: get
  operationId: ConfigMgmt_GetVersion
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/compliance/market/read/{name}/version/{version}
  method: get
  operationId: ProfilesService_ReadFromMarket
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/compliance/profiles/metasearch
  method: post
  operationId: ProfilesService_MetaSearch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/profiles/read/{owner}/{name}/version/{version}
  method: get
  operationId: ProfilesService_Read
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/compliance/profiles/search
  method: post
  operationId: ProfilesService_List
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/profiles/{owner}/{name}/version/{version}
  method: delete
  operationId: ProfilesService_Delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/assets/config
  method: put
  operationId: ReportingService_SetAssetConfig
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/assets/config/search
  method: get
  operationId: ReportingService_GetAssetConfig
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/compliance/reporting/assets/count
  method: post
  operationId: ReportingService_AssetCount
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/assets/search
  method: post
  operationId: ReportingService_ListAsset
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/controls
  method: post
  operationId: ReportingService_ListControlItems
  x-agentic-access:
    action-class: acting
    consequence: safety-critical
    subject: required
    audience: null
    token:
      max-ttl: 120
      exchange: true
      purpose-required: true
      proof-of-possession: true
    escalation:
      human-in-the-loop: required
    audit: required
- path: /api/v0/compliance/reporting/controls/search
  method: post
  operationId: ReportingService_ListControlItemsRange
  x-agentic-access:
    action-class: acting
    consequence: safety-critical
    subject: required
    audience: null
    token:
      max-ttl: 120
      exchange: true
      purpose-required: true
      proof-of-possession: true
    escalation:
      human-in-the-loop: required
    audit: required
- path: /api/v0/compliance/reporting/nodeheader/id/{id}
  method: post
  operationId: ReportingService_ReadNodeHeader
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/nodes/id/{id}
  method: get
  operationId: ReportingService_ReadNode
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/compliance/reporting/nodes/search
  method: post
  operationId: ReportingService_ListNodes
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/profiles
  method: post
  operationId: ReportingService_ListProfiles
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/report-ids
  method: post
  operationId: ReportingService_ListReportIds
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/reportcontrols/id/{id}
  method: post
  operationId: ReportingService_ListControlInfo
  x-agentic-access:
    action-class: acting
    consequence: safety-critical
    subject: required
    audience: null
    token:
      max-ttl: 120
      exchange: true
      purpose-required: true
      proof-of-possession: true
    escalation:
      human-in-the-loop: required
    audit: required
- path: /api/v0/compliance/reporting/reportmanager/export
  method: post
  operationId: ReportingService_ExportReportManager
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/reports
  method: post
  operationId: ReportingService_ListReports
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/reports/id/{id}
  method: post
  operationId: ReportingService_ReadReport
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/suggestions
  method: post
  operationId: ReportingService_ListSuggestions
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/version
  method: get
  operationId: ReportingService_GetVersion
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/compliance/reporting/stats/failures
  method: post
  operationId: StatsService_ReadFailures
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/stats/nodes/count
  method: get
  operationId: StatsService_GetNodesUsageCount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/compliance/reporting/stats/nodes/count/updated
  method: put
  operationId: StatsService_UpdateTelemetryReported
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/stats/profiles
  method: post
  operationId: StatsService_ReadProfiles
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/stats/summary
  method: post
  operationId: StatsService_ReadSummary
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/reporting/stats/trend
  method: post
  operationId: StatsService_ReadTrend
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/scanner/jobs
  method: post
  operationId: JobsService_Create
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/scanner/jobs/id/{id}
  method: get
  operationId: JobsService_Read
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/compliance/scanner/jobs/id/{id}
  method: delete
  operationId: JobsService_Delete
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/scanner/jobs/id/{id}
  method: put
  operationId: JobsService_Update
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/compliance/scanner/jobs/rerun/id/{id}
  method: get
  operationId: JobsService_Rerun
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/compliance/scanner/jobs/search
  method: post
  operationId: JobsService_List
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/datafeed/config
  method: get
  operationId: DatafeedService_GlobalDataFeedConfig
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/datafeed/destination
  method: post
  operationId: DatafeedService_AddDestination
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/datafeed/destination/enable/{id}
  method: patch
  operationId: DatafeedService_EnableDestination
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/datafeed/destination/{id}
  method: get
  operationId: DatafeedService_GetDestination
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/datafeed/destination/{id}
  method: delete
  operationId: DatafeedService_DeleteDestination
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/datafeed/destination/{id}
  method: patch
  operationId: DatafeedService_UpdateDestination
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/datafeed/destinations
  method: post
  operationId: DatafeedService_ListDestinations
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/datafeed/destinations/test
  method: post
  operationId: DatafeedService_TestDestination
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/data-lifecycle/compliance/config
  method: put
  operationId: DataLifecycle_SetComplianceConfig
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/data-lifecycle/compliance/run
  method: post
  operationId: DataLifecycle_RunCompliance
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/data-lifecycle/compliance/status
  method: get
  operationId: DataLifecycle_GetComplianceStatus
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/data-lifecycle/config
  method: put
  operationId: DataLifecycle_SetConfig
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/data-lifecycle/event-feed/config
  method: put
  operationId: DataLifecycle_SetEventFeedConfig
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/data-lifecycle/event-feed/run
  method: post
  operationId: DataLifecycle_RunEventFeed
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/data-lifecycle/event-feed/status
  method: get
  operationId: DataLifecycle_GetEventFeedStatus
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v0/data-lifecycle/infra/config
  method: put
  operationId: DataLifecycle_SetInfraConfig
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/data-lifecycle/infra/run
  method: post
  operationId: DataLifecycle_RunInfra
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v0/data-lifecycle/infra/status
  method: get
  operationId: DataLifecycle_GetInfraStatus
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-t

# --- truncated at 32 KB (81 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/chef-software/refs/heads/main/agentic-access/chef-software-agentic-access.yml