API referenceRate limits

Rate limits

Defaults (per API key)

Operation classLimitBurst
Recall600 / minute50
Write120 / minute20
Export10 / day—
Admin30 / minute5
Session10 concurrent—
Federation sync60 / minute10

These are per-key — multiple keys on the same workspace each get their own bucket.

Response headers

Every response carries:

X-RateLimit-Limit:     600
X-RateLimit-Remaining: 587
X-RateLimit-Reset:     1717500060        # Unix seconds

On a 429 response we add:

Retry-After: 5    # seconds to wait

Self-hosted: defaults are tunable

When you run Mnemosyne yourself, the limits live in mnemo_api_keys (per-key) and can be overridden by env (MNEMO_RATE_LIMIT_DEFAULTS).

UPDATE mnemo_api_keys
   SET recall_rpm = 6000, write_rpm = 1200
 WHERE id = 'key_xxx';

Hosted: tiers

If you use the (future) hosted version, the tiers will look something like Free 10 rps / Pro 100 rps / Enterprise unlimited. Nothing on the OSS side enforces these tiers — they are only relevant if you use the hosted service.

Fail-open behaviour

If the rate-limit store (Redis) is unavailable, Mnemosyne fails open — requests are allowed and a warning is logged. We never let infrastructure breakage become a denial of service.