Skip to main content
Every plan has the same API. The difference is how much you are allowed to do before the API starts returning 426 Plan limit exceeded.
Running into a limit? Rate limits & errors explains which failures you can retry and which you cannot.

Compare plans

Upgrade or compare on the dashboard.

Check current usage

See where you stand against each limit.

Plans at a glance


What each column means

Admins — how many team members with administrative access you can invite. API keys — how many active keys you can create. A key is per team and per service, so a key for another Octavia product does not count against this. Languages — how many languages you can register. Articles can only be written in a language that exists, so this caps how many locales you can publish in. Forms — how many forms you can create. Submissions — the total number of form submissions stored across all your forms. Storage (MB) — total media and file storage for the tenant. AI tokens — the AI credit pool. This is the one that surprises people: it is consumed, not a count of resources. Every AI call draws from it, and the amount depends on the operation and the size of your input. File size caps — the largest single image, video, audio file, or document you can upload. Media compression — whether uploaded media is compressed automatically. Compression level — 1 is fastest with the least compression, 3 is the smallest file. Higher levels cost more processing time.
Enterprise is fully custom. Every limit above is negotiable, and limits outside this table can be arranged too. Contact support to discuss volume, retention, or a bespoke arrangement.

How limits are enforced

Limits are per tenant, and they apply across every API key you hold — adding a second key does not give you a second allowance. Counted resources (admins, keys, languages, submissions) are checked when you try to create one more. Once you are at the limit, the create is rejected with 426 and nothing is written. AI tokens are checked with a projection. The API estimates what your request will cost before running it, and rejects the call if used + estimated would exceed the limit. A single large request can therefore fail even when your current usage looks low.
A 426 is never retryable. It only clears when the quota changes — you upgrade, the period rolls over, or you delete existing content.
Not enforced by the API today. The forms, storage, and file-size limits in the table above are plan entitlements, but the public API does not currently reject requests against them. The dashboard still measures storage and media compression, and it applies all of them at the plan level. Do not build logic that expects a 426 from these.

Choosing a plan

Free

Enough to build and run a single-language site. One admin, one key, one locale, three forms.

Plus

For a growing team publishing in a few languages, with more forms and a larger AI credit pool.

Pro

For a production content operation: eight languages, fifty forms, and 150,000 AI tokens.

Enterprise

Every limit is negotiable, including ones not listed here. Talk to us about volume and custom terms.

Reducing usage

If you are hitting a quota before you are ready to upgrade:
  • Cut submissions. Export and archive old form submissions you no longer need.
  • Trim media. Large images and video dominate storage usage. Compressing before upload is usually the biggest win.
  • Batch AI calls. Generation and translation are the heaviest token consumers. Do them in bulk during off-peak hours rather than one request at a time.
  • Set a token budget per feature. If you have a dashboard, treat AI as a metered dependency and cap what each feature can spend.

Rate limits & errors

How to handle 429 and 426 correctly.

Support

Discuss Enterprise limits with the team.