Rate Limiting
The Glider Platform API uses a two-layer rate limiting system to protect service availability while allowing legitimate traffic.Two-Layer System
Layer 1: Global Per-IP Limit
Every request from a single IP address counts toward a global circuit breaker, regardless of which endpoint is called. This prevents any single client from overwhelming the service.Layer 2: Per-Tier Per-IP Limits
Routes are grouped into tiers based on cost and sensitivity. All routes in the same tier share one counter per IP, preventing bypass by varying path parameters.| Tier | Description |
|---|---|
| Tier 1 (critical) | Expensive operations (e.g. LLM inference) |
| Tier 2 (general) | Standard public endpoints |
| Tier 3 (burst) | Read-heavy or cached endpoints |
429 status.
Response Headers
Every response from a rate-limited route includes standard rate limit headers:| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed in the current window |
X-RateLimit-Remaining | Requests remaining before the limit is reached |
X-RateLimit-Reset | Unix timestamp (seconds) when the window resets |
Retry-After | Seconds to wait before retrying (only on 429 responses) |
429 Response Format
When a rate limit is exceeded, the API returns:| Field | Description |
|---|---|
error | Always "Too Many Requests" |
message | Human-readable description including wait time |
retryAfter | Seconds until the current window resets |
correlationId | Correlation ID for tracing across systems |
requestId | Unique request identifier |
correlationId and requestId when contacting Glider support about
rate limiting issues.
Retry Strategy
- Read the
Retry-Afterheader (orretryAfterfield) from the 429 response. - Wait at least that many seconds before retrying.
- Use exponential back-off with jitter if you receive repeated 429s.
- Avoid retry storms — stagger retries across clients when possible.