Skip to content
Fluxer API

Guild moderation

A guild ban keeps an account out of a guild until you remove the ban or it expires. Every route on this page needs BAN_MEMBERS. In a guild with an elevated MFA level, everyone except the owner also needs two-factor authentication turned on. A caller without the permission gets 403 MISSING_PERMISSIONS, and one without two-factor authentication gets 400 TWO_FACTOR_REQUIRED.

A guild ban object describes one ban.

A ban also blocks joins from the account's email address and its last IP address. A join returns 403 USER_BANNED_FROM_GUILD for an account or email match and 403 USER_IP_BANNED_FROM_GUILD for an IP match. Fluxer skips the IP match for an address on the instance's IP ban exemption list. Removing the ban lifts both blocks, and permanently deleting the banned account removes all its guild bans.

FieldTypeDescription
userpartial user objectThe banned account
reason1?stringThe ban reason
moderator_idsnowflakeThe account that issued or last replaced the ban, or 0 when an instance admin placed it through the Admin API
banned_atISO8601 timestampTime the ban was issued or last replaced
expires_at2?ISO8601 timestampTime a temporary ban ends, or null for a permanent ban

1 The body reason, or the X-Audit-Log-Reason value when the body has none

2 Fluxer removes an expired ban and never returns it

{
"user": {"id": "1489002177550843906", "username": "spammer", "discriminator": "0042"},
"reason": "Advertising",
"moderator_id": "1489002177550843905",
"banned_at": "2026-08-14T09:12:44.000Z",
"expires_at": null
}
GET/v1/guilds/{guild_id}/bansBot

Returns every guild ban object in the guild. The list isn't paginated.

StatusBodyCondition
200array[guild ban object]Bans were returned

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

PUT/v1/guilds/{guild_id}/bans/{user_id}BotAudit reason

Bans the account and returns 204. Banning an account that is already banned replaces the ban, which can make a permanent ban temporary or extend a temporary one. You can ban an account that isn't a member. To ban a member, your highest role must be above theirs. The owner can ban any member, and nobody can ban the owner.

Fluxer removes a banned member from the guild and its threads and records a MEMBER_BAN_ADD audit entry. Sends Guild Ban Add. The guild gets Guild Member Remove and the banned account gets Guild Delete.

The body is optional. A request with no body creates a permanent ban and deletes no messages.

FieldTypeDescription
delete_message_seconds?integerAge of the target's guild messages to delete, in seconds (0-604800)
delete_message_days?integerSame as delete_message_seconds in days (0-7), ignored when delete_message_seconds is set
reason??stringReason stored on the ban (max 512 characters)
ban_duration_seconds?integerBan duration in seconds (0 or 60-63072000), where 0 is permanent
StatusBodyCondition
204emptyThe ban was created or replaced
400error responseINVALID_FORM_BODY when a body field is out of range
403error responseMISSING_PERMISSIONS when your highest role isn't above the member's, or CONTENT_BLOCKED when reason is blocked
404error responseUNKNOWN_USER when the account doesn't exist, or UNKNOWN_MEMBER when the target is you

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

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

Removes the ban and returns 204. The account can join again through an invite, and messages deleted by the ban stay deleted. Sends Guild Ban Remove and records a MEMBER_BAN_REMOVE audit entry.

StatusBodyCondition
204emptyThe ban was removed
400error responseINVALID_FORM_BODY, with USER_IS_NOT_BANNED on user_id

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