What’s limited
AIsa enforces three dimensions of capacity:TPM counts input + output tokens together. A request that sends 10K tokens and generates 5K tokens consumes 15K TPM.
Default limits per tier
Per-endpoint overrides
Some endpoints have tighter default limits independent of your tier because the upstream provider caps throughput:Reading rate-limit headers
Every response (including429) includes four headers:
Handling 429 responses
1
Detect a 429
The response body follows the standard error shape with
error.type = "rate_limit_error" and a code of rate_limit_exceeded, upstream_rate_limit, or quota_exceeded.2
Honor `Retry-After`
Always wait at least the number of seconds in
Retry-After before the next attempt. Never retry immediately.3
Use exponential backoff + jitter
After the initial wait, double the delay on each subsequent 429, with ±25% jitter. Cap at 30 seconds. See the retry example.
4
Prefer queuing over retrying
Instead of tight retry loops, queue requests and drain them at a rate below your RPM. A simple token-bucket with a leak rate of
RPM/60 requests per second is robust.5
Stay under the cap
Monitor
X-RateLimit-Remaining-* on every response. When it drops below 10% of the limit, slow down preemptively — avoiding the 429 entirely.Example: staying under the limit
Requesting a quota increase
If you need higher limits for production traffic:- Top up your wallet — moving from Free → Starter is automatic.
- For Growth or Enterprise tiers, email developer@aisa.one with:
- Your workspace ID
- Expected peak RPM and TPM
- Which models or endpoints you need the increase for
- A brief description of your use case
Related
Error Codes
Full list of HTTP status codes and recommended responses.
Usage Logs
Per-request billing and rate-limit telemetry in the dashboard.