Limits & Quotas
Rate limits, size limits, and quotas for the Osiris API.
Rate Limits
| Limit | Value | Scope |
|---|---|---|
| API requests | 40 req/min | Per API key (sliding window) |
| Concurrent requests | 20 | Per API key |
| Auth endpoints | 20 req/min | Per IP address |
| Trial claims | 3 per 24h | Per IP address |
Rate limit info is returned in response headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. When exceeded, the API returns 429 Too Many Requests.
Request Limits
| Limit | Value | Notes |
|---|---|---|
| Max request body | 10 MB | Applies to all endpoints |
| Max response body | 50 MB | Safety limit on upstream responses |
| Request timeout | 120 seconds | Read timeout for request body |
| Streaming timeout | No limit | SSE streams run until completion or client disconnect |
Account Limits
| Limit | Value | Notes |
|---|---|---|
| API keys per account | 10 | Active keys only |
| Free trial | $5 credits | @gmail.com only, expires in 3 days, one per account |
| Minimum charge | $0.001 | Per request, regardless of token count |
| Balance expiry | +1 month per purchase | Max 3 months from today, expired credits forfeited |
Error Codes
| Code | Meaning | What to do |
|---|---|---|
400 | Bad Request | Invalid JSON, missing required fields, or model not found. Check your request body. |
401 | Unauthorized | Missing or invalid API key. Check your Authorization: Bearer sk-osiris-... header. |
402 | Payment Required | Balance is $0 or expired. Top up credits. |
403 | Forbidden | Model not allowed for this API key, or API key is revoked. |
429 | Rate Limited | Too many requests. Wait and retry. Check Retry-After header. |
500 | Internal Error | Server error. Retry after a few seconds. If persistent, contact support. |
502 | Bad Gateway | Upstream AI provider error or all accounts busy. Retry with a different model or wait. |
503 | Service Unavailable | No available provider accounts. Try again in a few seconds. |
Need higher limits? Contact us on Telegram for enterprise plans.