Channel Management
Get Channel
Get a channel by ID. If the channel is a thread, a thread member object is included.GET /channels/:channel
Parameters
Parameters
Path Parameters:
channel(snowflake) - Channel ID
getChannel- Base fetcher functiongetChannelSafe- Validated version with schema checkinggetChannelProcedure- tRPC-compatible query proceduregetChannelQuery- TanStack Query-compatible functiongetChannelSchema- Valibot input schema
Channel object
Source: getChannel.ts
Modify Channel
Update a channel’s settings. All parameters are optional.PATCH /channels/:channel
Parameters (Guild Channels)
Parameters (Guild Channels)
Path Parameters:
channel(snowflake) - Channel ID
name(string, 1-100 chars, optional) - Channel nametype(integer, optional) - Channel type (only text ↔ announcement conversion supported)position(integer, optional) - Position in left-hand listingtopic(string, 0-1024 chars, optional) - Channel topicnsfw(boolean, optional) - Whether channel is NSFWrateLimitPerUser(integer, 0-21600, optional) - Slowmode secondsbitrate(integer, min 8000, optional) - Voice/stage bitrateuserLimit(integer, 0-10000, optional) - Voice/stage user limitpermissionOverwrites(array, optional) - Channel-specific permissionsparentId(snowflake, optional) - New parent category IDrtcRegion(string, optional) - Voice region IDvideoQualityMode(integer, optional) - Camera video qualitydefaultAutoArchiveDuration(integer, optional) - Default thread auto-archive durationflags(integer, optional) - Channel flags bitfieldavailableTags(array, max 20, optional) - Forum/media channel tagsdefaultReactionEmoji(object, optional) - Default reaction emojidefaultThreadRateLimitPerUser(integer, 0-21600, optional) - Default thread slowmodedefaultSortOrder(integer, optional) - Default forum post sort orderdefaultForumLayout(integer, optional) - Default forum layout
Parameters (Threads)
Parameters (Threads)
Body Parameters:
name(string, 1-100 chars, optional) - Thread namearchived(boolean, optional) - Whether thread is archivedautoArchiveDuration(integer, optional) - Auto-archive duration (60, 1440, 4320, 10080)locked(boolean, optional) - Whether thread is lockedinvitable(boolean, optional) - Whether non-moderators can add others (private threads)rateLimitPerUser(integer, 0-21600, optional) - Thread slowmodeflags(integer, optional) - Thread flagsappliedTags(array, max 5, optional) - Forum/media thread tags
This endpoint supports the
X-Audit-Log-Reason header.modifyChannelmodifyChannelSafemodifyChannelProceduremodifyChannelSchema
Channel object
Delete Channel
Delete a channel or close a private message. RequiresMANAGE_CHANNELS permission for guild channels.
DELETE /channels/:channel
Deleting a guild channel cannot be undone. Use this with caution. This endpoint supports the
X-Audit-Log-Reason header.Channel object of the deleted channel
Trigger Typing Indicator
Post a typing indicator for up to 10 seconds.POST /channels/:channel/typing
Returns: 204 No Content
Permissions
Edit Channel Permissions
Edit channel permission overwrites for a user or role.PUT /channels/:channel/permissions/:overwrite
Parameters
Parameters
Path Parameters:
channel(snowflake) - Channel IDoverwrite(snowflake) - Role or user ID
allow(string, optional) - Permissions bit set to allowdeny(string, optional) - Permissions bit set to denytype(integer) - 0 for role, 1 for member
This endpoint supports the
X-Audit-Log-Reason header.204 No Content
Delete Channel Permission
Delete a channel permission overwrite.DELETE /channels/:channel/permissions/:overwrite
Returns: 204 No Content
Invites
Create Channel Invite
Create a new invite for the channel.POST /channels/:channel/invites
Parameters
Parameters
Path Parameters:
channel(snowflake) - Channel ID
maxAge(integer, 0-604800, optional) - Duration in seconds (0 = never)maxUses(integer, 0-100, optional) - Max uses (0 = unlimited)temporary(boolean, optional) - Grant temporary membershipunique(boolean, optional) - Create unique invite codetargetType(integer, optional) - Target type for invitetargetUserId(snowflake, optional) - User ID for stream targettargetApplicationId(snowflake, optional) - Application ID for embedded app
Invite object
Get Channel Invites
Get all invites for a channel.GET /channels/:channel/invites
Returns: Array of Invite objects
Threads
Start Thread from Message
Create a thread from an existing message.POST /channels/:channel/messages/:message/threads
Parameters
Parameters
Path Parameters:
channel(snowflake) - Channel IDmessage(snowflake) - Message ID
name(string, 1-100 chars) - Thread nameautoArchiveDuration(integer, optional) - Auto-archive duration (60, 1440, 4320, 10080)rateLimitPerUser(integer, optional) - Slowmode seconds
Channel object (thread)
Start Thread without Message
Create a thread not connected to a message.POST /channels/:channel/threads
Parameters
Parameters
Path Parameters:
channel(snowflake) - Channel ID
name(string, 1-100 chars) - Thread nameautoArchiveDuration(integer, optional) - Auto-archive durationtype(integer, optional) - Thread type (10 = announcement, 11 = public, 12 = private)invitable(boolean, optional) - Whether non-moderators can add othersrateLimitPerUser(integer, optional) - Slowmode seconds
Channel object (thread)
Start Thread in Forum or Media Channel
Create a thread in a forum or media channel.POST /channels/:channel/threads
Returns: Channel object (thread with message)
Join Thread
Add the current user to a thread.PUT /channels/:channel/thread-members/@me
Returns: 204 No Content
Leave Thread
Remove the current user from a thread.DELETE /channels/:channel/thread-members/@me
Returns: 204 No Content
Add Thread Member
Add another member to a thread.PUT /channels/:channel/thread-members/:user
Returns: 204 No Content
Remove Thread Member
Remove another member from a thread.DELETE /channels/:channel/thread-members/:user
Returns: 204 No Content
Get Thread Member
Get a thread member object for a specific user.GET /channels/:channel/thread-members/:user
Parameters
Parameters
Path Parameters:
channel(snowflake) - Thread IDuser(snowflake) - User ID
withMember(boolean, optional) - Include guild member object
ThreadMember object
List Thread Members
Get all members of a thread.GET /channels/:channel/thread-members
Parameters
Parameters
Path Parameters:
channel(snowflake) - Thread ID
withMember(boolean, optional) - Include guild member object for each thread memberafter(snowflake, optional) - Get thread members after this user IDlimit(integer, 1-100, optional) - Max members to return (default: 100)
ThreadMember objects
List Public Archived Threads
Get public archived threads in a channel.GET /channels/:channel/threads/archived/public
Returns: Object with threads, members, and hasMore properties
List Private Archived Threads
Get private archived threads in a channel.GET /channels/:channel/threads/archived/private
Returns: Object with threads, members, and hasMore properties
List Joined Private Archived Threads
Get private archived threads the current user has joined.GET /channels/:channel/users/@me/threads/archived/private
Returns: Object with threads, members, and hasMore properties
Announcement Channels
Follow Announcement Channel
Follow an announcement channel to send messages to a target channel.POST /channels/:channel/followers
Parameters
Parameters
Path Parameters:
channel(snowflake) - Announcement channel ID
webhookChannelId(snowflake) - Target channel ID
FollowedChannel object
Group DM
Add Group DM Recipient
Add a recipient to a group DM.PUT /channels/:channel/recipients/:user
Returns: 204 No Content
Remove Group DM Recipient
Remove a recipient from a group DM.DELETE /channels/:channel/recipients/:user
Returns: 204 No Content