Documentation
Documentation
https://discord.com/developers/docs/reference
Documentation
https://discord.com/developers/docs/tutorials/configuring-app-metadata-for-linked-roles
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