Features & the feature catalog
A feature is a capability you switch on, gate, or meter — “API access”, “seats”,
“export to PDF”. Each has a dotted feature code (e.g. api-calls.total,
role-based.permissions) and a data type:
Boolean · Numeric · Text · Enumeration · Metered · JsonField
A feature can be marked Public or Internal, can be made available during trial or grace periods, and can be flagged so an entitlement may override its value later.
The feature catalog
Section titled “The feature catalog”The feature catalog is where a product’s features are defined — the single
source of truth for “what features exist, and what each one means.” It’s scoped to a
product, and entries move through Draft → Published → Disabled → Archived.
Everything else references features by code: a product carries feature instances, a plan assigns values and tiers to those codes, and an entitlement is granted a snapshot of them. Defining a feature once, in the catalog, keeps that code meaning the same wherever it’s used.
Product features vs. catalog entries
Section titled “Product features vs. catalog entries”- A catalog entry is the definition (code, type, visibility, lifecycle).
- A product feature is that feature as it appears on a specific product version, with its value — what the product actually offers.
How it relates
Section titled “How it relates”- Defined in → the catalog, per product.
- Valued by → plans, which set each feature’s value and tiers.
- Snapshotted into → entitlements at grant time.