Skip to main content
Entitlements define what a customer can access and how much they can use, based on their subscription or contract. They cover four things:
  • Feature gates control whether a feature is enabled for a customer.
  • Feature privileges determine the level of access within a feature, such as basic or advanced functionality.
  • Allowances represent the usage included in a plan, like 100 API calls per month.
  • Quotas are the maximum usage limits, which may trigger overage charges or access restrictions.
Together, these enforce product limits, manage access, and support usage-based billing. Lago handles allowances and quotas through its usage-based engine, and feature gates and privileges through Features and Entitlements.

Set up your features

You can create any type of feature to tailor your billing logic. To create a feature:
  1. Navigate to the Features section in the sidebar;
  2. Click on Add a feature to start a new entry;
  3. Give it a unique code (used for programmatic actions) and a name;
  4. Assign one or more privileges to the feature (optional); and
  5. Click Create feature to finalize and save the feature to your instance.
A feature in Lago represents a capability that can be gated behind a plan. It’s not necessarily something you bill for directly, but rather something a customer gains access to based on their subscription.
Features section listing the features created in the organization

Features section with the list of features

Define feature privileges

You can also define privileges for a specific feature. Privileges give you more granular access controls across plans. For example, the invite_member feature can allow 1 member on the Free plan and unlimited invites on the Pro plan.Feature privileges can be associated with the following types:
  • boolean – The privilege value is either true or false.
  • integer – The privilege value is a numeric limit (e.g., 10 GPUs).
  • string – The privilege value is freeform text.
  • select – The privilege value is chosen from a predefined list of options, which you list in config.select_options.
value_type defaults to string and cannot be changed once the privilege exists.At this stage, you only define the type of each privilege. You set the values later, when you entitle the feature to a plan or a subscription.
You can add an unlimited number of privileges to a feature.
Form adding privileges to a feature, each with a code, a name and a value type

Add feature privileges

Map entitled features to your plans

Once your features exist, you add them to your plans through Entitlements. An entitlement defines which features a plan unlocks, and the limits, values or privileges of each feature. By assigning features to plans, you control access to functionality across your pricing tiers.
Workflow from a feature to a plan entitlement and then to a subscription

Subscription and entitlement workflow

To assign features to a plan:
  1. Create a new plan or edit an existing one;
  2. Navigate to the Advanced settings section;
  3. Select the features you want to entitle for that plan; and
  4. Configure the values for each feature’s privileges according to the plan’s rules.
Advanced settings of a plan with the entitled features and their privilege values

Entitle features to a plan

Override entitlements for a subscription

Some customers subscribe to a standard plan but negotiate custom entitlements as part of their contract.You can override any entitlement value for a specific subscription, in the same way you override charges. Lago stores the override on the subscription itself, so it applies only to that subscription. The base plan and the other subscriptions keep their values.To override the entitlements of a subscription:
  1. Open the subscription and select the Entitlements tab;
  2. Click Add an entitlement to entitle a feature the plan does not include, or open the actions menu of an entitled feature and click Edit entitlement; and
  3. Set the privilege values for this subscription and save.
To take a feature away from this subscription, click Delete entitlement in the same actions menu.

Get entitlements for a subscription

This endpoint returns the current list of entitled features for a subscription:
You can also track entitlement changes through the subscription.updated webhook.