Microsoft Graph · Agentic Access

Microsoft Graph Agentic Access

x-agentic-access generated

Microsoft Graph exposes 37105 API operations that an AI agent could call, of which 17655 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: 19450 read, 17315 write, 247 physical, and 93 safety-critical.

93 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.

Azure ADCollaborationContactsDocumentsEmailGraphIdentityMicrosoftOffice 365PresentationsProductivitySpreadsheetsT1Tasks
Operations: 37105 Acting: 17655 Human-in-the-loop: 93 Method: generated

By consequence

read 19450 write 17315 physical 247 safety-critical 93

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 /communications/calls/{call-id}/participants/{participant-id}/stopHoldMusic safety-critical required
POST /communications/calls/{call-id}/participants/{participant-id}/stopHoldMusic safety-critical required
POST /deviceManagement/deviceManagementPartners/{deviceManagementPartner-id}/terminate safety-critical required
POST /deviceManagement/deviceManagementPartners/{deviceManagementPartner-id}/terminate safety-critical required
POST /deviceManagement/managedDevices/{managedDevice-id}/disableLostMode safety-critical required
POST /deviceManagement/managedDevices/{managedDevice-id}/disableLostMode safety-critical required
POST /deviceManagement/managedDevices/{managedDevice-id}/rebootNow safety-critical required
POST /deviceManagement/managedDevices/{managedDevice-id}/rebootNow safety-critical required
POST /deviceManagement/managedDevices/{managedDevice-id}/resetPasscode safety-critical required
POST /deviceManagement/managedDevices/{managedDevice-id}/resetPasscode safety-critical required
POST /deviceManagement/managedDevices/{managedDevice-id}/shutDown safety-critical required
POST /deviceManagement/managedDevices/{managedDevice-id}/shutDown safety-critical required
POST /deviceManagement/virtualEndpoint/cloudPCs/{cloudPC-id}/reboot safety-critical required
POST /deviceManagement/virtualEndpoint/cloudPCs/{cloudPC-id}/reboot safety-critical required
POST /groups/{group-id}/resetUnseenCount safety-critical required
POST /groups/{group-id}/resetUnseenCount safety-critical required
POST /identity/b2xUserFlows/{b2xIdentityUserFlow-id}/languages/{userFlowLanguageConfiguration-id}/overridesPages safety-critical required
POST /identity/b2xUserFlows/{b2xIdentityUserFlow-id}/languages/{userFlowLanguageConfiguration-id}/overridesPages safety-critical required
PATCH /identity/b2xUserFlows/{b2xIdentityUserFlow-id}/languages/{userFlowLanguageConfiguration-id}/overridesPages/{userFlowLanguagePage-id} safety-critical required
DELETE /identity/b2xUserFlows/{b2xIdentityUserFlow-id}/languages/{userFlowLanguageConfiguration-id}/overridesPages/{userFlowLanguagePage-id} safety-critical required
PATCH /identity/b2xUserFlows/{b2xIdentityUserFlow-id}/languages/{userFlowLanguageConfiguration-id}/overridesPages/{userFlowLanguagePage-id} safety-critical required
DELETE /identity/b2xUserFlows/{b2xIdentityUserFlow-id}/languages/{userFlowLanguageConfiguration-id}/overridesPages/{userFlowLanguagePage-id} safety-critical required
PUT /identity/b2xUserFlows/{b2xIdentityUserFlow-id}/languages/{userFlowLanguageConfiguration-id}/overridesPages/{userFlowLanguagePage-id}/$value safety-critical required
DELETE /identity/b2xUserFlows/{b2xIdentityUserFlow-id}/languages/{userFlowLanguageConfiguration-id}/overridesPages/{userFlowLanguagePage-id}/$value safety-critical required
PUT /identity/b2xUserFlows/{b2xIdentityUserFlow-id}/languages/{userFlowLanguageConfiguration-id}/overridesPages/{userFlowLanguagePage-id}/$value safety-critical required

Source

Agentic Access

Raw ↑
generated: '2026-07-15'
method: generated
source: openapi/admin-openapi-original.yml, openapi/agreementacceptances-openapi-original.yml,
  openapi/agreements-openapi-original.yml, openapi/appcatalogs-openapi-original.yml, openapi/applications-openapi-original.yml,
  openapi/applicationtemplates-openapi-original.yml, openapi/auditlogs-openapi-original.yml,
  openapi/authenticationmethodconfigurations-openapi-original.yml, openapi/authenticationmethodspolicy-openapi-original.yml,
  openapi/certificatebasedauthconfiguration-openapi-original.yml, openapi/chats-openapi-original.yml,
  openapi/communications-openapi-original.yml, openapi/compliance-openapi-original.yml, openapi/connections-openapi-original.yml,
  openapi/contacts-openapi-original.yml, openapi/contracts-openapi-original.yml, openapi/copilot-openapi-original.yml,
  openapi/datapolicyoperations-openapi-original.yml, openapi/deviceappmanagement-openapi-original.yml,
  openapi/devicemanagement-openapi-original.yml, openapi/devices-openapi-original.yml, openapi/directory-openapi-original.yml,
  openapi/directoryobjects-openapi-original.yml, openapi/directoryroles-openapi-original.yml,
  openapi/directoryroletemplates-openapi-original.yml, openapi/domaindnsrecords-openapi-original.yml,
  openapi/domains-openapi-original.yml, openapi/drives-openapi-original.yml, openapi/education-openapi-original.yml,
  openapi/employeeexperience-openapi-original.yml, openapi/external-openapi-original.yml, openapi/filteroperators-openapi-original.yml,
  openapi/functions-openapi-original.yml, openapi/grouplifecyclepolicies-openapi-original.yml,
  openapi/groups-openapi-original.yml, openapi/groupsettings-openapi-original.yml, openapi/groupsettingtemplates-openapi-original.yml,
  openapi/identity-openapi-original.yml, openapi/identitygovernance-openapi-original.yml, openapi/identityprotection-openapi-original.yml,
  openapi/identityproviders-openapi-original.yml, openapi/informationprotection-openapi-original.yml,
  openapi/invitations-openapi-original.yml, openapi/me-openapi-original.yml, openapi/microsoft-graph-api-openapi.yml,
  openapi/oauth2permissiongrants-openapi-original.yml, openapi/organization-openapi-original.yml,
  openapi/permissiongrants-openapi-original.yml, openapi/places-openapi-original.yml, openapi/planner-openapi-original.yml,
  openapi/policies-openapi-original.yml, openapi/print-openapi-original.yml, openapi/privacy-openapi-original.yml,
  openapi/reports-openapi-original.yml, openapi/rolemanagement-openapi-original.yml, openapi/schemaextensions-openapi-original.yml,
  openapi/scopedrolememberships-openapi-original.yml, openapi/search-openapi-original.yml, openapi/security-openapi-original.yml,
  openapi/serviceprincipals-openapi-original.yml, openapi/shares-openapi-original.yml, openapi/sites-openapi-original.yml,
  openapi/solutions-openapi-original.yml, openapi/storage-openapi-original.yml, openapi/subscribedskus-openapi-original.yml,
  openapi/subscriptions-openapi-original.yml, openapi/teams-openapi-original.yml, openapi/teamstemplates-openapi-original.yml,
  openapi/teamwork-openapi-original.yml, openapi/tenantrelationships-openapi-original.yml, openapi/users-openapi-original.yml
description: Recommended x-agentic-access execution contracts, classified heuristically from
  the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
  audience per deployment. See research/curity/agentic-governance/.
summary:
  operations: 37105
  by_action_class:
    connected: 19450
    acting: 17655
  by_consequence:
    read: 19450
    write: 17315
    physical: 247
    safety-critical: 93
  human_in_the_loop_required: 93
operations:
- path: /admin
  method: get
  operationId: getAdmin
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /admin
  method: patch
  operationId: updateAdmin
  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: /admin/edge
  method: get
  operationId: getAdminEdge
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /admin/edge
  method: patch
  operationId: updateAdminEdge
  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: /admin/edge
  method: delete
  operationId: deleteAdminEdge
  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: /admin/edge/internetExplorerMode
  method: get
  operationId: getEdgeInternetExplorerMode
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /admin/edge/internetExplorerMode
  method: patch
  operationId: updateEdgeInternetExplorerMode
  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: /admin/edge/internetExplorerMode
  method: delete
  operationId: deleteEdgeInternetExplorerMode
  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: /admin/edge/internetExplorerMode/siteLists
  method: get
  operationId: listBrowserSiteLists
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /admin/edge/internetExplorerMode/siteLists
  method: post
  operationId: createBrowserSiteList
  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: /admin/edge/internetExplorerMode/siteLists/{browserSiteList-id}
  method: get
  operationId: getBrowserSiteList
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /admin/edge/internetExplorerMode/siteLists/{browserSiteList-id}
  method: patch
  operationId: updateBrowserSiteList
  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: /admin/edge/internetExplorerMode/siteLists/{browserSiteList-id}
  method: delete
  operationId: deleteBrowserSiteList
  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: /admin/microsoft365Apps
  method: get
  operationId: getMicrosoft365Apps
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /admin/microsoft365Apps
  method: patch
  operationId: updateMicrosoft365Apps
  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: /admin/reportSettings
  method: get
  operationId: getReportSettings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /admin/reportSettings
  method: patch
  operationId: updateReportSettings
  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: /admin/serviceAnnouncement
  method: get
  operationId: getServiceAnnouncement
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /admin/sharepoint
  method: get
  operationId: getSharePointSettings
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /admin/sharepoint
  method: patch
  operationId: updateSharePointSettings
  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: /copilot/admin
  method: get
  operationId: getCopilotAdmin
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /directory/administrativeUnits
  method: get
  operationId: listAdministrativeUnits
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /directory/administrativeUnits
  method: post
  operationId: createAdministrativeUnit
  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: /directory/administrativeUnits/{administrativeUnit-id}
  method: get
  operationId: getAdministrativeUnit
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /directory/administrativeUnits/{administrativeUnit-id}
  method: patch
  operationId: updateAdministrativeUnit
  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: /directory/administrativeUnits/{administrativeUnit-id}
  method: delete
  operationId: deleteAdministrativeUnit
  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: /policies/adminConsentRequestPolicy
  method: get
  operationId: getAdminConsentRequestPolicy
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /policies/adminConsentRequestPolicy
  method: patch
  operationId: updateAdminConsentRequestPolicy
  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: /agreementAcceptances
  method: get
  operationId: listAgreementAcceptances
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /agreementAcceptances
  method: post
  operationId: createAgreementAcceptance
  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: /agreementAcceptances/{agreementAcceptance-id}
  method: get
  operationId: getAgreementAcceptance
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /agreementAcceptances/{agreementAcceptance-id}
  method: patch
  operationId: updateAgreementAcceptance
  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: /agreementAcceptances/{agreementAcceptance-id}
  method: delete
  operationId: deleteAgreementAcceptance
  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: /agreementAcceptances/$count
  method: get
  operationId: countAgreementAcceptances
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /identityGovernance/termsOfUse/agreementAcceptances
  method: get
  operationId: listIdentityGovernanceAgreementAcceptances
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /identityGovernance/termsOfUse/agreementAcceptances
  method: post
  operationId: createIdentityGovernanceAgreementAcceptance
  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: /identityGovernance/termsOfUse/agreementAcceptances/{agreementAcceptance-id}
  method: get
  operationId: getIdentityGovernanceAgreementAcceptance
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /identityGovernance/termsOfUse/agreementAcceptances/{agreementAcceptance-id}
  method: patch
  operationId: updateIdentityGovernanceAgreementAcceptance
  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: /identityGovernance/termsOfUse/agreementAcceptances/{agreementAcceptance-id}
  method: delete
  operationId: deleteIdentityGovernanceAgreementAcceptance
  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: /identityGovernance/termsOfUse/agreementAcceptances/$count
  method: get
  operationId: countIdentityGovernanceAgreementAcceptances
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agreementAcceptances
  method: get
  operationId: listCurrentUserAgreementAcceptances
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agreementAcceptances/{agreementAcceptance-id}
  method: get
  operationId: getCurrentUserAgreementAcceptance
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agreementAcceptances/$count
  method: get
  operationId: countCurrentUserAgreementAcceptances
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /users/{user-id}/agreementAcceptances
  method: get
  operationId: listUserAgreementAcceptances
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /users/{user-id}/agreementAcceptances/{agreementAcceptance-id}
  method: get
  operationId: getUserAgreementAcceptance
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /users/{user-id}/agreementAcceptances/$count
  method: get
  operationId: countUserAgreementAcceptances
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /agreements
  method: get
  operationId: listAgreements
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /agreements
  method: post
  operationId: createAgreement
  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: /agreements/{agreement-id}
  method: get
  operationId: getAgreement
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /agreements/{agreement-id}
  method: patch
  operationId: updateAgreement
  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: /agreements/{agreement-id}
  method: delete
  operationId: deleteAgreement
  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: /agreements/{agreement-id}/acceptances
  method: get
  operationId: listAgreementAcceptances
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /agreements/{agreement-id}/acceptances
  method: post
  operationId: createAgreementAcceptance
  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: /agreements/{agreement-id}/acceptances/{agreementAcceptance-id}
  method: get
  operationId: getAgreementAcceptance
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /agreements/{agreement-id}/acceptances/{agreementAcceptance-id}
  method: patch
  operationId: updateAgreementAcceptance
  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: /agreements/{agreement-id}/acceptances/{agreementAcceptance-id}
  method: delete
  operationId: deleteAgreementAcceptance
  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: /agreements/{agreement-id}/acceptances/$count
  method: get
  operationId: countAgreementAcceptances
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /agreements/{agreement-id}/file
  method: get
  operationId: getAgreementFile
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /agreements/{agreement-id}/file
  method: patch
  operationId: updateAgreementFile
  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: /agreements/{agreement-id}/file
  method: delete
  operationId: deleteAgreementFile
  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: /agreements/{agreement-id}/file/localizations
  method: get
  operationId: listAgreementFileLocalizations
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /agreements/{agreement-id}/file/localizations
  method: post
  operationId: createAgreementFileLocalization
  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: /agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}
  method: get
  operationId: getAgreementFileLocalization
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}
  method: patch
  operationId: updateAgreementFileLocalization
  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: /agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}
  method: delete
  operationId: deleteAgreementFileLocalization
  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: /agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}/versions
  method: get
  operationId: listAgreementFileLocalizationVersions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}/versions
  method: post
  operationId: createAgreementFileLocalizationVersion
  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: /agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}/versions/{agreementFileVersion-id}
  method: get
  operationId: getAgreementFileLocalizationVersion
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}/versions/{agreementFileVersion-id}
  method: patch
  operationId: updateAgreementFileLocalizationVersion
  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: /agreements/{agreement-id}/file/localizations/{agreementFileLocalization-id}/versions/{agreementFileVersion-id}
  method: delete
  operationId: deleteAgreementFileLocalizationVersion
  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: /agreements/{agreement-id}/files
  method: get
  operationId: listAgreementFiles
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /agreements/{agreement-id}/files
  method: post
  operationId: createAgreementFileItem
  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: /agreements/$count
  method: get
  operationId: countAgreements
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /appCatalogs
  method: get
  operationId: listAppCatalogs
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /appCatalogs
  method: patch
  operationId: updateAppCatalogs
  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: /appCatalogs/teamsApps
  method: get
  operationId: listAppCatalogsTeamsApps
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /appCatalogs/teamsApps
  method: post
  operationId: createAppCatalogsTeamsApps
  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: /appCatalogs/teamsApps/{teamsApp-id}
  method: get
  operationId: getAppCatalogsTeamsApps
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /appCatalogs/teamsApps/{teamsApp-id}
  method: patch
  operationId: updateAppCatalogsTeamsApps
  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: /appCatalogs/teamsApps/{teamsApp-id}
  method: delete
  operationId: deleteAppCatalogsTeamsApps
  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: /appCatalogs/teamsApps/{teamsApp-id}/appDefinitions
  method: get
  operationId: getAppCatalogsTeamsAppsAppDefinitions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /appCatalogs/teamsApps/{teamsApp-id}/appDefinitions
  method: post
  operationId: createAppCatalogsTeamsAppsAppDefinitions
  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: /appCatalogs/teamsApps/{teamsApp-id}/appDefinitions/{teamsAppDefinition-id}
  method: get
  operationId: getAppCatalogsTeamsAppsAppDefinitions1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /appCatalogs/teamsApps/{teamsApp-id}/appDefinitions/{teamsAppDefinition-id}
  method: patch
  operationId: updateAppCatalogsTeamsAppsAppDefinitions
  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: /appCatalogs/teamsApps/{teamsApp-id}/appDefinitions/{teamsAppDefinition-id}
  method: delete
  operationId: deleteAppCatalogsTeamsAppsAppDefinitions
  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: /appCatalogs/teamsApps/{teamsApp-id}/appDefinitions/{teamsAppDefinition-id}/bot
  method: get
  operationId: getAppCatalogsTeamsAppsAppDefinitionsBot
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /appCatalogs/teamsApps/{teamsApp-id}/appDefinitions/{teamsAppDefinition-id}/bot
  method: patch
  operationId: updateAppCatalogsTeamsAppsAppDefinitionsBot
  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: /appCatalogs/teamsApps/{teamsApp-id}/appDefinitions/{teamsAppDefinition-id}/bot
  method: delete
  operationId: deleteAppCatalogsTeamsAppsAppDefinitionsBot
  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: /appCatalogs/teamsApps/{teamsApp-id}/appDefinitions/$count
  method: get
  operationId: countAppCatalogsTeamsAppsAppDefinitions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /appCatalogs/teamsApps/$count
  method: get
  operationId: countAppCatalogsTeamsApps
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /applications
  method: get
  operationId: listApplications
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /applications
  method: post
  operationId: createApplications
  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: /applications/{application-id}
  method: get
  operationId: getApplications
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /applications/{application-id}
  method: patch
  operationId: updateApplications
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in

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