Rate Limits
Revolt uses a fixed-window ratelimiting algorithm:
- You are given a set amount of calls per each named bucket.
- Any calls past this limit will result in 429 errors.
- Buckets are replenished after 10 seconds from initial request.
Buckets​
There are distinct buckets that you may be calling against, none of these affect each other and can be used up independently of one another.
Method | Path | Limit |
---|---|---|
/users | 20 | |
/bots | 10 | |
/channels | 15 | |
POST | /channels/:id/messages | 10 |
/servers | 5 | |
/auth | 3 | |
DELETE | /auth | 255 |
/swagger | 100 | |
/* | 20 |
Headers​
There are multiple headers you can use to figure out when you can and cannot send requests, and to determine when you can next send a request.
Header | Type | Description |
---|---|---|
X-RateLimit-Limit | number | Maximum number of calls allowed for this bucket. |
X-RateLimit-Bucket | string | Unique identifier for this bucket. |
X-RateLimit-Remaining | number | Remaining number of calls left for this bucket. |
X-RateLimit-Reset-After | number | Milliseconds left until calls are replenished. |
Rate Limited Response​
When you receive 429 Too Many Requests
, you will also receive a JSON body with the schema:
interface Response {
// Milliseconds until calls are replenished
retry_after: number
}