Discord Members API

Operations on guild members

OpenAPI Specification

discord-members-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Discord Interactions Application Commands Members API
  description: The Discord Interactions API enables applications to create and respond to application commands (slash commands), message components, and modals. It supports both Gateway-based and webhook-based interaction handling, allowing bots to build rich, interactive user experiences within Discord.
  version: '10'
  contact:
    name: Discord Support
    url: https://support-dev.discord.com/hc/en-us
    email: support@discord.com
  termsOfService: https://discord.com/developers/docs/policies-and-agreements/developer-terms-of-service
servers:
- url: https://discord.com/api/v10
  description: Discord API v10
security:
- BotToken: []
tags:
- name: Members
  description: Operations on guild members
paths:
  /guilds/{guild_id}/members:
    get:
      operationId: listGuildMembers
      summary: Discord List guild members
      description: Returns a list of guild member objects.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/guildId'
      - name: limit
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 1000
          default: 1
      - name: after
        in: query
        schema:
          type: string
      responses:
        '200':
          description: List of guild member objects
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GuildMember'
        4XX:
          $ref: '#/components/responses/ClientError'
  /guilds/{guild_id}/members/{user_id}:
    get:
      operationId: getGuildMember
      summary: Discord Get guild member
      description: Returns a guild member object for the specified user.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/guildId'
      - $ref: '#/components/parameters/userId'
      responses:
        '200':
          description: Guild member object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuildMember'
        4XX:
          $ref: '#/components/responses/ClientError'
    put:
      operationId: addGuildMember
      summary: Discord Add guild member
      description: Adds a user to the guild using an OAuth2 access token.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/guildId'
      - $ref: '#/components/parameters/userId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - access_token
              properties:
                access_token:
                  type: string
                nick:
                  type: string
                roles:
                  type: array
                  items:
                    type: string
                mute:
                  type: boolean
                deaf:
                  type: boolean
      responses:
        '201':
          description: Member added
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuildMember'
        '204':
          description: Member already exists
        4XX:
          $ref: '#/components/responses/ClientError'
    patch:
      operationId: modifyGuildMember
      summary: Discord Modify guild member
      description: Modify attributes of a guild member.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/guildId'
      - $ref: '#/components/parameters/userId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                nick:
                  type: string
                  nullable: true
                roles:
                  type: array
                  items:
                    type: string
                mute:
                  type: boolean
                deaf:
                  type: boolean
                channel_id:
                  type: string
                  nullable: true
                communication_disabled_until:
                  type: string
                  format: date-time
                  nullable: true
      responses:
        '200':
          description: Updated guild member
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuildMember'
        4XX:
          $ref: '#/components/responses/ClientError'
    delete:
      operationId: removeGuildMember
      summary: Discord Remove guild member
      description: Remove a member from a guild. Requires KICK_MEMBERS.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/guildId'
      - $ref: '#/components/parameters/userId'
      responses:
        '204':
          description: Member removed
        4XX:
          $ref: '#/components/responses/ClientError'
  /guilds/{guild_id}/members/search:
    get:
      operationId: searchGuildMembers
      summary: Discord Search guild members
      description: Returns guild members whose username or nickname starts with the query.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/guildId'
      - name: query
        in: query
        required: true
        schema:
          type: string
      - name: limit
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 1000
          default: 1
      responses:
        '200':
          description: List of guild member objects
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GuildMember'
        4XX:
          $ref: '#/components/responses/ClientError'
  /guilds/{guild_id}/bans:
    get:
      operationId: getGuildBans
      summary: Discord List guild bans
      description: Returns a list of ban objects for the guild.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/guildId'
      - name: limit
        in: query
        schema:
          type: integer
          maximum: 1000
      - name: before
        in: query
        schema:
          type: string
      - name: after
        in: query
        schema:
          type: string
      responses:
        '200':
          description: List of ban objects
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Ban'
        4XX:
          $ref: '#/components/responses/ClientError'
  /guilds/{guild_id}/bans/{user_id}:
    get:
      operationId: getGuildBan
      summary: Discord Get guild ban
      description: Returns a ban object for the given user.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/guildId'
      - $ref: '#/components/parameters/userId'
      responses:
        '200':
          description: Ban object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ban'
        4XX:
          $ref: '#/components/responses/ClientError'
    put:
      operationId: createGuildBan
      summary: Discord Create guild ban
      description: Create a guild ban and optionally delete previous messages.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/guildId'
      - $ref: '#/components/parameters/userId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                delete_message_seconds:
                  type: integer
                  minimum: 0
                  maximum: 604800
      responses:
        '204':
          description: Ban created
        4XX:
          $ref: '#/components/responses/ClientError'
    delete:
      operationId: removeGuildBan
      summary: Discord Remove guild ban
      description: Remove the ban for a user.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/guildId'
      - $ref: '#/components/parameters/userId'
      responses:
        '204':
          description: Ban removed
        4XX:
          $ref: '#/components/responses/ClientError'
  /guilds/{guild_id}/prune:
    get:
      operationId: getGuildPruneCount
      summary: Discord Get guild prune count
      description: Returns number of members that would be removed in a prune operation.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/guildId'
      - name: days
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 30
          default: 7
      - name: include_roles
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Prune count
          content:
            application/json:
              schema:
                type: object
                properties:
                  pruned:
                    type: integer
        4XX:
          $ref: '#/components/responses/ClientError'
    post:
      operationId: beginGuildPrune
      summary: Discord Begin guild prune
      description: Begin a prune operation. Requires KICK_MEMBERS.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/guildId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                days:
                  type: integer
                  minimum: 1
                  maximum: 30
                  default: 7
                compute_prune_count:
                  type: boolean
                  default: true
                include_roles:
                  type: array
                  items:
                    type: string
      responses:
        '200':
          description: Prune result
          content:
            application/json:
              schema:
                type: object
                properties:
                  pruned:
                    type: integer
                    nullable: true
        4XX:
          $ref: '#/components/responses/ClientError'
  /guilds/{guild_id}/bulk-ban:
    post:
      operationId: bulkGuildBan
      summary: Discord Bulk guild ban
      description: Ban up to 200 users from a guild.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/guildId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - user_ids
              properties:
                user_ids:
                  type: array
                  items:
                    type: string
                  maxItems: 200
                delete_message_seconds:
                  type: integer
                  minimum: 0
                  maximum: 604800
      responses:
        '200':
          description: Bulk ban result
          content:
            application/json:
              schema:
                type: object
                properties:
                  banned_users:
                    type: array
                    items:
                      type: string
                  failed_users:
                    type: array
                    items:
                      type: string
        4XX:
          $ref: '#/components/responses/ClientError'
components:
  schemas:
    Ban:
      type: object
      properties:
        reason:
          type: string
          nullable: true
        user:
          $ref: '#/components/schemas/User'
    User:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Snowflake'
        username:
          type: string
        discriminator:
          type: string
        global_name:
          type: string
          nullable: true
        avatar:
          type: string
          nullable: true
        bot:
          type: boolean
        system:
          type: boolean
        mfa_enabled:
          type: boolean
        banner:
          type: string
          nullable: true
        accent_color:
          type: integer
          nullable: true
        locale:
          type: string
        verified:
          type: boolean
        email:
          type: string
          nullable: true
        flags:
          type: integer
        premium_type:
          type: integer
        public_flags:
          type: integer
        avatar_decoration_data:
          type: object
          nullable: true
      required:
      - id
      - username
    Snowflake:
      type: string
      description: Discord unique ID represented as a string
      pattern: ^[0-9]+$
    GuildMember:
      type: object
      properties:
        user:
          $ref: '#/components/schemas/User'
        nick:
          type: string
          nullable: true
        avatar:
          type: string
          nullable: true
        roles:
          type: array
          items:
            $ref: '#/components/schemas/Snowflake'
        joined_at:
          type: string
          format: date-time
        premium_since:
          type: string
          format: date-time
          nullable: true
        deaf:
          type: boolean
        mute:
          type: boolean
        flags:
          type: integer
        pending:
          type: boolean
        communication_disabled_until:
          type: string
          format: date-time
          nullable: true
      required:
      - roles
      - joined_at
      - deaf
      - mute
  responses:
    ClientError:
      description: Client error response
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                type: integer
              message:
                type: string
              errors:
                type: object
  parameters:
    guildId:
      name: guild_id
      in: path
      required: true
      schema:
        type: string
      description: The ID of the guild (Snowflake)
    userId:
      name: user_id
      in: path
      required: true
      schema:
        type: string
      description: The ID of the user (Snowflake)
  securitySchemes:
    BotToken:
      type: http
      scheme: bearer
      description: Bot token authentication
externalDocs:
  description: Discord Interactions Documentation
  url: https://discord.com/developers/docs/interactions/overview