Skip to main content

Rate limits

A rate limit bounds how fast requests arrive. It is counted per IP address or per email address, not per credential, and it is the same on every plan.

LimitApplies toOver the limit
3,000 requests per IP address, trailing 5 minutesEvery request to api.naturali.ai429 too_many_requests, Retry-After: 60
20 requests per IP address, trailing 5 minutesPOST /v1/auth/code and POST /v1/auth/code/verify, together429 too_many_requests, Retry-After: 60
1 code per minute, 10 per day per email addressPOST /v1/auth/code429 too_many_requests
A bounded number of wrong guesses per codePOST /v1/auth/code/verify429 too_many_attempts — the code is destroyed; request a new one
50 invitations per inviter, trailing 24 hoursPOST /v1/projects/{project_id}/members429 rate_limited

3,000 requests in 5 minutes is about ten a second, sustained. The window slides, so a burst is forgiven once it falls out of the last five minutes.

The sign-in limits exist because each request mails a real inbox; why they are shaped as they are is in Auth.

Retrying​

Every 429 carries the error envelope. Where a Retry-After header is present, wait that many seconds before retrying; where it is absent, waiting alone does not help, and the code says what will. Retrying sooner keeps the IP address over the limit.

Limits that are not about rate​

Other refusals bound how much work a project does or spends, not how fast it asks. They are per project or per account, and waiting rarely clears them.

RefusalSet byCleared byWhere
429 QUOTA_EXCEEDED, with Retry-AfterYou, as a quota on a windowed metricThe window resettingQuotas
409 QUOTA_STORAGE_EXCEEDEDYou, as a storage quotaDeleting content or raising the quotaQuotas
403 plan_limit_reachedYour plan: projects, channels, triggers, schedule interval, storage, runs, retentionUpgrading, or removing resourcesUsers → Plan and credit
403 plan_feature_not_includedYour plan: guardrails, approvals, exceptions, audit logUpgradingUsers → Plan and credit
402 insufficient_creditA negative credit balance, on naturali-managed models and priced marketplace listingsA top-upUsers → Plan and credit

A plan or credit refusal applies to every member of a project, because the project's billing owner's plan and balance are the ones read.