Skip to main content
Every workspace has usage limits based on its plan. There are two kinds:
  • 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.
Paid plans raise or remove these caps, and workspaces created before limits were introduced are unaffected.

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 returns 429 Too Many Requests with an RFC 9457 application/problem+json body and standard RateLimit-* headers:
Wait 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 get 200, and the over-cap items are listed in rejected (the rest are ingested normally):
Full rejection — nothing could be admitted (you’re at or over the cap). You get 402 Payment Required, and nothing is ingested:
Each rejected item’s 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 returns 422 Unprocessable Entity:

Checking your usage

Call GET /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.

Upgrading

Paid plans raise or remove every cap above. Upgrade from your workspace settings in mind.adapter.com.