Syntext DOCS
Get Started
API Rate Limits

Rate Limits

Syntext applies two kinds of limits: request rate limits (short-window, per-client) and usage limits (monthly, per-organization, based on your plan).

Request Rate Limits

When you exceed a rate limit, the API returns 429:

{
  "error": {
    "code": "RATE_LIMITED",
    "message": "Too many requests. Please wait before asking another question.",
    "retryAfterSeconds": 30
  }
}

Wait retryAfterSeconds before retrying. The SDKs handle this automatically with exponential backoff.

AI Assistant Visitor Limits

The public chat endpoint is rate-limited per visitor to protect your AI query quota from abuse. The limit is configurable per project in the dashboard under Settings → AI Assistant (aiRateLimit). When a visitor exceeds it, the widget shows a cooldown message.

Monthly Usage Limits

Plan-based limits are enforced per organization and reset monthly:

Metered resource Applies to
Builds Trigger Build, git-push builds, PR previews
AI queries AI assistant questions across all your doc sites

When a limit is reached the API returns 403 with code USAGE_LIMIT_EXCEEDED:

{
  "error": {
    "code": "USAGE_LIMIT_EXCEEDED",
    "message": "Monthly AI query limit reached (1000/1000). Upgrade your plan for more AI queries.",
    "current": 1000,
    "limit": 1000
  }
}

Current usage is visible in the dashboard under Organization → Billing.

Best Practices

  • Poll builds at ≥5s intervals — or use build status webhooks instead of polling.
  • Batch content updates — use the batch save endpoint instead of one request per file.
  • Cache chat/config — widget configuration rarely changes.
  • Respect retryAfterSeconds — retrying earlier only extends the cooldown.

Analytics beacon endpoints (/analytics/pageview, /analytics/search, /analytics/chat) are designed for high-volume traffic from doc sites and return 202 immediately.

Assistant
Responses are generated using AI and may contain mistakes.

Ask me anything about the documentation.

ESC