Skip to content

Catalog plans

Catalog plans are the tiers you show for self-serve: Free, Pro, Enterprise.

Setup

  1. Create all features first (flag and limit)
  2. Create each plan with kind: "catalog" and its grants
  3. Optionally set a stable key (free, pro) for your app and billing metadata

Upgrades / downgrades

When a customer changes tier in your product:

  1. Cancel or end the current subscription
  2. Create a new subscription to the target plan

Or use the change-plan API. Keep billing state in your billing provider; e10s only needs the resulting plan assignment.

Changing plan grants

Editing a catalog plan’s grants changes entitlement resolution for every active subscriber on that plan. That is powerful and dangerous.

  • Additive changes (new flag on Pro, higher seat limit) — usually fine
  • Removals or lower limits — coordinate with product/comms
  • One customer exceptions — custom plan or override, don’t fork the whole tier quietly

Example

{
  "key": "pro",
  "name": "Pro",
  "kind": "catalog",
  "grants": [
    { "feature": "sso", "kind": "flag" },
    { "feature": "csv_export", "kind": "flag" },
    { "feature": "api_access", "kind": "flag" },
    { "feature": "seats", "kind": "limit", "limit": 10 }
  ]
}

Enterprise with unlimited seats:

{
  "key": "enterprise",
  "name": "Enterprise",
  "kind": "catalog",
  "grants": [
    { "feature": "sso", "kind": "flag" },
    { "feature": "saml", "kind": "flag" },
    { "feature": "seats", "kind": "limit", "limit": null }
  ]
}