The entitlement resource establishes a connection between a feature
and an item
or an item_price
in Chargebee Billing. By defining this relationship, it specifies the scope of access or rights the item or item price has in relation to that particular feature.
{
"entitlement": {
"feature_id": "fea-66ee05d2-2800-449f-a418-eaa863a67f9f",
"feature_name": "Quickbooks Integration_1234",
"id": "ent-15292c03-0b77-426a-aa5b-a18bb0acafdc",
"entity_id": "enterprise",
"entity_type": "plan",
"name": "Available",
"object": "entitlement",
"value": "true"
}
}feature.type:
feature.type is quantity and:feature.levels[is_unlimited] is not true for any one of feature.levels[], then the value can be any one of feature.levels[value][].feature.levels[is_unlimited] is true for one of the feature.levels[], then the value can be:
feature.levels[value][]unlimited (case-insensitive), indicating unlimited entitlement.type is range and:feature.levels[is_unlimited] is not true for any one of feature.levels[], then the value can be any whole number between levels[value][0] and levels[value][1] (inclusive).feature.levels[is_unlimited] is true for one of the feature.levels[], then the value can be:
levels[value][0]unlimited (case-insensitive), indicating unlimited entitlement.type is custom, then the value can be any one of feature.levels[value][].type is switch, then the value is set as available or true.The display name for the entitlement level. The value is automatically generated based on feature.type:
feature.type is quantity or range, the name is the space-separated concatenation of value and the plural form of feature.unit. For instance, if value is 20 and feature.unit is user, the name will be 20 users.feature.type is custom, the name matches the value.feature.type is switch, the name is set to Available when value is true; it's set to Not Available when value is false.Retrieves a list of all the entitlements associated with the specified feature.
Create, update, or remove a set of entitlements for a feature.
The behavior depends on the specified action. It tries to create, update, or delete entitlement objects. If any of the entitlement objects fail to process, the entire operation stops with an error, and no entitlements are processed. In essence, the request processes either all the provided entitlements or none of them.
Early Access
Grandfathering in entitlements is in early access. Write to eap@chargebee.com to get this enabled.
By default, this operation impacts all subscriptions that contain the item or item price. However, if you set apply_grandfathering to true, the existing subscriptions are not impacted by the change.
Consider the following example:
id: premium-monthly-usd) entitled to a feature (user_licenses) at value 10.id: AzZjAiTl1btqS2lEj) that contains the plan price (premium-monthly-usd).premium-monthly-usd for the user_licenses feature to value 20. You also set apply_grandfathering to true.id: 6oqNGUlMd9Yn4Ui) that contains the same plan price (premium-monthly-usd).id: AzZjAiTl1btqS2lEj) is grandfathered in, so it continues to be entitled to user_licenses at value 10. The new subscription (id: 6oqNGUlMd9Yn4Ui) is entitled to user_licenses at value 20.premium-monthly-usd for the user_licenses feature to value 30. You also set apply_grandfathering to false.id: 99CRh8UgMXTq77tl) that contains the same plan price (premium-monthly-usd).AzZjAiTl1btqS2lEj, 6oqNGUlMd9Yn4Ui, and 99CRh8UgMXTq77tl) are now entitled to user_licenses at value 30.