# Item entitlements

> For the complete machine-readable documentation index, see [llms.txt](https://apidocs.chargebee.com/llms.txt).


**Deprecated**

The Item Entitlements API is deprecated and no longer maintained. Migrate your integration to [Entitlements API](/docs/api/entitlements).

**Warning**

API operations listed on this page are not supported when [grandfathering](/docs/api/entitlements) is enabled.

[Items](/docs/api/items) represent the products or services that you offer to your customers. Items often differ from each other in the product [features](/docs/api/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](/docs/api/features/create-a-feature). All subscriptions containing an item also [inherit](/docs/api/subscription_entitlements) its entitlements.

## Sample Item entitlement

```json
{
  "item_entitlement": {
    "feature_id": "fea-66ee05d2-2800-449f-a418-eaa863a67f9f",
    "feature_name": "Quickbooks Integration_1234",
    "id": "item-ent-15292c03-0b77-426a-aa5b-a18bb0acafdc",
    "item_id": "enterprise",
    "item_type": "plan",
    "name": "Available",
    "object": "item_entitlement",
    "value": "true"
  }
}
```

## Item entitlements attributes

## Input Parameters

- `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`.

