Skip to content
Fluxer API

Thread members

A thread member records that a user joined a thread. A thread has at most 1,000 members. Requests from users need the channel_threads client capability and otherwise return 404 NOT_FOUND. Every endpoint returns 400 INVALID_CHANNEL_TYPE when the channel is not a thread and 403 MISSING_ACCESS when you cannot view it.

FieldTypeDescription
id?1snowflakeThe ID of the thread
user_id?1snowflakeThe ID of the user
join_timestampISO8601 timestampThe time the user last joined the thread
flagsintegerThe thread member flags
muted?2booleanWhether the user muted the thread
mute_config?2?guild mute configuration objectThe mute expiry of the thread
member?3guild member objectThe guild member of the user

1 Omitted on the member of a thread in Ready, Guild Create and Guild Sync

2 Present only on the caller's own membership

3 Present when the request sets with_member and the user is still in the guild. Each added_members entry of Thread Members Update also has it

{
"id": "1501320100000000000",
"user_id": "1501314428688992222",
"join_timestamp": "2026-05-05T20:30:05.018Z",
"flags": 3,
"muted": false,
"mute_config": null
}

At most one of ALL_MESSAGES, ONLY_MENTIONS and NO_MESSAGES is set. With none set, the thread follows the notification level of its parent.

ValueNameDescription
1 << 0HAS_INTERACTED1The user sent a message in the thread or created it
1 << 1ALL_MESSAGESNotify the user of every message in the thread
1 << 2ONLY_MENTIONSNotify the user only of mentions in the thread
1 << 3NO_MESSAGESNotify the user of nothing in the thread

1 A bot that creates a thread doesn't get this flag until it sends a message there

PUT/v1/channels/{channel_id}/thread-members/@meBot

Adds you to a thread and sends a Thread Members Update event. You need to be able to view the thread, and to be a thread moderator if it is locked. Joining a locked thread also needs an enrolled authenticator when the guild MFA level is elevated, unless you own the guild.

StatusBodyCondition
204emptyThe caller is a member
400error responseTHREAD_ARCHIVED when the thread is archived
400error responseTHREAD_LOCKED when the thread is locked and the caller is not a thread moderator
400error responseMAX_THREAD_MEMBERS when the thread has 1,000 members
400error responseTWO_FACTOR_REQUIRED when the caller needs an authenticator
403error responseMISSING_ACCESS when the caller cannot view the thread

The rate limit is 10 requests per 10 seconds, on the channel:thread:member:put::channel_id bucket.

PUT/v1/channels/{channel_id}/thread-members/{user_id}Bot

Adds a guild member to a thread and sends a Thread Members Update event. You need SEND_MESSAGES_IN_THREADS. In a private thread that is not invitable, you or the target must be a thread moderator. When the guild MFA level is elevated and you don't own the guild, you need an enrolled authenticator to add someone to a locked thread. The same applies to adding someone who is not a thread moderator to that kind of private thread. A user_id of @me works like Join thread.

StatusBodyCondition
204emptyThe target is a member
400error responseTHREAD_ARCHIVED, THREAD_LOCKED, MAX_THREAD_MEMBERS or TWO_FACTOR_REQUIRED, as for Join thread
403error responseMISSING_ACCESS when the caller cannot view the thread or the target cannot view the parent
403error responseMISSING_PERMISSIONS when the caller lacks SEND_MESSAGES_IN_THREADS
403error responseMISSING_PERMISSIONS in a private thread that is not invitable when neither user is a thread moderator
403error responseCOMMUNICATION_DISABLED when the caller is timed out
404error responseUNKNOWN_MEMBER when the target is not a guild member

Adding another user posts a RECIPIENT_ADD message that mentions the target and sends Message Create for it. The rate limit is 10 requests per 10 seconds, on the channel:thread:member:put::channel_id bucket.

DELETE/v1/channels/{channel_id}/thread-members/@meBot

Removes you from a thread and sends a Thread Members Update event.

StatusBodyCondition
204emptyThe caller left the thread
400error responseTHREAD_ARCHIVED when the thread is archived
404error responseUNKNOWN_THREAD_MEMBER when the caller is not a member

The rate limit is 10 requests per 10 seconds, on the channel:thread:member:delete::channel_id bucket.

DELETE/v1/channels/{channel_id}/thread-members/{user_id}Bot

Removes a member from a thread and sends a Thread Members Update event. You need to be a thread moderator or the owner of the private thread. When the guild MFA level is elevated, you also need an enrolled authenticator unless you own the guild or the private thread. A user_id of @me or of the caller works like Leave thread.

StatusBodyCondition
204emptyThe member was removed
400error responseTHREAD_ARCHIVED or TWO_FACTOR_REQUIRED, as for Join thread
403error responseMISSING_PERMISSIONS when the caller is neither a thread moderator nor the owner of the private thread
403error responseCOMMUNICATION_DISABLED when the caller is timed out
404error responseUNKNOWN_THREAD_MEMBER when the target is not a member

Fluxer posts a RECIPIENT_REMOVE message that mentions the target and sends Message Create for it. The rate limit is 10 requests per 10 seconds, on the channel:thread:member:delete::channel_id bucket.

GET/v1/channels/{channel_id}/thread-members/{user_id}Bot

Returns the thread member object of a user. Only bots can call it, and users get 404 NOT_FOUND.

FieldTypeDescription
with_member?booleanWhether to include the guild member of the user (default false)
StatusBodyCondition
200thread member objectThe member was returned
404error responseUNKNOWN_THREAD_MEMBER when the user is not a member

The rate limit is 40 requests per 10 seconds, on the channel:thread:member:get::channel_id bucket.

GET/v1/channels/{channel_id}/thread-membersBot

Returns the thread member objects of a thread in ascending user ID order. Only bots can call it, and users get 404 NOT_FOUND. User clients use the thread_member_lists option of Lazy Request.

FieldTypeDescription
with_member?booleanWhether to include the guild member of each thread member (default false)
after?snowflakeReturn members with a user ID above this one
limit?integerThe maximum number of members to return (1-100, default 100)
StatusBodyCondition
200array[thread member object]The members were returned

The rate limit is 20 requests per 10 seconds, on the channel:thread:members:list::channel_id bucket.

PATCH/v1/channels/{channel_id}/thread-members/@me/settings

Changes your notification settings for a thread you joined and sends a Thread Member Update event. While muted is true, you get no push notifications from the thread, including for mentions.

FieldTypeDescription
flags?1integerThe notification thread member flags
muted?booleanWhether the thread is muted
mute_config??guild mute configuration input objectThe mute expiry of the thread, or null to clear it

1 Replaces the three notification flags and keeps HAS_INTERACTED. A value of 0 clears them

StatusBodyCondition
200thread member objectThe settings changed
204emptyThe body matched the stored settings
400error responseINVALID_THREAD_NOTIFICATION_SETTINGS when flags sets more than one notification flag or any other bit
403error responseACCESS_DENIED when the caller is a bot
404error responseUNKNOWN_THREAD_MEMBER when the caller is not a member

The rate limit is 10 requests per 10 seconds, on the channel:thread:member:settings::channel_id bucket.