Evose

Rate Limits

Default quotas · Headers · Backoff algorithm

To prevent abuse and protect downstream models.

Default Quotas

ResourceLimit
API overall20 req/sec per API key
Agent chat5 req/sec per user_id
Workflow run10 trigger/sec per API key
Knowledge base upload60 docs/min per API key
Management (create / delete)2 req/sec per API key

Tunable in Private

Under Private deployment, global rate limits can be adjusted in .env.

Response Headers

Every response includes rate-limit status:

X-RateLimit-Limit: 20
X-RateLimit-Remaining: 18
X-RateLimit-Reset: 1715154000
HeaderMeaning
X-RateLimit-LimitTotal quota in the current window
X-RateLimit-RemainingRemaining quota
X-RateLimit-ResetReset time (Unix seconds)

Over-Limit Response

HTTP/1.1 429 Too Many Requests
Retry-After: 1
{
  "error": {
    "code": "RATE_LIMITED",
    "message": "Rate limit exceeded. Retry after 1 second."
  }
}
attempt 1 → immediate
attempt 2 → 1s
attempt 3 → 2s
attempt 4 → 4s
attempt 5 → 8s
give up

Honor Retry-After if present; otherwise, use the defaults above.

High-Concurrency Scenarios

If your business truly needs higher concurrency:

  1. Contact sales to raise the quota
  2. Private deployment is not subject to SaaS quotas
  3. Architectural: use Webhooks + async, not aggressive polling

Next Steps

On this page