Skip to main content

Licensing

The Suite's surfaces are gated by feature flags carried in a license. A plan bundles a set of flags and limits; a tenant admin or an operator can override a single flag for a tenant or a user. The user-facing view of this — what a reader sees without a flag — is Plans and entitlements; the full flag-to-surface matrix is in the Reference.

Plans​

The plan catalog lives in Apiome's licenses table and is attached to tenants (tenant_licenses; the Free plan is attached automatically when a tenant is created) and to users (user_entitlements).

LimitFreePaidSponsor
Tenants1520
Users per tenant525100
Projects110unlimited
Versions350unlimited
AI requests01000unlimited (not enforced)

-1 means unlimited; a limit a plan does not name falls back to the Free value.

Bundled flags: Free carries designer. Paid and Sponsor carry designer, paths, ai_assistant, repositories, primitives-registry, scribe, slate, hosted and authoring. A Free tenant gets any other flag only through an override.

How a flag is resolved​

For each flag, in order: the user's override, then the tenant's override, then the user's plan bundle. A global master switch can turn a flag off for everyone at once. The seat guard can be disabled with APIOME_LICENSE_ENFORCEMENT_ENABLED=false; the gating itself cannot.

Known mismatch

Feature gates read the user's plan, while the License & Plan panel in the main app reports the tenant's plan. A user whose own plan differs from their tenant's can see a panel that disagrees with what the studio lets them open. This is recorded as unresolved in the licensing model.

Refusals are 403 with a reason: license-seats-exhausted when a plan's seats are used up, and tenant-cap-reached when a user cannot create another tenant (Tenant limit reached (x of y used) — upgrade your plan to create more).

What each flag unlocks​

FlagSurfaces
designerThe Data Designer canvas and the Workspace
pathsThe Paths editor
authoringThe Authoring Overview, every call to Spire, and the Authoring, Scribe and Slate home cards. The umbrella flag: without it the Authoring pages show Authoring is not enabled
scribeScribe, Guides and the Changelog
slateSlate
hostedReleases, Cache, Security, Edge, Insights, and the Publish to production setup step

The Suite host contributes authoring, scribe, slate and hosted to the main app at runtime, so the open-source apiome-ui never names a commercial surface; designer and paths are its own.

What a user sees without a flag​

SituationCopy
No authoring flagAuthoring is not enabled — "Your plan does not include the Authoring suite (Scribe, Slate, and managed delivery). Ask a tenant admin to enable Authoring to continue."
One surface missing"Surface is not included in your plan. Ask a tenant admin to enable it."
Guides without scribe"Guides are part of Scribe, which is not enabled for this tenant."
Suite dropdown, not entitledAn access note under the destination: "Included with the Authoring suite. Ask a tenant admin to enable it.", "Available in the Scribe preview. Contact your account team to join.", "Available in the Slate preview. Contact your account team to join.", "Included with a hosted plan. Contact your account team to upgrade." or "Included with the Designer plan. Ask a tenant admin to enable it."

Not built yet​

Billing, checkout and self-service plan changes do not exist; the upgrade call to action is a stub. The AI-request limit is recorded on the plan but not enforced. Licenses are managed from the Apiome admin console and the feature flags page.