What the hosted API at openinterp.org/api/v1 limits, keeps and changes. Self-hosting the open weights involves none of this: nothing leaves your machine. Uptime, latency and daily quality, measured from outside: API status.
The hosted API runs on shared GPUs, so there is one limit for all callers together, not a quota per key.
| Limit | Value |
|---|---|
| Requests in flight at once | 10 |
| Input tokens per second, on average | ≈ 9,000 |
| Burst | 150,000 input tokens |
| Wait for a free slot before answering 429 | up to 20 s |
| POST /feedback | 200 calls per account per UTC day |
When it is still full after the wait, the API answers 429 with Retry-After: 5. Retry after that many seconds. The Python and TypeScript clients raise CannotJudge on a 429: treat the action as unchecked, never as safe. There are no X-RateLimit-* headers, because a shared limit has no per-key remainder to report.
Not kept: what you send and what the model answers.The state, the questions, images and the answers are never written anywhere, by the gateway or by the model server: no database, no log file. The model server keeps a prompt's cache in GPU memory only while it serves. For the same reason the hosted API has no sessions.
Kept: metadata about each request, used for billing, the console's usage view and running the service.
| What | Kept |
|---|---|
| Account id and email, last 4 characters of the key, path, HTTP status, input tokens, time in ms, IP address and country, error message, request id, the first 80 characters of the User-Agent, X-Ekbasis-Surface | A rolling stream of about the last 20,000 requests, all accounts together |
| The same without IP address or email, in your account’s call list (the console’s usage view) | Your last 10,000 calls, up to 400 days |
| Hourly totals | 8 days |
| Daily totals | 400 days |
| Which account owns each request id (so only you can send feedback on it) | 30 days |
| Feedback you send (POST /feedback): the verdict, your note of up to 500 characters, the call’s metadata | The last 100,000 entries; daily counters 400 days |
Questions, or a request to delete your account's records: [email protected].
GET /api/v1/v1/models and by the X-Ekbasis-Model header on every answer. Today: ekbasis-27b-int4-v1.3 (weights caiovicentino1/Ekbasis-27B-INT4). Record the header next to the decisions you log if you need to know later which model made them./v1/systemonefollow the client's semantic versioning: a field is never removed or redefined without a new major version. New fields may appear at any time, so ignore fields you do not know.