Skip to main content

Rate Limits

IOTMER applies rate limits to protect platform stability. Limits are applied per API key or per user session.

Default limits​

Endpoint groupLimit
Auth endpoints20 req/min
Read operations (GET)300 req/min
Write operations (POST/PUT/DELETE)100 req/min
Device provisioning50 req/min

Rate limit headers​

Every response includes rate limit headers:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 287
X-RateLimit-Reset: 1710500460

Handling 429 errors​

When you exceed a limit, the API returns 429 Too Many Requests with a Retry-After header indicating when to retry.

Implement exponential backoff in your client:

for attempt := 0; attempt < maxRetries; attempt++ {
resp, err := client.Do(req)
if resp.StatusCode == 429 {
time.Sleep(time.Duration(math.Pow(2, float64(attempt))) * time.Second)
continue
}
break
}