ChargebeeAPI

Item entitlements

Deprecated

The Item Entitlements API is deprecated and no longer maintained. Migrate your integration to Entitlements API.

Warning

API operations listed on this page are not supported when grandfathering is enabled.

Items represent the products or services that you offer to your customers. Items often differ from each other in the product features that are available in them. An item entitlement object represents the entitlement an item has towards a feature. An item can have multiple such entitlements, each corresponding to a unique feature it is entitled to. Item entitlements can be created while creating a feature. All subscriptions containing an item also inherit its entitlements.

Sample Item entitlementJSON

Item entitlements attributes

id
required, string, max chars=100

A unique identifier for the item_entitlement. This is auto-generated.

item_id
optional, string, max chars=100

The id of the item to which this entitlement belongs.

item_type
optional, enumerated string

The type of the item to which this entitlement belongs.

Possible Enum Values
plan

Plan

addon

Addon

charge

Charge

subscription

Subscription

item

Item

feature_id
optional, string, max chars=50

The id of the feature towards which this entitlement has been granted.

feature_name
optional, string, max chars=50

The name of the feature towards which this entitlement has been granted.

value
optional, string, max chars=50

The level of entitlement that the item has towards the feature. The possible values depend on the value of feature.type :

  • When feature.type is quantity and:

  • If feature.levels[is_unlimited] is not true for any one of feature.levels[], then the value can be any one of feature.levels[value][].

  • If feature.levels[is_unlimited] is true for one of the feature.levels[], then the value can also be:

    • any one of feature.levels[value][]
    • or it can be unlimited (case-insensitive), indicating unlimited entitlement.
  • When type is range and:

  • If 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).

  • If feature.levels[is_unlimited] is true for one of the feature.levels[], then the value can be:

    • any whole number equal to or greater than levels[value][0]
    • or it can be unlimited (case-insensitive), indicating unlimited entitlement.
  • When type is custom, then the value can be any one of feature.levels[value][].

  • When type is switch, then the value is set as available or true.

name
optional, string, max chars=50

The display name for the entitlement level. The default values are auto-generated based on feature.type as follows:

  • When feature.type is quantity or range, then name is the space-separated concatenation of value and the pluralized version of feature.unit. For example, if value is 20 and feature.unit is user, then name becomes 20 users.
  • When feature.type is custom, then name is the same as value.
  • When feature.type is switch, the name is set to Available when value is true; it's set to Not Available when value is false.