Skip to main content
These endpoints let a Roblox game server check whether a player is banned or muted, and create or lift Roblox punishments that sync back to the dashboard. The guild ID lives in the path and must match your API key’s guild.
The plain /moderation/:guildId/ban, /unban, /mute, and /bans/active routes are dashboard-only. With a guild API key, use the roblox/ variants documented here.
Read endpoints (ban-status, mute-status, bans/active, mutes/active, logs) require the moderation:read scope. Write endpoints (roblox/ban, roblox/unban, roblox/mute, roblox/unmute) require moderation:write. See Scopes.

Check ban status

The high-frequency check a game server runs when a player joins. Responses are cached briefly for performance.
string
required
Your guild ID. Must match the key’s guild.
number
required
The Roblox user ID to check.
number
The Roblox place ID. Lets the check honour place-specific bans in addition to global ones.
boolean
Set to true to bypass the cache and read live.
boolean
object
Present only when banned is true.

Check mute status

Same path params and query options as the ban check. The response uses muted and mute_info (with muted_by instead of banned_by).

Create a ban

Bans a Roblox user. The ban syncs to your connected games and appears in the dashboard.
string
required
string
required
The Roblox user ID to ban.
string
required
string
required
The Roblox ID of the staff member issuing the ban.
string
The target’s Roblox username, for nicer logs.
string
string
A duration like 5m, 1h, 7d, or permanent. Omit for a permanent ban.
boolean
default:"true"
Whether the ban applies across all games or only the source place.
string
The game.JobId of the server issuing the ban, used to prevent echo loops.
A second ban on an already-banned user returns 400. Check status first if you are unsure.

Lift a ban

string
required
string
required
string
required
string
Defaults to “Unbanned via game server”.
string
Returns 404 if the user has no active ban.

Create or lift a mute

Mutes mirror bans exactly. Use the same fields.
mute accepts the same body as ban (roblox_id, reason, duration, moderator_roblox_id, and so on). unmute accepts the same body as unban.

List active punishments

Fetch every active ban or mute for the guild, for example to seed an admin system on startup.
array
The list of active ban records. The mutes endpoint returns data.mutes.
number

Read moderation logs

Read the guild’s moderation log history, for example to mirror punishments into your own audit tooling. Requires the moderation:read scope.
string
required
Your guild ID. Must match the key’s guild.
number
Maximum number of log entries to return.
number
Number of entries to skip, for pagination.
This is the API-key-accessible counterpart to the dashboard’s moderation log view. The bare /moderation/:guildId/logs route remains dashboard-only.