Catalog plans¶
Catalog plans are the tiers you show for self-serve: Free, Pro, Enterprise.
Setup¶
- Create all features first (
flagandlimit) - Create each plan with
kind: "catalog"and its grants - Optionally set a stable
key(free,pro) for your app and billing metadata
Upgrades / downgrades¶
When a customer changes tier in your product:
- Cancel or end the current subscription
- 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: