Skip to main content

Licenses

Route/admin/dashboard/licenses
Legacy screen
This surface predates the Hive redesign; it is scheduled under #5272.

A license is a plan: a type (free, paid or sponsor), a set of seat limits such as how many tenants a person may own, and the feature flags it switches on. Every person holds at most one. Sign in to the admin console and choose Licenses in the sidebar.

The screen has four tabs — Licenses, Feature Flags, Flag packages and Assignments — each with its count. Feature flags and flag packages are covered on Feature flags.

The Licenses tab: Free, Paid, Sponsor and a disabled Partner pilot plan, with Paid expanded to show its five feature flags and four seat limitsThe Licenses tab: Free, Paid, Sponsor and a disabled Partner pilot plan, with Paid expanded to show its five feature flags and four seat limits
Route/admin/dashboard/licenses

The plans a new installation has​

PlanTypeSeat limitsFeature flags
Freefreemax_tenants 1, max_users_per_tenant 5Schema Designer
Paidpaidmax_tenants 5, max_users_per_tenant 25Schema Designer, API Paths, AI Assistant, Repositories, Primitives Type Registry
Sponsorsponsormax_tenants 20, max_users_per_tenant 100the same as Paid

Each row shows the plan's name, type badge, description and seat limits; disabled marks a plan that cannot be assigned. Click the chevron to list its Included Feature Flags and Seat limits.

Seat limits​

Seat limits are numeric key–value pairs stored on the plan. The form offers these presets, and accepts any custom key:

KeyLimits
max_tenantsTenant workspaces a person may own — checked when they create a workspace
max_users_per_tenantMembers of a tenant on this plan — checked when someone is invited or a suspended member is reinstated; pending invitations hold a seat, suspended members do not
max_projectsCatalog projects
max_versionsVersions per project
max_ai_requestsAI assistant requests; 0 is none and -1 unlimited

A negative value means unlimited. A key a plan leaves out falls back to Apiome's built-in default. Operators can switch member-seat enforcement off without a redeploy by setting APIOME_LICENSE_ENFORCEMENT_ENABLED=false on the REST API; the tenant cap is always enforced.

Create or edit a plan​

  1. Click “New License” (or a plan's pencil).
  2. Enter a Name and choose the Type — Free, Paid or Sponsor.
  3. Add a Description.
  4. Under Seat limits (quotas), click “Add limit”, pick a key from Select a limit… (or Custom key…, for example max_branches) and enter a whole number. The trash icon removes a row. Each key may appear once.
  5. Under Commercial products & features, tick the flags the plan turns on — Commercial applications (the apps shown on the home page and in the top navigation) and Additional platform features.
  6. Click “Create License” (or “Save Changes”).
Editing the Paid plan: name, type, description and its seat limits with preset keys and valuesEditing the Paid plan: name, type, description and its seat limits with preset keys and values
Route/admin/dashboard/licenses

Deleting a plan (the trash icon) asks you to confirm. People who held it lose the features it granted the next time they load the app.

Assign a plan to a person​

  1. Open the Assignments tab. Every account is listed with its Assigned License and Seats; Search users… narrows the list.
  2. Click “Assign” on a person's row.
  3. Click a plan in Assign license — only enabled plans are offered, and a tick marks the current one.
The Assignments tab: six people with their Sponsor, Paid or Free plan and seat limits, two with no licenseThe Assignments tab: six people with their Sponsor, Paid or Free plan and seat limits, two with no license
Route/admin/dashboard/licenses

The same dialog has Override feature flags…, to grant flags to one person on top of their plan (see Feature flags), and Remove license, which drops them to the unlicensed feature set the next time they load the app.

A workspace's own plan and seat use are shown to its administrators under License & plan in Tenants & the manage drawer.

With the API​

Plans are edited only here. Workspace members read their tenant's plan, seat use and effective features with GET /v1/tenants/{tenant_slug}/license — see the API reference. An invitation refused for lack of seats answers 403 with the code license-seats-exhausted.

Where next​