Skip to content
Fluxer API

Guild members

A guild member is an account that has joined a guild, with a nickname, avatar, roles and moderation state that apply in that guild only.

Every route here needs membership of the guild, and a target that isn't a member returns 404 UNKNOWN_MEMBER.

FieldTypeDescription
userpartial user objectThe account the membership belongs to
nick?stringThe nickname in this guild
avatar1?stringThe image hash of the guild avatar
banner1?stringThe image hash of the guild banner
accent_color?integerThe guild profile accent color as packed 24-bit RGB
roles2array[snowflake]The IDs of the member's roles (max 250)
joined_atISO8601 timestampThe time the account joined this guild
mute3booleanWhether the member is muted in voice
deafbooleanWhether the member is deafened in voice
communication_disabled_until4?ISO8601 timestampThe time the communication timeout ends
profile_flags?5integerThe guild member profile flags set on the membership
mention_flags?5integerThe reply mention preference for this guild

1 An animated hash starts with a_

2 The everyone role is never listed

3 True for a moderator mute and while a communication timeout is active

4 The time can be in the past, and the communication timeout is only active while it's in the future

5 Omitted when the value is 0

{
"user": {"id": "1489002177550843906", "username": "ada", "discriminator": "0042"},
"nick": "Ada L.",
"avatar": null,
"banner": null,
"accent_color": 3447003,
"roles": ["1489002177550843910"],
"joined_at": "2026-08-14T09:12:44.000Z",
"mute": false,
"deaf": false,
"communication_disabled_until": null
}

A set flag makes the member show the default avatar or banner in this guild in place of their account one.

ValueNameDescription
1 << 0AVATAR_UNSETShow the default avatar
1 << 1BANNER_UNSETShow the default banner

The request body for Modify current guild member and Modify guild member. An omitted field keeps its value.

FieldTypeDescription
nick?1?stringThe nickname (1-32 characters)
roles?2array[snowflake]The complete replacement role set (max 250)
avatar?3?base64 stringThe guild avatar image data, or null to clear it
banner?3?base64 stringThe guild banner image data, or null to clear it
bio??stringThe guild profile biography (1-320 characters)
pronouns??stringThe guild profile pronouns (1-40 characters)
accent_color??integerThe guild profile accent color as packed 24-bit RGB (0-16777215)
profile_flags??integerThe guild member profile flags to store
mention_flags?4?integerThe reply mention preference for this guild
mute?booleanWhether the member is muted in voice
deaf?booleanWhether the member is deafened in voice
communication_disabled_until?5?ISO8601 timestampThe time the communication timeout ends
timeout_reason??stringThe reason for the timeout (1-512 characters)
channel_id?6?snowflakeThe voice channel to move the member into, or null to disconnect them
connection_id?6?stringThe voice connection to move, defaulting to all of them (1-32 characters)

1 A blank string clears the nickname

2 Roles missing from the array are removed, and unknown role IDs are dropped

3 Base64 image data with an optional data URL prefix. The decoded size is limited by avatar_max_size in the instance limits

4 0 restores the account-level preference

5 Null or a past time clears the timeout, and a time more than 365.25 days ahead returns TIMEOUT_CANNOT_EXCEED_365_DAYS

6 A connection_id that isn't one of the member's connections returns 400 USER_NOT_IN_VOICE

GET/v1/guilds/{guild_id}/membersBot

Returns guild member objects in ascending user ID order. It needs no permission.

FieldTypeDescription
limit?integerThe maximum number of members to return (1-1000, default 1)
after?snowflakeOnly return members with a user ID greater than this
StatusBodyCondition
200array[guild member object]Members were returned

The rate limit is 40 requests per 10 seconds, on the guild:members::guild_id bucket.

GET/v1/guilds/{guild_id}/members/@meBot

Returns your own guild member object.

StatusBodyCondition
200guild member objectThe membership was returned

The rate limit is 40 requests per 10 seconds, on the guild:members::guild_id bucket.

GET/v1/guilds/{guild_id}/members/{user_id}Bot

Returns one member's guild member object.

StatusBodyCondition
200guild member objectThe membership was returned

The rate limit is 40 requests per 10 seconds, on the guild:members::guild_id bucket.

PATCH/v1/guilds/{guild_id}/members/@meBotAudit reason

Updates your own membership and returns the guild member object.

ChangePermission
nickCHANGE_NICKNAME, and without it Fluxer ignores nick
muteMUTE_MEMBERS
deafDEAFEN_MEMBERS
channel_idMOVE_MEMBERS, and VIEW_CHANNEL and CONNECT in the destination

When interaction_tier is legacy, an unverified account can't change nick, avatar, banner, bio, pronouns, accent_color or profile_flags. avatar, banner, bio and accent_color are ignored without the feature_per_guild_profiles limit. A timed-out member can't change nick, and you can't time yourself out.

You can change each of avatar, banner, bio, pronouns and accent_color 25 times per 30 minutes in each guild. Going over returns 400 INVALID_FORM_BODY with a field code such as AVATAR_CHANGED_TOO_MANY_TIMES, and nothing is saved.

The body is a guild member update object without roles, which Fluxer ignores here.

StatusBodyCondition
200guild member objectThe membership was updated
400error responseUSER_NOT_IN_VOICE when channel_id is set and the member isn't in voice
403error responseMISSING_PERMISSIONS for a missing voice permission or a timeout on yourself
403error responsePROFILE_EMAIL_VERIFICATION_REQUIRED, COMMUNICATION_DISABLED, CONTENT_BLOCKED or ACCOUNT_LIMITED

Fluxer sends Guild Member Update.

The rate limit is 20 requests per 10 seconds, on the guild:member:update::guild_id bucket.

PATCH/v1/guilds/{guild_id}/members/{user_id}BotAudit reason

Updates another member and returns the guild member object. Each field needs the permission below and, except for roles, a higher role than the target. The guild owner skips the permission and role checks.

ChangePermission
nickMANAGE_NICKNAMES
rolesMANAGE_ROLES and a higher role than every role added or removed
timeoutMODERATE_MEMBERS, and the target can't have ADMINISTRATOR
muteMUTE_MEMBERS
deafDEAFEN_MEMBERS
channel_idMOVE_MEMBERS, and VIEW_CHANNEL and CONNECT in the destination

Fluxer ignores avatar, banner, bio, pronouns, accent_color, profile_flags and mention_flags here, but a blocked bio or pronouns still returns 403 CONTENT_BLOCKED. MANAGE_ROLES and MODERATE_MEMBERS are elevated permissions.

If user_id is your own ID, profile fields follow Modify current guild member.

The body is a guild member update object.

StatusBodyCondition
200guild member objectThe membership was updated
400error responseUSER_NOT_IN_VOICE when the target isn't in voice, or TWO_FACTOR_REQUIRED in an elevated-MFA guild
400error responseINVALID_ROLE_ID for the everyone role, or CHANNEL_DOES_NOT_EXIST or CHANNEL_MUST_BE_VOICE for channel_id
403error responseMISSING_PERMISSIONS for a missing permission or role check, a target with ADMINISTRATOR, or a timeout on yourself
403error responseCONTENT_BLOCKED for blocked profile text

Fluxer sends Guild Member Update. If the member joined through an invite with temporary set, a non-empty roles makes their membership permanent.

The rate limit is 20 requests per 10 seconds, on the guild:member:update::guild_id bucket.

DELETE/v1/guilds/{guild_id}/members/{user_id}BotAudit reason

Removes a member from the guild. You need KICK_MEMBERS, an elevated permission, and a higher role than the target. Removing yourself or the owner returns 404 UNKNOWN_MEMBER.

StatusBodyCondition
204emptyThe member was removed
400error responseTWO_FACTOR_REQUIRED in an elevated-MFA guild

Fluxer sends Guild Member Remove to the guild and Guild Delete to the removed account.

The rate limit is 20 requests per 10 seconds, on the guild:member:remove::guild_id bucket.

POST/v1/guilds/{guild_id}/transfer-ownershipBotAudit reasonMFA

Makes another member the owner and returns the guild object. Only the current owner can call it, with the sudo verification fields unless the owner is a bot. The previous owner keeps their roles.

FieldTypeDescription
X-Fluxer-Sudo-Mode-JWT?stringThe existing sudo mode proof
FieldTypeDescription
new_owner_idsnowflakeThe ID of the member to make the new owner
password?stringThe current owner's password
mfa_method?stringThe second factor to verify, one of totp, webauthn or email_code
mfa_code?stringThe authenticator code, required when the method is totp (1-32 characters)
webauthn_response?WebAuthn assertion objectThe assertion produced when the method is webauthn
webauthn_challenge?stringThe challenge bound to the WebAuthn assertion
email_code_ticket?stringThe ticket from send a sudo email code (1-128 characters)
email_code?stringThe 6-digit code from that email
StatusBodyCondition
200guild objectOwnership was transferred
400error responseThe password or code is wrong, or CANNOT_TRANSFER_OWNERSHIP_TO_BOT when the target is a bot
403error responseSUDO_MODE_REQUIRED with the available proofs in methods, or MISSING_PERMISSIONS when you aren't the owner
403error responseACCOUNT_VERIFICATION_REQUIRED when interaction_tier is enforced and the new owner isn't verified

Fluxer sends Guild Update.

The rate limit is 20 requests per 10 seconds, on the guild:update::guild_id bucket.

PUT/v1/guilds/{guild_id}/members/{user_id}/roles/{role_id}BotAudit reason

Adds one role to a member. You need MANAGE_ROLES, an elevated permission, and a higher role than the role you add, unless you're the guild owner.

StatusBodyCondition
204emptyThe member has the role
400error responseINVALID_ROLE_ID for the everyone role, or TWO_FACTOR_REQUIRED in an elevated-MFA guild
403error responseMISSING_PERMISSIONS without MANAGE_ROLES or a higher role than the role
404error responseUNKNOWN_ROLE when the role doesn't exist and you're the owner

Fluxer sends Guild Member Update, and a new role makes a temporary member permanent.

The rate limit is 20 requests per 10 seconds, on the guild:member:role:add::guild_id bucket.

DELETE/v1/guilds/{guild_id}/members/{user_id}/roles/{role_id}BotAudit reason

Removes one role from a member. The rules are the same as Add guild member role.

StatusBodyCondition
204emptyThe member doesn't have the role
400error responseINVALID_ROLE_ID for the everyone role, or TWO_FACTOR_REQUIRED in an elevated-MFA guild
403error responseMISSING_PERMISSIONS without MANAGE_ROLES or a higher role than the role
404error responseUNKNOWN_ROLE when the role doesn't exist and you're the owner

Fluxer sends Guild Member Update.

The rate limit is 20 requests per 10 seconds, on the guild:member:role:remove::guild_id bucket.