# `rate_limited`

A Multiplayer API error, sent with HTTP 429. Status: the Multiplayer API is in private alpha; this code is part of its published contract.

## When

A rate limit was hit. The answer carries `retryAfterSec` (also the Retry-After header) and `scope`, which names the limit.

## What to do

Wait `retryAfterSec` seconds, then try again. If it keeps happening, look at what `scope` counts and send fewer requests.

## The answer

Every error is a JSON body with a stable `error` code. Clients act on the codes they know and treat any other code as a failure of its HTTP status, and keep fields they do not know.

```json
{
  "error": "rate_limited",
  "detail": "A sentence that is safe to show.",
  "next": "Wait `retryAfterSec` seconds, then try again. If it keeps happening, look at what `scope` counts and send fewer requests.",
  "docsUrl": "https://lobbylab.gg/docs/errors/rate_limited",
  "retryAfterSec": 60,
  "scope": "member_intents"
}
```

This code always carries `retryAfterSec` and `scope`.

See also: [every error code](/docs/errors), [the API reference](/docs/api) and [the docs](/docs).
