Rate Limit Policy
Rate limits are applied per IP address and user account:Login Attempts
- Limit: Maximum number of failed login attempts from a single IP
- Window: 15 minutes
- Action: IP is temporarily blocked after exceeding threshold
General API Requests
- Limit: Varies by endpoint and user role
- Window: Typically per minute or hour
- Action: 429 Too Many Requests response
Rate Limit Headers
API responses include rate limit information in headers:Maximum requests allowed in the current window
Number of requests remaining in the current window
Unix timestamp when the rate limit window resets
Handling Rate Limits
Retry After
When rate limited, the response includes aRetry-After header indicating when to retry:
Best Practices
- Monitor Headers: Check rate limit headers in responses
- Implement Backoff: Use exponential backoff when receiving 429 responses
- Cache Responses: Cache data when possible to reduce API calls
- Batch Requests: Use pagination and filtering to minimize requests
- Optimize Queries: Request only the data you need
Example: Rate Limit Handling
Python
JavaScript
Exempt Endpoints
Certain critical endpoints may have different or no rate limits:- System health checks
- Emergency alert endpoints
- Webhook receivers
Increasing Limits
If you consistently hit rate limits for legitimate use cases:- Review your integration to optimize API usage
- Contact your UTMStack administrator for custom limits
- Consider upgrading your UTMStack deployment for higher capacity
Monitoring Usage
Administrators can monitor API usage through:- Application event logs
- User audit trails
- System metrics dashboards