Discord · Capability

Discord Interactions API — Application Commands

Discord Interactions API — Application Commands. 15 operations. Lead operation: Discord List global application commands. Self-contained Naftiko capability covering one Discord business surface.

Run with Naftiko DiscordApplication Commands

What You Can Do

GET
Getglobalapplicationcommands — Discord List global application commands
/v1/applications/{application-id}/commands
POST
Createglobalapplicationcommand — Discord Create global application command
/v1/applications/{application-id}/commands
PUT
Bulkoverwriteglobalapplicationcommands — Discord Bulk overwrite global application commands
/v1/applications/{application-id}/commands
GET
Getglobalapplicationcommand — Discord Get global application command
/v1/applications/{application-id}/commands/{command-id}
PATCH
Editglobalapplicationcommand — Discord Edit global application command
/v1/applications/{application-id}/commands/{command-id}
DELETE
Deleteglobalapplicationcommand — Discord Delete global application command
/v1/applications/{application-id}/commands/{command-id}
GET
Getguildapplicationcommands — Discord List guild application commands
/v1/applications/{application-id}/guilds/{guild-id}/commands
POST
Createguildapplicationcommand — Discord Create guild application command
/v1/applications/{application-id}/guilds/{guild-id}/commands
PUT
Bulkoverwriteguildapplicationcommands — Discord Bulk overwrite guild application commands
/v1/applications/{application-id}/guilds/{guild-id}/commands
GET
Getguildapplicationcommandpermissions — Discord List guild application command permissions
/v1/applications/{application-id}/guilds/{guild-id}/commands/permissions
GET
Getguildapplicationcommand — Discord Get guild application command
/v1/applications/{application-id}/guilds/{guild-id}/commands/{command-id}
PATCH
Editguildapplicationcommand — Discord Edit guild application command
/v1/applications/{application-id}/guilds/{guild-id}/commands/{command-id}
DELETE
Deleteguildapplicationcommand — Discord Delete guild application command
/v1/applications/{application-id}/guilds/{guild-id}/commands/{command-id}
GET
Getapplicationcommandpermissions — Discord Get application command permissions
/v1/applications/{application-id}/guilds/{guild-id}/commands/{command-id}/permissions
PUT
Editapplicationcommandpermissions — Discord Edit application command permissions
/v1/applications/{application-id}/guilds/{guild-id}/commands/{command-id}/permissions

MCP Tools

discord-list-global-application-commands

Discord List global application commands

read-only idempotent
discord-create-global-application-command

Discord Create global application command

discord-bulk-overwrite-global-application

Discord Bulk overwrite global application commands

idempotent
discord-get-global-application-command

Discord Get global application command

read-only idempotent
discord-edit-global-application-command

Discord Edit global application command

idempotent
discord-delete-global-application-command

Discord Delete global application command

idempotent
discord-list-guild-application-commands

Discord List guild application commands

read-only idempotent
discord-create-guild-application-command

Discord Create guild application command

discord-bulk-overwrite-guild-application

Discord Bulk overwrite guild application commands

idempotent
discord-list-guild-application-command

Discord List guild application command permissions

read-only idempotent
discord-get-guild-application-command

Discord Get guild application command

read-only idempotent
discord-edit-guild-application-command

Discord Edit guild application command

idempotent
discord-delete-guild-application-command

Discord Delete guild application command

idempotent
discord-get-application-command-permissions

Discord Get application command permissions

read-only idempotent
discord-edit-application-command-permissions

Discord Edit application command permissions

idempotent

Capability Spec

interactions-application-commands.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Discord Interactions API — Application Commands
  description: 'Discord Interactions API — Application Commands. 15 operations. Lead operation: Discord List global application
    commands. Self-contained Naftiko capability covering one Discord business surface.'
  tags:
  - Discord
  - Application Commands
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    DISCORD_API_KEY: DISCORD_API_KEY
capability:
  consumes:
  - type: http
    namespace: interactions-application-commands
    baseUri: https://discord.com/api/v10
    description: Discord Interactions API — Application Commands business capability. Self-contained, no shared references.
    resources:
    - name: applications-application_id-commands
      path: /applications/{application_id}/commands
      operations:
      - name: getglobalapplicationcommands
        method: GET
        description: Discord List global application commands
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: with_localizations
          in: query
          type: boolean
      - name: createglobalapplicationcommand
        method: POST
        description: Discord Create global application command
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: bulkoverwriteglobalapplicationcommands
        method: PUT
        description: Discord Bulk overwrite global application commands
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: applications-application_id-commands-command_id
      path: /applications/{application_id}/commands/{command_id}
      operations:
      - name: getglobalapplicationcommand
        method: GET
        description: Discord Get global application command
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: editglobalapplicationcommand
        method: PATCH
        description: Discord Edit global application command
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteglobalapplicationcommand
        method: DELETE
        description: Discord Delete global application command
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: applications-application_id-guilds-guild_id-commands
      path: /applications/{application_id}/guilds/{guild_id}/commands
      operations:
      - name: getguildapplicationcommands
        method: GET
        description: Discord List guild application commands
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: with_localizations
          in: query
          type: boolean
      - name: createguildapplicationcommand
        method: POST
        description: Discord Create guild application command
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: bulkoverwriteguildapplicationcommands
        method: PUT
        description: Discord Bulk overwrite guild application commands
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: applications-application_id-guilds-guild_id-commands-permissions
      path: /applications/{application_id}/guilds/{guild_id}/commands/permissions
      operations:
      - name: getguildapplicationcommandpermissions
        method: GET
        description: Discord List guild application command permissions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: applications-application_id-guilds-guild_id-commands-command_id
      path: /applications/{application_id}/guilds/{guild_id}/commands/{command_id}
      operations:
      - name: getguildapplicationcommand
        method: GET
        description: Discord Get guild application command
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: editguildapplicationcommand
        method: PATCH
        description: Discord Edit guild application command
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteguildapplicationcommand
        method: DELETE
        description: Discord Delete guild application command
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: applications-application_id-guilds-guild_id-commands-command_id-permissions
      path: /applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissions
      operations:
      - name: getapplicationcommandpermissions
        method: GET
        description: Discord Get application command permissions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: editapplicationcommandpermissions
        method: PUT
        description: Discord Edit application command permissions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.DISCORD_API_KEY}}'
  exposes:
  - type: rest
    namespace: interactions-application-commands-rest
    port: 8080
    description: REST adapter for Discord Interactions API — Application Commands. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/applications/{application-id}/commands
      name: applications-application-id-commands
      description: REST surface for applications-application_id-commands.
      operations:
      - method: GET
        name: getglobalapplicationcommands
        description: Discord List global application commands
        call: interactions-application-commands.getglobalapplicationcommands
        with:
          with_localizations: rest.with_localizations
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createglobalapplicationcommand
        description: Discord Create global application command
        call: interactions-application-commands.createglobalapplicationcommand
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: bulkoverwriteglobalapplicationcommands
        description: Discord Bulk overwrite global application commands
        call: interactions-application-commands.bulkoverwriteglobalapplicationcommands
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/applications/{application-id}/commands/{command-id}
      name: applications-application-id-commands-command-id
      description: REST surface for applications-application_id-commands-command_id.
      operations:
      - method: GET
        name: getglobalapplicationcommand
        description: Discord Get global application command
        call: interactions-application-commands.getglobalapplicationcommand
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: editglobalapplicationcommand
        description: Discord Edit global application command
        call: interactions-application-commands.editglobalapplicationcommand
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteglobalapplicationcommand
        description: Discord Delete global application command
        call: interactions-application-commands.deleteglobalapplicationcommand
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/applications/{application-id}/guilds/{guild-id}/commands
      name: applications-application-id-guilds-guild-id-commands
      description: REST surface for applications-application_id-guilds-guild_id-commands.
      operations:
      - method: GET
        name: getguildapplicationcommands
        description: Discord List guild application commands
        call: interactions-application-commands.getguildapplicationcommands
        with:
          with_localizations: rest.with_localizations
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createguildapplicationcommand
        description: Discord Create guild application command
        call: interactions-application-commands.createguildapplicationcommand
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: bulkoverwriteguildapplicationcommands
        description: Discord Bulk overwrite guild application commands
        call: interactions-application-commands.bulkoverwriteguildapplicationcommands
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/applications/{application-id}/guilds/{guild-id}/commands/permissions
      name: applications-application-id-guilds-guild-id-commands-permissions
      description: REST surface for applications-application_id-guilds-guild_id-commands-permissions.
      operations:
      - method: GET
        name: getguildapplicationcommandpermissions
        description: Discord List guild application command permissions
        call: interactions-application-commands.getguildapplicationcommandpermissions
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/applications/{application-id}/guilds/{guild-id}/commands/{command-id}
      name: applications-application-id-guilds-guild-id-commands-command-id
      description: REST surface for applications-application_id-guilds-guild_id-commands-command_id.
      operations:
      - method: GET
        name: getguildapplicationcommand
        description: Discord Get guild application command
        call: interactions-application-commands.getguildapplicationcommand
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: editguildapplicationcommand
        description: Discord Edit guild application command
        call: interactions-application-commands.editguildapplicationcommand
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteguildapplicationcommand
        description: Discord Delete guild application command
        call: interactions-application-commands.deleteguildapplicationcommand
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/applications/{application-id}/guilds/{guild-id}/commands/{command-id}/permissions
      name: applications-application-id-guilds-guild-id-commands-command-id-permissions
      description: REST surface for applications-application_id-guilds-guild_id-commands-command_id-permissions.
      operations:
      - method: GET
        name: getapplicationcommandpermissions
        description: Discord Get application command permissions
        call: interactions-application-commands.getapplicationcommandpermissions
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: editapplicationcommandpermissions
        description: Discord Edit application command permissions
        call: interactions-application-commands.editapplicationcommandpermissions
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: interactions-application-commands-mcp
    port: 9090
    transport: http
    description: MCP adapter for Discord Interactions API — Application Commands. One tool per consumed operation, routed
      inline through this capability's consumes block.
    tools:
    - name: discord-list-global-application-commands
      description: Discord List global application commands
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: interactions-application-commands.getglobalapplicationcommands
      with:
        with_localizations: tools.with_localizations
      outputParameters:
      - type: object
        mapping: $.
    - name: discord-create-global-application-command
      description: Discord Create global application command
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: interactions-application-commands.createglobalapplicationcommand
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: discord-bulk-overwrite-global-application
      description: Discord Bulk overwrite global application commands
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: interactions-application-commands.bulkoverwriteglobalapplicationcommands
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: discord-get-global-application-command
      description: Discord Get global application command
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: interactions-application-commands.getglobalapplicationcommand
      outputParameters:
      - type: object
        mapping: $.
    - name: discord-edit-global-application-command
      description: Discord Edit global application command
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: interactions-application-commands.editglobalapplicationcommand
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: discord-delete-global-application-command
      description: Discord Delete global application command
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: interactions-application-commands.deleteglobalapplicationcommand
      outputParameters:
      - type: object
        mapping: $.
    - name: discord-list-guild-application-commands
      description: Discord List guild application commands
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: interactions-application-commands.getguildapplicationcommands
      with:
        with_localizations: tools.with_localizations
      outputParameters:
      - type: object
        mapping: $.
    - name: discord-create-guild-application-command
      description: Discord Create guild application command
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: interactions-application-commands.createguildapplicationcommand
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: discord-bulk-overwrite-guild-application
      description: Discord Bulk overwrite guild application commands
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: interactions-application-commands.bulkoverwriteguildapplicationcommands
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: discord-list-guild-application-command
      description: Discord List guild application command permissions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: interactions-application-commands.getguildapplicationcommandpermissions
      outputParameters:
      - type: object
        mapping: $.
    - name: discord-get-guild-application-command
      description: Discord Get guild application command
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: interactions-application-commands.getguildapplicationcommand
      outputParameters:
      - type: object
        mapping: $.
    - name: discord-edit-guild-application-command
      description: Discord Edit guild application command
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: interactions-application-commands.editguildapplicationcommand
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: discord-delete-guild-application-command
      description: Discord Delete guild application command
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: interactions-application-commands.deleteguildapplicationcommand
      outputParameters:
      - type: object
        mapping: $.
    - name: discord-get-application-command-permissions
      description: Discord Get application command permissions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: interactions-application-commands.getapplicationcommandpermissions
      outputParameters:
      - type: object
        mapping: $.
    - name: discord-edit-application-command-permissions
      description: Discord Edit application command permissions
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: interactions-application-commands.editapplicationcommandpermissions
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.