Rate Limits
Each token has a budget of 600 units per minute. Every request costs units depending on what it does:
| Class | Cost | Examples |
|---|---|---|
| Read | 1 | List*, Get* |
| Write | 5 | Update*, Delete*, adding DNS records |
| Expensive | 20 | CreateZone, ImportZone, CreateObjectStorageBucket, CreateApiKey |
The budget refills continuously, so you don’t have to wait for a full minute to pass. To see the class of a method, run grpcurl api.enum.co:443 describe <service>.<method> and look for rate_limit.
Headers
Section titled “Headers”Every response carries the current state of your budget:
| Header | Meaning |
|---|---|
X-RateLimit-Limit | Units per minute |
X-RateLimit-Remaining | Units left right now |
X-RateLimit-Reset | Seconds until the budget is full again |
When you hit the limit
Section titled “When you hit the limit”The API rejects the request with resource_exhausted (HTTP 429) and the message rate limit exceeded. The Retry-After header says how many seconds to wait before you try again.
Requests over the limit are not charged. Separate tokens have separate budgets.