Rate Limits
ZenCore applies rate limits to protect the platform and ensure fair usage.
Default Limits
| Scope | Limit |
|---|---|
| Per API Key | 1000 requests/minute |
| Per User (JWT) | 500 requests/minute |
| Per IP (unauthenticated) | 100 requests/minute |
Rate Limit Headers
Every response includes rate limit information:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 997
X-RateLimit-Reset: 1705312860
When Rate Limited
When you exceed the limit, you'll receive:
HTTP/1.1 429 Too Many Requests
Retry-After: 30
{
"status": 429,
"success": false,
"message": "Rate limit exceeded. Try again in 30 seconds."
}
Best Practices
- Cache responses — Avoid redundant API calls
- Use webhooks — Subscribe to events instead of polling
- Implement backoff — Use exponential backoff when retried
- Batch operations — Where available, use bulk endpoints
Next Steps
- API Conventions — Full API patterns guide
- Error Format — Error response handling