POST /v1/server/commands. The key needs the commands scope.
: is optional. Names and aliases aren’t case sensitive.
Command list
GET /v1/commands returns this list as JSON, so your tool can show it without hard-coding it.
Rules
These rules are the same for every key, and the game checks them again before anything runs.One player at a time, by exact name
One player at a time, by exact name
Player arguments must be an exact username (not case sensitive) or a Roblox user ID. Partial names, display names,
all, others and me are refused, so a typo can’t hit the wrong person or the whole server.Staff and the owner are protected
Staff and the owner are protected
kick, ban and kill can’t target the server owner, anyone with a staff rank, or ERA developers. Use the in-game console for staff.Text is filtered
Text is filtered
Announcements, messages and reasons go through Roblox’s text filter before anyone sees them. If filtering fails, the command fails. Unfiltered text is never shown. Messages can be up to 200 characters.
Always labelled as the API
Always labelled as the API
Popups are headed [API] · <key name> in blue, so players can tell them apart from staff. Kick and ban messages, peacetime notices and the server’s command logs say
[API] <key name> too. Name your keys clearly.Commands that aren't listed can't run
Commands that aren't listed can't run
Anything not in the table, such as
:fly, :give, :god or rank changes, is refused with restricted_command before it reaches the game.Jailed and cuffed players stay put
Jailed and cuffed players stay put
respawn won’t work on a player who’s cuffed, being held, or in jail, so it can’t be used as a way out.How a command reaches the game
- The API checks the key, the scope, the command and the rate limit, then answers
202with a command id. - It sends the command straight to the live server through Roblox’s messaging service. This usually takes under a second.
- If that doesn’t arrive, the server picks it up on its next sync, within about 10 seconds.
- The server runs it once (repeats are ignored), then reports back whether it worked.
- A command that hasn’t reached the server within 60 seconds expires and doesn’t run.
GET /v1/server/commands/{id}:
Results are kept for 7 days. If you use webhooks, the
api.command event delivers the same result as it happens.
Limits
- 20 commands a minute per key (5 at once), and 30 a minute per server across all keys.
- The game also stops after 20 API commands in a minute, whatever the API allows.
- The server has to be online. Offline servers answer
server_offline.

