Skip to content

Errors

Every error code, what it means and what to do.

A failed request has an HTTP status and this body:

{ "error": { "code": "forbidden", "message": "You need the “Ban players” permission for this experience.", "request_id": "req_0a1b2c3d4e5f6a7b8c9d" } }

details is added when there is more to say, for example the record_id of a ban that Roblox refused.

HTTPcodeMeaning and what to do
401unauthenticatedThe key is missing, wrong, expired, revoked, or its owner is suspended. Check the header, or create a new key.
403forbiddenThe key, or the person behind it, lacks the permission, or has no access to that experience. An experience that does not exist gives the same answer. Check /v1/me.
403feature_unavailableThe experience owner's plan does not include what you asked for.
403limit_reachedA plan limit is used up.
404not_foundThe player, experience or other thing does not exist.
409conflictThe request clashes with the current state, or an identical Idempotency-Key is still running.
422validationSomething in the request is wrong. message names the field.
424integration_missingSetup is missing, usually an Open Cloud key with the right permissions on the experience. The message says which.
429rate_limitedToo many requests. Wait for Retry-After seconds.
502integration_errorRoblox refused or did not answer. For a ban, details.record_id is the record that was stored as failed.
500internal_errorOur side. Try again, and tell us the request_id if it persists.

Anything you cannot fix with a different request is worth retrying only on 429, 502 and 500.

Things that look like errors but are not

  • A ban that needs a second person's approval answers 202 with status: "pending_approval".
  • A kick is queued until a game server confirms it.