Discord · Agentic Access

Discord Agentic Access

x-agentic-access generated

Discord exposes 298 API operations that an AI agent could call, of which 167 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: 131 read, 165 write, and 2 safety-critical.

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

ChatCommunicationGamingMessagingSocialVideoVoice
Operations: 298 Acting: 167 Human-in-the-loop: 2 Method: generated

By consequence

read 131 write 165 safety-critical 2

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
DELETE /invites/{code} safety-critical required
POST /oauth2/token/revoke safety-critical required

Source

Agentic Access

Raw ↑
generated: '2026-07-15'
method: generated
source: openapi/discord-interactions-api-openapi.yml, openapi/discord-linked-roles-api-openapi.yml,
  openapi/discord-oauth2-api-openapi.yml, openapi/discord-openapi-original.yml, openapi/discord-rest-api-openapi.yml,
  openapi/discord-webhook-events-api-openapi.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: 298
  by_action_class:
    connected: 131
    acting: 167
  by_consequence:
    read: 131
    write: 165
    safety-critical: 2
  human_in_the_loop_required: 2
operations:
- path: /applications/{application_id}/commands
  method: get
  operationId: getGlobalApplicationCommands
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /applications/{application_id}/commands
  method: post
  operationId: createGlobalApplicationCommand
  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}/commands
  method: put
  operationId: bulkOverwriteGlobalApplicationCommands
  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}/commands/{command_id}
  method: get
  operationId: getGlobalApplicationCommand
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /applications/{application_id}/commands/{command_id}
  method: patch
  operationId: editGlobalApplicationCommand
  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}/commands/{command_id}
  method: delete
  operationId: deleteGlobalApplicationCommand
  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}/guilds/{guild_id}/commands
  method: get
  operationId: getGuildApplicationCommands
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /applications/{application_id}/guilds/{guild_id}/commands
  method: post
  operationId: createGuildApplicationCommand
  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}/guilds/{guild_id}/commands
  method: put
  operationId: bulkOverwriteGuildApplicationCommands
  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}/guilds/{guild_id}/commands/{command_id}
  method: get
  operationId: getGuildApplicationCommand
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /applications/{application_id}/guilds/{guild_id}/commands/{command_id}
  method: patch
  operationId: editGuildApplicationCommand
  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}/guilds/{guild_id}/commands/{command_id}
  method: delete
  operationId: deleteGuildApplicationCommand
  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}/guilds/{guild_id}/commands/permissions
  method: get
  operationId: getGuildApplicationCommandPermissions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissions
  method: get
  operationId: getApplicationCommandPermissions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissions
  method: put
  operationId: editApplicationCommandPermissions
  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: /interactions/{interaction_id}/{interaction_token}/callback
  method: post
  operationId: createInteractionResponse
  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: /webhooks/{application_id}/{interaction_token}/messages/@original
  method: get
  operationId: getOriginalInteractionResponse
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /webhooks/{application_id}/{interaction_token}/messages/@original
  method: patch
  operationId: editOriginalInteractionResponse
  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: /webhooks/{application_id}/{interaction_token}/messages/@original
  method: delete
  operationId: deleteOriginalInteractionResponse
  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: /webhooks/{application_id}/{interaction_token}
  method: post
  operationId: createFollowupMessage
  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: /webhooks/{application_id}/{interaction_token}/messages/{message_id}
  method: get
  operationId: getFollowupMessage
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /webhooks/{application_id}/{interaction_token}/messages/{message_id}
  method: patch
  operationId: editFollowupMessage
  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: /webhooks/{application_id}/{interaction_token}/messages/{message_id}
  method: delete
  operationId: deleteFollowupMessage
  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}/role-connections/metadata
  method: get
  operationId: getApplicationRoleConnectionMetadataRecords
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /applications/{application_id}/role-connections/metadata
  method: put
  operationId: updateApplicationRoleConnectionMetadataRecords
  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: /users/@me/applications/{application_id}/role-connection
  method: get
  operationId: getUserApplicationRoleConnection
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /users/@me/applications/{application_id}/role-connection
  method: put
  operationId: updateUserApplicationRoleConnection
  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: /oauth2/authorize
  method: get
  operationId: authorize
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /oauth2/token
  method: post
  operationId: getToken
  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: /oauth2/token/revoke
  method: post
  operationId: revokeToken
  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: /oauth2/@me
  method: get
  operationId: getCurrentAuthorizationInformation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /oauth2/keys
  method: get
  operationId: getOAuth2Keys
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /oauth2/applications/@me
  method: get
  operationId: getMyOAuth2Application
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /users/@me
  method: get
  operationId: getCurrentUser
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /users/@me/guilds
  method: get
  operationId: getCurrentUserGuilds
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /users/@me/connections
  method: get
  operationId: getCurrentUserConnections
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /oauth2/applications/@me
  method: get
  operationId: get_my_oauth2_application
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /users/@me/connections
  method: get
  operationId: list_my_connections
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - connections
    token:
      max-ttl: 3600
    audit: none
- path: /users/@me/channels
  method: post
  operationId: create_dm
  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: /users/@me/guilds
  method: get
  operationId: list_my_guilds
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - guilds
    token:
      max-ttl: 3600
    audit: none
- path: /applications/@me
  method: get
  operationId: get_my_application
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /applications/@me
  method: patch
  operationId: update_my_application
  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: /gateway/bot
  method: get
  operationId: get_bot_gateway
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /oauth2/keys
  method: get
  operationId: get_public_keys
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /oauth2/@me
  method: get
  operationId: get_my_oauth2_authorization
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - activities.read
    - activities.write
    - applications.builds.read
    - applications.builds.upload
    - applications.commands
    - applications.commands.permissions.update
    - applications.commands.update
    - applications.entitlements
    - applications.store.update
    - bot
    - connections
    - dm_channels.read
    - email
    - gdm.join
    - guilds
    - guilds.join
    - guilds.members.read
    - identify
    - messages.read
    - openid
    - relationships.read
    - role_connections.write
    - rpc
    - rpc.activities.write
    - rpc.notifications.read
    - rpc.screenshare.read
    - rpc.screenshare.write
    - rpc.video.read
    - rpc.video.write
    - rpc.voice.read
    - rpc.voice.write
    - voice
    - webhook.incoming
    token:
      max-ttl: 3600
    audit: none
- path: /voice/regions
  method: get
  operationId: list_voice_regions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /users/@me
  method: get
  operationId: get_my_user
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - identify
    token:
      max-ttl: 3600
    audit: none
- path: /users/@me
  method: patch
  operationId: update_my_user
  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: /stage-instances
  method: post
  operationId: create_stage_instance
  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: /sticker-packs
  method: get
  operationId: list_sticker_packs
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /gateway
  method: get
  operationId: get_gateway
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /guilds
  method: post
  operationId: create_guild
  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: /channels/{channel_id}/users/@me/threads/archived/private
  method: get
  operationId: list_my_private_archived_threads
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /applications/{application_id}/guilds/{guild_id}/commands/permissions
  method: get
  operationId: list_guild_application_command_permissions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - applications.commands.permissions.update
    token:
      max-ttl: 3600
    audit: none
- path: /applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissions
  method: get
  operationId: get_guild_application_command_permissions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - applications.commands.permissions.update
    token:
      max-ttl: 3600
    audit: none
- path: /applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissions
  method: put
  operationId: set_guild_application_command_permissions
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - applications.commands.permissions.update
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/@me
  method: put
  operationId: add_my_message_reaction
  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: /channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/@me
  method: delete
  operationId: delete_my_message_reaction
  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: /channels/{channel_id}/threads/archived/private
  method: get
  operationId: list_private_archived_threads
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /channels/{channel_id}/threads/archived/public
  method: get
  operationId: list_public_archived_threads
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /users/@me/applications/{application_id}/role-connection
  method: get
  operationId: get_application_user_role_connection
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - role_connections.write
    token:
      max-ttl: 3600
    audit: none
- path: /users/@me/applications/{application_id}/role-connection
  method: put
  operationId: update_application_user_role_connection
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - role_connections.write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /users/@me/guilds/{guild_id}/member
  method: get
  operationId: get_my_guild_member
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - guilds.members.read
    token:
      max-ttl: 3600
    audit: none
- path: /applications/{application_id}/role-connections/metadata
  method: get
  operationId: get_application_role_connections_metadata
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /applications/{application_id}/role-connections/metadata
  method: put
  operationId: update_application_role_connections_metadata
  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}/entitlements/{entitlement_id}/consume
  method: post
  operationId: consume_entitlement
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - applications.entitlements
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /applications/{application_id}/guilds/{guild_id}/commands/{command_id}
  method: get
  operationId: get_guild_application_command
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - applications.commands.update
    token:
      max-ttl: 3600
    audit: none
- path: /applications/{application_id}/guilds/{guild_id}/commands/{command_id}
  method: delete
  operationId: delete_guild_application_command
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - applications.commands.update
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /applications/{application_id}/guilds/{guild_id}/commands/{command_id}
  method: patch
  operationId: update_guild_application_command
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - applications.commands.update
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /applications/{application_id}/guilds/{guild_id}/commands
  method: get
  operationId: list_guild_application_commands
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - applications.commands.update
    token:
      max-ttl: 3600
    audit: none
- path: /applications/{application_id}/guilds/{guild_id}/commands
  method: put
  operationId: bulk_set_guild_application_commands
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - applications.commands.update
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /applications/{application_id}/guilds/{guild_id}/commands
  method: post
  operationId: create_guild_application_command
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - applications.commands.update
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /channels/{channel_id}/thread-members/@me
  method: put
  operationId: join_thread
  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: /channels/{channel_id}/thread-members/@me
  method: delete
  operationId: leave_thread
  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: /channels/{channel_id}/messages/bulk-delete
  method: post
  operationId: bulk_delete_messages
  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: /channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/{user_id}
  method: delete
  operationId: delete_user_message_reaction
  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: /channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}
  method: get
  operationId: list_message_reactions_by_emoji
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}
  method: delete
  operationId: delete_all_message_reactions_by_emoji
  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: /channels/{channel_id}/messages/{message_id}/reactions
  method: delete
  operationId: delete_all_message_reactions
  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: /channels/{channel_id}/messages/{message_id}/crosspost
  method: post
  operationId: crosspost_message
  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: /channels/{channel_id}/messages/{message_id}/threads
  method: post
  operationId: create_thread_from_message
  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: /webhooks/{webhook_id}/{webhook_token}/messages/@original
  method: get
  operationId: get_original_webhook_message
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /webhooks/{webhook_id}/{webhook_token}/messages/@original
  method: delete
  operationId: delete_original_webhook_message
  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: /webhooks/{webhook_id}/{webhook_token}/messages/@original
  method: patch
  operationId: update_original_webhook_message
  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: /guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}/users
  method: get
  operationId: list_guild_scheduled_event_users
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /guilds/{guild_id}/auto-moderation/rules/{rule_id}
  method: get
  operationId: get_auto_moderation_rule
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /guilds/{guild_id}/auto-moderation/rules/{rule_id}
  method: delete
  operationId: delete_auto_moderation_rule
  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: /guilds/{guild_id}/auto-moderation/rules/{rule_id}
  method: patch
  operationId: update_auto_moderation_rule
  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: /guilds/{guild_id}/auto-moderation/rules
  method: get
  operationId: list_auto_moderation_rules
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /guilds/{guild_id}/auto-moderation/rules
  method: post
  operationId: create_auto_moderation_rule
  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: /guilds/{guild_id}/voice-states/@me
  method: patch
  operationId: update_self_voice_state
  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: /guilds/{guild_id}/members/search
  method: get
  operationId: search_guild_members
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /guilds/{guild_id}/threads/active
  method: get
  operationId: get_active_guild_threads
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /guilds/{guild_id}/members/@me
  method: patch
  operationId: update_my_guild_member
  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: /guilds/{guild_id}/members/{user_id}/roles/{role_id}
  method: put
  operationId: add_guild_member_role
  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: /guilds/{guild_id}/members/{user_id}/roles/{role_id}
  method: delete
  operationId: delete_guild_member_role
  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: /users/@me/guilds/{guild_id}
  method: delete
  ope

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