Discord · Capability

Discord HTTP API (Preview) — Users

Discord HTTP API (Preview) — Users. 10 operations. Lead operation: Users. Self-contained Naftiko capability covering one Discord business surface.

Run with Naftiko DiscordUsers

What You Can Do

GET
Getmyuser — getmyuser
/v1/users/me
PATCH
Updatemyuser — updatemyuser
/v1/users/me
GET
Getapplicationuserroleconnection — getapplicationuserroleconnection
/v1/users/me/applications/{application-id}/role-connection
PUT
Updateapplicationuserroleconnection — updateapplicationuserroleconnection
/v1/users/me/applications/{application-id}/role-connection
POST
Createdm — createdm
/v1/users/me/channels
GET
Listmyconnections — listmyconnections
/v1/users/me/connections
GET
Listmyguilds — listmyguilds
/v1/users/me/guilds
DELETE
Leaveguild — leaveguild
/v1/users/me/guilds/{guild-id}
GET
Getmyguildmember — getmyguildmember
/v1/users/me/guilds/{guild-id}/member
GET
Getuser — getuser
/v1/users/{user-id}

MCP Tools

getmyuser

getmyuser

read-only idempotent
updatemyuser

updatemyuser

idempotent
getapplicationuserroleconnection

getapplicationuserroleconnection

read-only idempotent
updateapplicationuserroleconnection

updateapplicationuserroleconnection

idempotent
createdm

createdm

listmyconnections

listmyconnections

read-only idempotent
listmyguilds

listmyguilds

read-only idempotent
leaveguild

leaveguild

idempotent
getmyguildmember

getmyguildmember

read-only idempotent
getuser

getuser

read-only idempotent

Capability Spec

discord-users.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Discord HTTP API (Preview) — Users
  description: 'Discord HTTP API (Preview) — Users. 10 operations. Lead operation: Users. Self-contained Naftiko capability
    covering one Discord business surface.'
  tags:
  - Discord
  - Users
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    DISCORD_API_KEY: DISCORD_API_KEY
capability:
  consumes:
  - type: http
    namespace: discord-users
    baseUri: https://discord.com/api/v10
    description: Discord HTTP API (Preview) — Users business capability. Self-contained, no shared references.
    resources:
    - name: users-@me
      path: /users/@me
      operations:
      - name: getmyuser
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatemyuser
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: users-@me-applications-application_id-role-connection
      path: /users/@me/applications/{application_id}/role-connection
      operations:
      - name: getapplicationuserroleconnection
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateapplicationuserroleconnection
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: users-@me-channels
      path: /users/@me/channels
      operations:
      - name: createdm
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: users-@me-connections
      path: /users/@me/connections
      operations:
      - name: listmyconnections
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: users-@me-guilds
      path: /users/@me/guilds
      operations:
      - name: listmyguilds
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: before
          in: query
          type: string
        - name: after
          in: query
          type: string
        - name: limit
          in: query
          type: integer
        - name: with_counts
          in: query
          type: boolean
    - name: users-@me-guilds-guild_id
      path: /users/@me/guilds/{guild_id}
      operations:
      - name: leaveguild
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: users-@me-guilds-guild_id-member
      path: /users/@me/guilds/{guild_id}/member
      operations:
      - name: getmyguildmember
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: users-user_id
      path: /users/{user_id}
      operations:
      - name: getuser
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.DISCORD_API_KEY}}'
  exposes:
  - type: rest
    namespace: discord-users-rest
    port: 8080
    description: REST adapter for Discord HTTP API (Preview) — Users. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/users/me
      name: users-me
      description: REST surface for users-@me.
      operations:
      - method: GET
        name: getmyuser
        description: getmyuser
        call: discord-users.getmyuser
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatemyuser
        description: updatemyuser
        call: discord-users.updatemyuser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/me/applications/{application-id}/role-connection
      name: users-me-applications-application-id-role-connection
      description: REST surface for users-@me-applications-application_id-role-connection.
      operations:
      - method: GET
        name: getapplicationuserroleconnection
        description: getapplicationuserroleconnection
        call: discord-users.getapplicationuserroleconnection
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateapplicationuserroleconnection
        description: updateapplicationuserroleconnection
        call: discord-users.updateapplicationuserroleconnection
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/me/channels
      name: users-me-channels
      description: REST surface for users-@me-channels.
      operations:
      - method: POST
        name: createdm
        description: createdm
        call: discord-users.createdm
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/me/connections
      name: users-me-connections
      description: REST surface for users-@me-connections.
      operations:
      - method: GET
        name: listmyconnections
        description: listmyconnections
        call: discord-users.listmyconnections
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/me/guilds
      name: users-me-guilds
      description: REST surface for users-@me-guilds.
      operations:
      - method: GET
        name: listmyguilds
        description: listmyguilds
        call: discord-users.listmyguilds
        with:
          before: rest.before
          after: rest.after
          limit: rest.limit
          with_counts: rest.with_counts
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/me/guilds/{guild-id}
      name: users-me-guilds-guild-id
      description: REST surface for users-@me-guilds-guild_id.
      operations:
      - method: DELETE
        name: leaveguild
        description: leaveguild
        call: discord-users.leaveguild
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/me/guilds/{guild-id}/member
      name: users-me-guilds-guild-id-member
      description: REST surface for users-@me-guilds-guild_id-member.
      operations:
      - method: GET
        name: getmyguildmember
        description: getmyguildmember
        call: discord-users.getmyguildmember
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{user-id}
      name: users-user-id
      description: REST surface for users-user_id.
      operations:
      - method: GET
        name: getuser
        description: getuser
        call: discord-users.getuser
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: discord-users-mcp
    port: 9090
    transport: http
    description: MCP adapter for Discord HTTP API (Preview) — Users. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: getmyuser
      description: getmyuser
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: discord-users.getmyuser
      outputParameters:
      - type: object
        mapping: $.
    - name: updatemyuser
      description: updatemyuser
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: discord-users.updatemyuser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: getapplicationuserroleconnection
      description: getapplicationuserroleconnection
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: discord-users.getapplicationuserroleconnection
      outputParameters:
      - type: object
        mapping: $.
    - name: updateapplicationuserroleconnection
      description: updateapplicationuserroleconnection
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: discord-users.updateapplicationuserroleconnection
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: createdm
      description: createdm
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: discord-users.createdm
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: listmyconnections
      description: listmyconnections
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: discord-users.listmyconnections
      outputParameters:
      - type: object
        mapping: $.
    - name: listmyguilds
      description: listmyguilds
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: discord-users.listmyguilds
      with:
        before: tools.before
        after: tools.after
        limit: tools.limit
        with_counts: tools.with_counts
      outputParameters:
      - type: object
        mapping: $.
    - name: leaveguild
      description: leaveguild
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: discord-users.leaveguild
      outputParameters:
      - type: object
        mapping: $.
    - name: getmyguildmember
      description: getmyguildmember
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: discord-users.getmyguildmember
      outputParameters:
      - type: object
        mapping: $.
    - name: getuser
      description: getuser
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: discord-users.getuser
      outputParameters:
      - type: object
        mapping: $.