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