- Rate limits — how many requests you can make to certain endpoints within a time window. They reset as the window rolls over.
- Usage quotas — cumulative caps on what a workspace holds (documents, storage). They don’t reset with time; you free space or upgrade.
Free plan limits
Rate limits
The per-minute and per-hour endpoints above are request-rate limited per workspace. When you exceed one, the API returns429 Too Many Requests with an
RFC 9457 application/problem+json body and
standard RateLimit-* headers:
Retry-After seconds, then retry — ideally with exponential backoff and jitter for
bursts of calls. RateLimit-Remaining tells you how many requests are left in the
current window, so you can pace ahead of the limit.
Usage quotas
Ingestion is bounded by the document count, total storage, and per-document size caps. These are checked when you push data, and — unlike rate limits — retrying won’t clear them; you must remove data or upgrade. Because an ingest request can carry many items, the response tells you per item what happened. Partial acceptance — some items fit under the cap, some don’t. You get200,
and the over-cap items are listed in rejected (the rest are ingested normally):
402 Payment Required, and nothing is ingested:
resource identifies which cap it hit — documents, storage, or
doc_size — in both the partial (200) and full (402) responses. A file upload is a
single document, so a rejected upload always returns 402.
A
402 is not retryable the way a 429 is — the request didn’t fail
transiently, your workspace is over its quota. Free space (delete documents) or
upgrade, then retry.Workspace limits
On the free plan you can own one shared workspace in addition to your personal workspace (see Workspaces). Creating another returns422 Unprocessable Entity:
Checking your usage
CallGET /v1/usage/current to see where a workspace stands before you hit a limit.
The entitlements block reports your plan and a meter per resource:
state is ok, approaching (≥ 80%), or exceeded. Poll this to show usage meters in
your app and to back off before you’re rejected. Uncapped (paid) workspaces omit the
per-resource limits.