API Version
Product Catalog
Library

When offering subscriptions of products or services, each entity that is made available for sale is represented by an “item” object. Items therefore represent the various plans, addons or charges that you offer as part of your product catalog. Non-metered items are charged upfront in Chargebee, while metered items are charged at the end of the billing cycle, based on usage.

Types of Items

There are three types of items and they’re listed and explained here. Examples for each type are provided in the table that follows.

Plan-items or Plans

Plan-items are items that have a recurring charge and are an essential component of any subscription. Typically, plans represent a principal or key product or service in your catalog. They are charged at recurring intervals and often have other products or services offered along with them as addons and charges.

Addon-items or Addons

Addon-items are items that are sold along with a plan and are charged for at recurring intervals.

Charge-items or Charges

Charge-items are items that are sold along with a plan but charged once (or each time) a specified event occurs. A charge can also be applied to a customer without attaching to a subscription.

Examples

To help understand each type of item better, listed below are some examples of items from different business domains:

Non-Metered (SaaS)

  • Item Family: A project management solution.
  • Plans:
    • A “basic” plan offering a small set of features.
    • A “business” plan offering a larger set of features.
  • Addons:
    • An analytics plugin that is available only with the “business” plan.
    • A reporting plugin, available with both the above plans.
  • Charges:
    • Implementation charges.
    • Trial charges.

Non-Metered (E-commerce)

  • Item Family: A printed news magazine.
  • Plans:
    • Periodic issues of the magazine.
    • Periodic issues of the magazine, with digital content.
  • Addons:
    • Supplementary online content.
    • Access to a year’s worth of back issues.
    • Searchable access to all back issues.
  • Charges:
    • Special edition books that are published every so often.

Metered

  • Item Family: SMS delivery services.
  • Plans:
    • A basic plan of up to 100K messages @ $0.03 per message.
    • A volume plan of 2M messages @ $0.01 per message.
  • Addons:
    • An addon of 50K MMS messages @ $0.1 per message.
    • Instant messaging.
  • Charges:
    • Automated Metered Billing is not applicable for charges.

Sample item [ JSON ]

{ "enabled_for_checkout": true, "enabled_in_portal": true, "id": "silver", "is_giftable": false, "is_shippable": false, "item_applicability": "all", "name": "Silver", "object": "item", "resource_version": 1599817249982, "status": "active", "type": "plan", "updated_at": 1599817249 }

API Index URL GET

https://{site}.chargebee.com/api/v2/items

Model Class

id
string, max chars=100
The identifier for the item. It is unique and immutable.
name
string, max chars=100
A unique display name for the item. This is visible only in Chargebee and not to customers.
external_name
optional, string, max chars=100
A unique display name for the item.
description
optional, string, max chars=2000
Description of the item. This is visible only in Chargebee and not to customers.
Note:
  • The description field supports up to 2000 characters, including HTML tags. The inner text (excluding HTML tags) must not exceed 500 characters.
    For example:
    <ul><li>testing</li><li>desc</li></ul>.
    Total with tags: 38 characters,
    inner text: 'testing desc' (12 characters).
  • If your input includes characters requiring sanitization, such as incomplete HTML tags, the sanitization process may alter the input and increase its length. If the sanitized content exceeds the allowed limit, the request will be rejected.

status
optional, enumerated string
The status of the item.
Possible values are
activeThe item can be used to create new item prices.archivedThe item is no longer active and no new item prices can be createddeletedIndicates that the item has been deleted. The id and name can be reused. Deleted items can be retrieved using List items.
activeThe item can be used to create new item prices.archivedThe item is no longer active and no new item prices can be createddeletedIndicates that the item has been deleted. The id and name can be reused. Deleted items can be retrieved using List items.
Show all values[+]
resource_version
optional, long
The version number of this resource. For every change made to the resource, resource_version is updated with a new timestamp in milliseconds.
updated_at
optional, timestamp(UTC) in seconds
Timestamp indicating when the item was last updated.
item_family_id
optional, string, max chars=100
The id of the Item family that the item belongs to. Is mandatory when Product Families have been enabled.
type
enumerated string
The type of the item.
Possible values are
planAn essential component of a subscription. Every subscription has exactly one plan. It has a recurring charge and its period defines the billing period of the subscription.addonA recurring component that can be added to a subscription in addition to its plan.chargeA non-recurring component that can be added to a subscription in addition to its plan. An charge can also be applied to a customer directly without being applied to a subscription.
planAn essential component of a subscription. Every subscription has exactly one plan. It has a recurring charge and its period defines the billing period of the subscription.addonA recurring component that can be added to a subscription in addition to its plan.chargeA non-recurring component that can be added to a subscription in addition to its plan. An charge can also be applied to a customer directly without being applied to a subscription.
Show all values[+]
is_shippable
optional, boolean, default=false
Indicates that the item is a physical product. If Orders are enabled in Chargebee, subscriptions created for this item will have orders associated with them.
is_giftable
boolean, default=false
Specifies if gift subscriptions can be created for this item.
redirect_url
optional, string, max chars=500
If enabled_for_checkout, then the URL to be redirected to once the checkout is complete. This attribute is only available for plan-items.
enabled_for_checkout
boolean, default=true
Allow the plan to subscribed to via Checkout. Applies only for plan-items.
Note: Only the in-app version of Checkout is supported for Product Catalog v2.

enabled_in_portal
boolean, default=true
Allow customers to change their subscription to this plan via the Self-Serve Portal. Applies only for plan-items. This requires the Portal configuration to allow changing subscriptions.
included_in_mrr
optional, boolean
The item is included in MRR calculations for your site. This attribute is only applicable for items of type = charge and when the feature is enabled in Chargebee. Note: If the site-level setting is to exclude charge-items from MRR calculations, this value is always returned false.
item_applicability
optional, enumerated string, default=all
Indicates which addon-items and charge-items can be applied to the item. Only meant for plan-items. Other details of attaching items such as whether to attach as a mandatory item or to attach on a certain event, can be specified using the Create or Update an attached item API.
Possible values are
allall addon-items and charge-items are applicable to this plan-item.restrictedonly the addon-items or charge-items provided in applicable_items can be applied to this plan-item.
allall addon-items and charge-items are applicable to this plan-item.restrictedonly the addon-items or charge-items provided in applicable_items can be applied to this plan-item.
Show all values[+]
gift_claim_redirect_url
optional, string, max chars=500
The URL to redirect to once the gift has been claimed by the receiver.
unit
optional, string, max chars=30
The unit of measure for a quantity-based item. This is displayed on the Chargebee UI and on customer facing documents/pages. The latter includes hosted pages, invoices and quotes. Examples follow:
  • “user“ for a cloud-collaboration platform.
  • “GB“ for a data service.
  • “issue“ for a magazine.

metered
boolean, default=false
Specifies whether the item undergoes metered billing. When true, the quantity is calculated from usage records. When false, the quantity is as determined while adding an item price to the subscription. Applicable only for items of type plan or addon and when Metered Billing is enabled. The value of this attribute cannot be changed.
usage_calculation
optional, enumerated string
How the quantity is calculated from usage data for the item prices belonging to this item. Only applicable when the item is metered. This value overrides the one set at the site level.
Possible values are
sum_of_usagesthe net quantity is the sum of the quantity of all usages for the current term.last_usagefrom among the usage records for the item price with usage_date within the relevant billing period, the quantity of the usage record with the most recent usage_date is taken as the net quantity consumed.max_usagefrom among the usage records for the item price with usage_date within the relevant billing period, the quantity of the usage record with the maximum value is taken as the net quantity consumed.
sum_of_usagesthe net quantity is the sum of the quantity of all usages for the current term.last_usagefrom among the usage records for the item price with usage_date within the relevant billing period, the quantity of the usage record with the most recent usage_date is taken as the net quantity consumed.max_usagefrom among the usage records for the item price with usage_date within the relevant billing period, the quantity of the usage record with the maximum value is taken as the net quantity consumed.
Show all values[+]
is_percentage_pricing
optional, boolean, default=false
Indicates whether the pricing is percentage-based.
archived_at
optional, timestamp(UTC) in seconds
Timestamp indicating when this item was archived.
channel
optional, enumerated string
The subscription channel this object originated from and is maintained in.
Possible values are
webThe object was created (and is maintained) for the web channel directly in Chargebee via API or UI.app_storeThe object data is synchronized with data from in-app subscription(s) created in Apple App Store. Direct manipulation of this object via UI or API is disallowed.play_storeThe object data is synchronized with data from in-app subscription(s) created in Google Play Store. Direct manipulation of this object via UI or API is disallowed.

In-App Subscriptions is currently in early access. Contact eap@chargebee.com for more information.
webThe object was created (and is maintained) for the web channel directly in Chargebee via API or UI.app_storeThe object data is synchronized with data from in-app subscription(s) created in Apple App Store. Direct manipulation of this object via UI or API is disallowed.play_storeThe object data is synchronized with data from in-app subscription(s) created in Google Play Store. Direct manipulation of this object via UI or API is disallowed.

In-App Subscriptions is currently in early access. Contact eap@chargebee.com for more information.
Show all values[+]
metadata
optional, jsonobject
A collection of key-value pairs that provides extra information about the item. Learn more.
deleted
boolean
Indicates whether the item has been deleted or not.
business_entity_id
optional, string, max chars=50
The unique ID of the business entity of this item. This is applicable only when multiple business entities have been created for the site. The value of this attribute indicates that the resource is specific to the given business entity.
applicable_items
Show attributes [+]
optional, list of applicable_item
The list of addons and charges that are allowed to be applied to the plan. This attribute is applicable only for plan-items and that too when item_applicability is restricted.

Other details of attaching items can be specified using the Create or Update an attached item API.
bundle_items
Show attributes [+]
optional, list of bundle_item
The list of items(plans, addons, and charges) added to the bundle plan. This attribute is only available when the item_type is plan.

bundle_configuration
Show attributes [+]
optional, bundle_configuration
This attribute holds additional information about the bundle item. This attribute is only available when the item_type is plan.

id id
string, max chars=100
The identifier for the item. It is unique and immutable.
name name
string, max chars=100
A unique display name for the item. This is visible only in Chargebee and not to customers.
external_name external_name
optional, string, max chars=100
A unique display name for the item.
description description
optional, string, max chars=2000
Description of the item. This is visible only in Chargebee and not to customers.
Note:
  • The description field supports up to 2000 characters, including HTML tags. The inner text (excluding HTML tags) must not exceed 500 characters.
    For example:
    <ul><li>testing</li><li>desc</li></ul>.
    Total with tags: 38 characters,
    inner text: 'testing desc' (12 characters).
  • If your input includes characters requiring sanitization, such as incomplete HTML tags, the sanitization process may alter the input and increase its length. If the sanitized content exceeds the allowed limit, the request will be rejected.

status status
optional, enumerated string
The status of the item.
Possible values are
activeThe item can be used to create new item prices.archivedThe item is no longer active and no new item prices can be createddeletedIndicates that the item has been deleted. The id and name can be reused. Deleted items can be retrieved using List items.
activeThe item can be used to create new item prices.archivedThe item is no longer active and no new item prices can be createddeletedIndicates that the item has been deleted. The id and name can be reused. Deleted items can be retrieved using List items.
Show all values[+]
resource_version resource_version
optional, long
The version number of this resource. For every change made to the resource, resource_version is updated with a new timestamp in milliseconds.
updated_at updated_at
optional, timestamp(UTC) in seconds
Timestamp indicating when the item was last updated.
item_family_id item_family_id
optional, string, max chars=100
The id of the Item family that the item belongs to. Is mandatory when Product Families have been enabled.
type type
enumerated string
The type of the item.
Possible values are
planAn essential component of a subscription. Every subscription has exactly one plan. It has a recurring charge and its period defines the billing period of the subscription.addonA recurring component that can be added to a subscription in addition to its plan.chargeA non-recurring component that can be added to a subscription in addition to its plan. An charge can also be applied to a customer directly without being applied to a subscription.
planAn essential component of a subscription. Every subscription has exactly one plan. It has a recurring charge and its period defines the billing period of the subscription.addonA recurring component that can be added to a subscription in addition to its plan.chargeA non-recurring component that can be added to a subscription in addition to its plan. An charge can also be applied to a customer directly without being applied to a subscription.
Show all values[+]
is_shippable is_shippable
optional, boolean, default=false
Indicates that the item is a physical product. If Orders are enabled in Chargebee, subscriptions created for this item will have orders associated with them.
is_giftable is_giftable
boolean, default=false
Specifies if gift subscriptions can be created for this item.
redirect_url redirect_url
optional, string, max chars=500
If enabled_for_checkout, then the URL to be redirected to once the checkout is complete. This attribute is only available for plan-items.
enabled_for_checkout enabled_for_checkout
boolean, default=true
Allow the plan to subscribed to via Checkout. Applies only for plan-items.
Note: Only the in-app version of Checkout is supported for Product Catalog v2.

enabled_in_portal enabled_in_portal
boolean, default=true
Allow customers to change their subscription to this plan via the Self-Serve Portal. Applies only for plan-items. This requires the Portal configuration to allow changing subscriptions.
included_in_mrr included_in_mrr
optional, boolean
The item is included in MRR calculations for your site. This attribute is only applicable for items of type = charge and when the feature is enabled in Chargebee. Note: If the site-level setting is to exclude charge-items from MRR calculations, this value is always returned false.
item_applicability item_applicability
optional, enumerated string, default=all
Indicates which addon-items and charge-items can be applied to the item. Only meant for plan-items. Other details of attaching items such as whether to attach as a mandatory item or to attach on a certain event, can be specified using the Create or Update an attached item API.
Possible values are
allall addon-items and charge-items are applicable to this plan-item.restrictedonly the addon-items or charge-items provided in applicable_items can be applied to this plan-item.
allall addon-items and charge-items are applicable to this plan-item.restrictedonly the addon-items or charge-items provided in applicable_items can be applied to this plan-item.
Show all values[+]
gift_claim_redirect_url gift_claim_redirect_url
optional, string, max chars=500
The URL to redirect to once the gift has been claimed by the receiver.
unit unit
optional, string, max chars=30
The unit of measure for a quantity-based item. This is displayed on the Chargebee UI and on customer facing documents/pages. The latter includes hosted pages, invoices and quotes. Examples follow:
  • “user“ for a cloud-collaboration platform.
  • “GB“ for a data service.
  • “issue“ for a magazine.

metered metered
boolean, default=false
Specifies whether the item undergoes metered billing. When true, the quantity is calculated from usage records. When false, the quantity is as determined while adding an item price to the subscription. Applicable only for items of type plan or addon and when Metered Billing is enabled. The value of this attribute cannot be changed.
usage_calculation usage_calculation
optional, enumerated string
How the quantity is calculated from usage data for the item prices belonging to this item. Only applicable when the item is metered. This value overrides the one set at the site level.
Possible values are
sum_of_usagesthe net quantity is the sum of the quantity of all usages for the current term.last_usagefrom among the usage records for the item price with usage_date within the relevant billing period, the quantity of the usage record with the most recent usage_date is taken as the net quantity consumed.max_usagefrom among the usage records for the item price with usage_date within the relevant billing period, the quantity of the usage record with the maximum value is taken as the net quantity consumed.
sum_of_usagesthe net quantity is the sum of the quantity of all usages for the current term.last_usagefrom among the usage records for the item price with usage_date within the relevant billing period, the quantity of the usage record with the most recent usage_date is taken as the net quantity consumed.max_usagefrom among the usage records for the item price with usage_date within the relevant billing period, the quantity of the usage record with the maximum value is taken as the net quantity consumed.
Show all values[+]
is_percentage_pricing is_percentage_pricing
optional, boolean, default=false
Indicates whether the pricing is percentage-based.
archived_at archived_at
optional, timestamp(UTC) in seconds
Timestamp indicating when this item was archived.
channel channel
optional, enumerated string
The subscription channel this object originated from and is maintained in.
Possible values are
webThe object was created (and is maintained) for the web channel directly in Chargebee via API or UI.app_storeThe object data is synchronized with data from in-app subscription(s) created in Apple App Store. Direct manipulation of this object via UI or API is disallowed.play_storeThe object data is synchronized with data from in-app subscription(s) created in Google Play Store. Direct manipulation of this object via UI or API is disallowed.

In-App Subscriptions is currently in early access. Contact eap@chargebee.com for more information.
webThe object was created (and is maintained) for the web channel directly in Chargebee via API or UI.app_storeThe object data is synchronized with data from in-app subscription(s) created in Apple App Store. Direct manipulation of this object via UI or API is disallowed.play_storeThe object data is synchronized with data from in-app subscription(s) created in Google Play Store. Direct manipulation of this object via UI or API is disallowed.

In-App Subscriptions is currently in early access. Contact eap@chargebee.com for more information.
Show all values[+]
metadata
optional, jsonobject
A collection of key-value pairs that provides extra information about the item. Learn more.
deleted deleted
boolean
Indicates whether the item has been deleted or not.
business_entity_id business_entity_id
optional, string, max chars=50
The unique ID of the business entity of this item. This is applicable only when multiple business entities have been created for the site. The value of this attribute indicates that the resource is specific to the given business entity.
applicable_items
optional, list of applicable_item
The list of addons and charges that are allowed to be applied to the plan. This attribute is applicable only for plan-items and that too when item_applicability is restricted.

Other details of attaching items can be specified using the Create or Update an attached item API.

bundle_items
optional, list of bundle_item
The list of items(plans, addons, and charges) added to the bundle plan. This attribute is only available when the item_type is plan.


bundle_configuration
optional, bundle_configuration
This attribute holds additional information about the bundle item. This attribute is only available when the item_type is plan.


Creates a new item.

Notes

Sample Request
curl  https://{site}.chargebee.com/api/v2/items \
     -u {site_api_key}:\
     -d id="silver" \
     -d name="Silver" \
     -d type="PLAN" \
     -d item_family_id="acme-inc" \
     -d item_applicability="ALL"
curl  https://{site}.chargebee.com/api/v2/items \
     -u {site_api_key}:\
     -d id="ssl" \
     -d name="ssl" \
     -d type="ADDON" \
     -d item_family_id="acme-inc"
curl  https://{site}.chargebee.com/api/v2/items \
     -u {site_api_key}:\
     -d id="gold" \
     -d name="Gold" \
     -d type="PLAN" \
     -d item_family_id="acme-inc" \
     -d item_applicability="RESTRICTED" \
     -d "applicable_items[0]"="day-pass" 
copy
Click to Copy
Create a plan item
curl  https://{site}.chargebee.com/api/v2/items \
     -u {site_api_key}:\
     -d id="silver" \
     -d name="Silver" \
     -d type="PLAN" \
     -d item_family_id="acme-inc" \
     -d item_applicability="ALL"

Sample Response [ JSON ]

Show more...
{
    "item": {
        "enabled_for_checkout": true,
        "enabled_in_portal": true,
        "id": "silver",
        "is_giftable": false,
        "is_shippable": false,
        "item_applicability": "all",
        "name": "Silver",
        "object": "item",
        "resource_version": 1599817249982,
        "status": "active",
        "type": "plan",
        "updated_at": 1599817249
    }
}

URL Format POST

https://{site}.chargebee.com/api/v2/items

Method

id[]
required, string, max chars=100
The identifier for the item. Must be unique and is immutable once set.
name[]
required, string, max chars=100
A unique display name for the item. Must be unique. This is visible only in Chargebee and not to customers.
type[]
required, enumerated string
The type of the item.
Possible values are
planAn essential component of a subscription. Every subscription has exactly one plan. It has a recurring charge and its period defines the billing period of the subscription.addonA recurring component that can be added to a subscription in addition to its plan.chargeA non-recurring component that can be added to a subscription in addition to its plan. An charge can also be applied to a customer directly without being applied to a subscription.
planAn essential component of a subscription. Every subscription has exactly one plan. It has a recurring charge and its period defines the billing period of the subscription.addonA recurring component that can be added to a subscription in addition to its plan.chargeA non-recurring component that can be added to a subscription in addition to its plan. An charge can also be applied to a customer directly without being applied to a subscription.
Show all values[+]
description[]
optional, string, max chars=2000
Description of the item. This is visible only in Chargebee and not to customers.
Note:
  • The description field supports up to 2000 characters, including HTML tags. The inner text (excluding HTML tags) must not exceed 500 characters.
    For example:
    <ul><li>testing</li><li>desc</li></ul>.
    Total with tags: 38 characters,
    inner text: 'testing desc' (12 characters).
  • If your input includes characters requiring sanitization, such as incomplete HTML tags, the sanitization process may alter the input and increase its length. If the sanitized content exceeds the allowed limit, the request will be rejected.
item_family_id[]
required, string, max chars=100
The id of the Item family that the item belongs to. Is mandatory when Product Families have been enabled.
is_giftable[]
optional, boolean, default=false
Specifies if gift subscriptions can be created for this item.
is_shippable[]
optional, boolean, default=false
Indicates that the item is a physical product. If Orders are enabled in Chargebee, subscriptions created for this item will have orders associated with them.
external_name[]
optional, string, max chars=100
A unique display name for the item.
enabled_in_portal[]
optional, boolean, default=true
Allow customers to change their subscription to this plan via the Self-Serve Portal. Applies only for plan-items. This requires the Portal configuration to allow changing subscriptions. Only the in-app version of the Portal is supported for Product Catalog v2.
redirect_url[]
optional, string, max chars=500
If enabled_for_checkout, then the URL to be redirected to once the checkout is complete. This attribute is only available for plan-items.
enabled_for_checkout[]
optional, boolean, default=true
Allow the plan to subscribed to via Checkout. Applies only for plan-items.
Note: Only the in-app version of Checkout is supported for Product Catalog v2.
item_applicability[]
optional, enumerated string, default=all
Indicates which addon-items and charge-items can be applied to the item. Only possible for plan-items. Other details of attaching items such as whether to attach as a mandatory item or to attach on a certain event, can be specified using the Create or Update an attached item API.
Possible values are
allall addon-items and charge-items are applicable to this plan-item.restrictedonly the addon-items or charge-items provided in applicable_items can be applied to this plan-item.
allall addon-items and charge-items are applicable to this plan-item.restrictedonly the addon-items or charge-items provided in applicable_items can be applied to this plan-item.
Show all values[+]
applicable_items[[0..n]][0..n]
optional, list of string
The list of ids of addon-items and charge-items that can be applied to the plan-item. This parameter can be provided only for plan-items and that too when item_applicability is restricted. Other details of attaching items can be specified using the Create or Update an attached item API.
unit[]
optional, string, max chars=30
The unit of measure for a quantity-based item. This is displayed on the Chargebee UI and on customer facing documents/pages. The latter includes hosted pages, invoices and quotes. Examples follow:
  • “user“ for a cloud-collaboration platform.
  • “GB“ for a data service.
  • “issue“ for a magazine.
gift_claim_redirect_url[]
optional, string, max chars=500
The URL to redirect to once the gift has been claimed by the receiver.
included_in_mrr[]
optional, boolean
The item is included in MRR calculations for your site. This attribute is only applicable for items of type = charge and when the feature is enabled in Chargebee. Note: If the site-level setting is to exclude charge-items from MRR calculations, this value is always returned false.
metered[]
optional, boolean, default=false
Specifies whether the item undergoes metered billing. When true, the quantity is calculated from usage records. When false, the quantity is as determined while adding an item price to the subscription. Applicable only for items of type plan or addon and when Metered Billing is enabled. The value of this attribute cannot be changed.
usage_calculation[]
optional, enumerated string
How the quantity is calculated from usage data for the item prices belonging to this item. Only applicable when the item is metered. This value overrides the one set at the site level. .
Possible values are
sum_of_usagesthe net quantity is the sum of the quantity of all usages for the current term.last_usagefrom among the usage records for the item price with usage_date within the relevant billing period, the quantity of the usage record with the most recent usage_date is taken as the net quantity consumed.max_usagefrom among the usage records for the item price with usage_date within the relevant billing period, the quantity of the usage record with the maximum value is taken as the net quantity consumed.
sum_of_usagesthe net quantity is the sum of the quantity of all usages for the current term.last_usagefrom among the usage records for the item price with usage_date within the relevant billing period, the quantity of the usage record with the most recent usage_date is taken as the net quantity consumed.max_usagefrom among the usage records for the item price with usage_date within the relevant billing period, the quantity of the usage record with the maximum value is taken as the net quantity consumed.
Show all values[+]
is_percentage_pricing[]
optional, boolean, default=false
Indicates whether the pricing is percentage-based.
metadata[]
optional, jsonobject
A collection of key-value pairs that provides extra information about the item.
Note: There's a character limit of 65,535.
Learn more.
business_entity_id[]
optional, string, max chars=50
The unique ID of the business entity for this item. This is applicable only when multiple business entities have been created for the site. When provided, the operation will read or write data associated with the specified business entity. If not provided, the resource will be created at the site level, and the business_entity_id will not be included in the API response.
Note

An alternative way of passing this parameter is by means of a custom HTTP header.

.
bundle_configuration[type]
optional, enumerated string
Type of the bundle
Possible values are
fixedFixed bundle_configuration.type appears when you create a bundle plan that cannot be updated during checkout or subscription creation.
fixedFixed bundle_configuration.type appears when you create a bundle plan that cannot be updated during checkout or subscription creation.
Show all values[+]
bundle_items_to_add[item_id][0..n]
optional, string, max chars=100
item_id that needs to be added to the bundle.
Note: This parameter is only applicable when the item_type is plan.
bundle_items_to_add[item_type][0..n]
optional, enumerated string
item_type that can be added to the bundle.
Possible values are
planAn essential component of the bundle plan.
Note: At least one plan item must be associated with the bundle.
addonA recurring component that can be added to a bundle plan.chargeA non-recurring component that can be added to a bundle plan.
planAn essential component of the bundle plan.
Note: At least one plan item must be associated with the bundle.
addonA recurring component that can be added to a bundle plan.chargeA non-recurring component that can be added to a bundle plan.
Show all values[+]
bundle_items_to_add[quantity][0..n]
optional, integer, default=1, min=1
Quantity of the item(plan, addon, and charge) associated with the bundle.
bundle_items_to_add[price_allocation][0..n]
optional, bigdecimal, min=0, max=100
Price allocation of the item(plan, addon, and charge) associated with the bundle.
item item
always returned
Resource object representing item

Sample admin console URL

https://{site}.chargebee.com/admin-console/items/123x
Retrieve an item resource.

Notes

Sample Request
curl  https://{site}.chargebee.com/api/v2/items/cbdemo_additionaluser \
     -u {site_api_key}:
copy
Click to Copy
curl  https://{site}.chargebee.com/api/v2/items/cbdemo_additionaluser \
     -u {site_api_key}:

Sample Response [ JSON ]

Show more...
{
    "item": {
        "enabled_for_checkout": true,
        "enabled_in_portal": true,
        "id": "cbdemo_additionaluser",
        "is_giftable": false,
        "is_shippable": false,
        "name": "CbDemo Additional User",
        "object": "item",
        "resource_version": 1599817250735,
        "status": "active",
        "type": "addon",
        "updated_at": 1599817250
    }
}

URL Format GET

https://{site}.chargebee.com/api/v2/items/{item-id}

Method

item item
always returned
Resource object representing item

Sample admin console URL

https://{site}.chargebee.com/admin-console/items/123x
Updates an item with the changes specified. Unspecified item parameters are not modified.

Notes

Sample Request
curl  https://{site}.chargebee.com/api/v2/items/basic \
     -u {site_api_key}:\
     -d description="basic plan" \
     -d enabled_for_checkout=false \
     -d enabled_in_portal=false
copy
Click to Copy
curl  https://{site}.chargebee.com/api/v2/items/basic \
     -u {site_api_key}:\
     -d description="basic plan" \
     -d enabled_for_checkout=false \
     -d enabled_in_portal=false

Sample Response [ JSON ]

Show more...
{
    "item": {
        "description": "basic plan",
        "enabled_for_checkout": false,
        "enabled_in_portal": false,
        "id": "basic",
        "is_giftable": false,
        "is_shippable": false,
        "item_applicability": "all",
        "name": "Basic",
        "object": "item",
        "resource_version": 1599817250886,
        "status": "active",
        "type": "plan",
        "updated_at": 1599817250
    }
}

URL Format POST

https://{site}.chargebee.com/api/v2/items/{item-id}

Method

name[]
optional, string, max chars=100
The display name for the item. Must be unique. This is visible only in Chargebee and not to customers.
description[]
optional, string, max chars=2000
Description of the item. This is visible only in Chargebee and not to customers.
Note:
  • The description field supports up to 2000 characters, including HTML tags. The inner text (excluding HTML tags) must not exceed 500 characters.
    For example:
    <ul><li>testing</li><li>desc</li></ul>.
    Total with tags: 38 characters,
    inner text: 'testing desc' (12 characters).
  • If your input includes characters requiring sanitization, such as incomplete HTML tags, the sanitization process may alter the input and increase its length. If the sanitized content exceeds the allowed limit, the request will be rejected.
is_shippable[]
optional, boolean, default=false
Indicates that the item is a physical product. If Orders are enabled in Chargebee, subscriptions created for this item will have orders associated with them.
external_name[]
optional, string, max chars=100
A unique display name for the item.
item_family_id[]
optional, string, max chars=100
The id of the Item family that the item belongs to. Is mandatory when Product Families have been enabled.
enabled_in_portal[]
optional, boolean, default=true
Allow customers to change their subscription to this plan via the Self-Serve Portal. Applies only for plan-items. This requires the Portal configuration to allow changing subscriptions.
redirect_url[]
optional, string, max chars=500
If enabled_for_checkout, then the URL to be redirected to once the checkout is complete. This parameter is only meant for plan-items.
enabled_for_checkout[]
optional, boolean, default=true
Allow the plan to subscribed to via Checkout. Applies only for plan-items.
Note: Only the in-app version of Checkout is supported for Product Catalog v2.
item_applicability[]
optional, enumerated string, default=all
Indicates which addon-items and charge-items can be applied to the item. Only possible for plan-items. Other details of attaching items such as whether to attach as a mandatory item or to attach on a certain event, can be specified using the Create or Update an attached item API.
Possible values are
allall addon-items and charge-items are applicable to this plan-item.restrictedonly the addon-items or charge-items provided in applicable_items can be applied to this plan-item.
allall addon-items and charge-items are applicable to this plan-item.restrictedonly the addon-items or charge-items provided in applicable_items can be applied to this plan-item.
Show all values[+]
applicable_items[[0..n]][0..n]
optional, list of string
The list of ids of addon-items and charge-items that can be applied to the plan-item. This parameter can be provided only for plan-items and that too when item_applicability is restricted. Other details of attaching items can be specified using the Create or Update an attached item API.
unit[]
optional, string, max chars=30
The unit of measure for a quantity-based item. This is displayed on the Chargebee UI and on customer facing documents/pages. The latter includes hosted pages, invoices and quotes. Examples follow:
  • “user“ for a cloud-collaboration platform.
  • “GB“ for a data service.
  • “issue“ for a magazine.
gift_claim_redirect_url[]
optional, string, max chars=500
The URL to redirect to once the gift has been claimed by the receiver.
metadata[]
optional, jsonobject
A collection of key-value pairs that provides extra information about the item. Learn more.
included_in_mrr[]
optional, boolean
The item is included in MRR calculations for your site. This attribute is only applicable for items of type = charge and when the feature is enabled in Chargebee. Note: If the site-level setting is to exclude charge-items from MRR calculations, this value is always returned false.
status[]
optional, enumerated string
The status of the item.
Possible values are
activeThe item can be used to create new item prices.archivedThe item is no longer active and no new item prices can be created
activeThe item can be used to create new item prices.archivedThe item is no longer active and no new item prices can be created
Show all values[+]
is_percentage_pricing[]
optional, boolean, default=false
Indicates whether the pricing is percentage-based.
bundle_configuration[type]
optional, enumerated string
Type of the bundle
Possible values are
fixedFixed bundle_configuration.type should be provided when you create a bundle plan that cannot be updated during checkout or subscription creation.
fixedFixed bundle_configuration.type should be provided when you create a bundle plan that cannot be updated during checkout or subscription creation.
Show all values[+]
bundle_items_to_add[item_id][0..n]
optional, string, max chars=100
item_id that needs to be added to the bundle.
Note: This parameter is only applicable when the item_type is plan.
bundle_items_to_add[item_type][0..n]
optional, enumerated string
item_type that can be added to the bundle.
Possible values are
planAn essential component of the bundle plan.
Note: At least one plan item must be associated with the bundle.
addonA recurring component that can be added to a bundle plan.chargeA non-recurring component that can be added to a bundle plan.
planAn essential component of the bundle plan.
Note: At least one plan item must be associated with the bundle.
addonA recurring component that can be added to a bundle plan.chargeA non-recurring component that can be added to a bundle plan.
Show all values[+]
bundle_items_to_add[quantity][0..n]
optional, integer, default=1, min=1
Quantity of the item(plan, addon, and charge) associated with the bundle.
bundle_items_to_add[price_allocation][0..n]
optional, bigdecimal, min=0, max=100
Price allocation of the item(plan, addon, and charge) associated with the bundle.
bundle_items_to_update[item_id][0..n]
optional, string, max chars=100
item_id that needs to be updated from the bundle plan. This attribute is only applicable when the item_type is plan.
bundle_items_to_update[item_type][0..n]
optional, enumerated string
item_type that you want to update from the bundle.
Possible values are
planAn essential component of the bundle plan.
Note: At least one plan item must be associated with the bundle.
addonA recurring component that can be added to a bundle plan.chargeA non-recurring component that can be added to a bundle plan.
planAn essential component of the bundle plan.
Note: At least one plan item must be associated with the bundle.
addonA recurring component that can be added to a bundle plan.chargeA non-recurring component that can be added to a bundle plan.
Show all values[+]
bundle_items_to_update[quantity][0..n]
optional, integer, default=1, min=1
Quantity of the item(plan, addon, and charge) associated with the bundle.
bundle_items_to_update[price_allocation][0..n]
optional, bigdecimal, min=0, max=100
Price allocation of the item(plan, addon, and charge) associated with the bundle.
bundle_items_to_remove[item_id][0..n]
optional, string, max chars=100
item_id that needs to be removed from the bundle plan.
Note: This attribute is only applicable when the item_type is plan.
bundle_items_to_remove[item_type][0..n]
optional, enumerated string
item_type that you want to remove from the bundle.
Possible values are
planAn essential component of the bundle plan.
Note: At least one plan item must be associated with the bundle.
addonA recurring component that can be added to a bundle plan.chargeA non-recurring component that can be added to a bundle plan.
planAn essential component of the bundle plan.
Note: At least one plan item must be associated with the bundle.
addonA recurring component that can be added to a bundle plan.chargeA non-recurring component that can be added to a bundle plan.
Show all values[+]
item item
always returned
Resource object representing item

Sample admin console URL

https://{site}.chargebee.com/admin-console/items/123x
Returns a list of items satisfying all the conditions specified in the filter parameters below. The list is sorted by date of creation, in descending order.

Notes

Sample Request
curl  https://{site}.chargebee.com/api/v2/items \
     -G  \
     -u {site_api_key}:\
     --data-urlencode limit=2
copy
Click to Copy
curl  https://{site}.chargebee.com/api/v2/items \
     -G  \
     -u {site_api_key}:\
     --data-urlencode limit=2

Sample Response [ JSON ]

Show more...
{
    "list": [
        {
            "item": {
                "applicable_items": [
                    {
                        "id": "day-pass"
                    },
                    {..}
                ],
                "enabled_for_checkout": true,
                "enabled_in_portal": true,
                "id": "gold",
                "is_giftable": false,
                "is_shippable": false,
                "item_applicability": "restricted",
                "name": "Gold",
                "object": "item",
                "resource_version": 1599817250235,
                "status": "active",
                "type": "plan",
                "updated_at": 1599817250
            }
        },
        {..}
    ],
    "next_offset": "1"
}

URL Format GET

https://{site}.chargebee.com/api/v2/items

Method

limit[]
optional, integer, default=10, min=1, max=100
The number of resources to be returned.
offset[]
optional, string, max chars=1000
Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set offset to the value of next_offset obtained in the previous iteration of the API call.
sort_by[<sort-order>]
optional, string filter
Sorts based on the specified attribute.
Supported attributes : name, id, updated_at
Supported sort-orders : asc, desc

Example sort_by[asc] = "name"
This will sort the result based on the 'name' attribute in ascending(earliest first) order.
Filter Params
For operator usages, see the Pagination and Filtering section.
id[<operator>]
optional, string filter
Filter items based on item id. Possible values are :
Supported operators : is, is_not, starts_with, in, not_in

Example id[is] = "basic"
id[is][operator]
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
id[is_not][operator]
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
id[starts_with][operator]
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
id[in][operator]
optional, string filter
Possible values are :
Supported operators :

Example
id[not_in][operator]
optional, string filter
Possible values are :
Supported operators :

Example
item_family_id[<operator>]
optional, string filter
Filter items based on item_family_id. Possible values are :
Supported operators : is, is_not, starts_with, in, not_in

Example item_family_id[is] = "acme"
item_family_id[is][operator]
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
item_family_id[is_not][operator]
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
item_family_id[starts_with][operator]
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
item_family_id[in][operator]
optional, string filter
Possible values are :
Supported operators :

Example
item_family_id[not_in][operator]
optional, string filter
Possible values are :
Supported operators :

Example
type[<operator>]
optional, enumerated string filter
Filter items based on item type. Possible values are : plan, addon, charge
Supported operators : is, is_not, in, not_in

Example type[is] = "plan"
type[is][operator]
optional, enumerated string filter
Possible values are : plan, addon, charge
Supported operators :

Example
type[is_not][operator]
optional, enumerated string filter
Possible values are : plan, addon, charge
Supported operators :

Example
type[in][operator]
optional, string filter
Possible values are :
Supported operators :

Example
type[not_in][operator]
optional, string filter
Possible values are :
Supported operators :

Example
name[<operator>]
optional, string filter
Filter items based on item name. Possible values are :
Supported operators : is, is_not, starts_with

Example name[is] = "basic"
name[is][operator]
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
name[is_not][operator]
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
name[starts_with][operator]
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
item_applicability[<operator>]
optional, enumerated string filter
Filter items based on item_applicability. Possible values are : all, restricted
Supported operators : is, is_not, in, not_in

Example item_applicability[is] = "all"
item_applicability[is][operator]
optional, enumerated string filter
Possible values are : all, restricted
Supported operators :

Example
item_applicability[is_not][operator]
optional, enumerated string filter
Possible values are : all, restricted
Supported operators :

Example
item_applicability[in][operator]
optional, string filter
Possible values are :
Supported operators :

Example
item_applicability[not_in][operator]
optional, string filter
Possible values are :
Supported operators :

Example
status[<operator>]
optional, enumerated string filter
Filter items based on item status. Possible values are : active, archived, deleted
Supported operators : is, is_not, in, not_in

Example status[is] = "active"
status[is][operator]
optional, enumerated string filter
Possible values are : active, archived, deleted
Supported operators :

Example
status[is_not][operator]
optional, enumerated string filter
Possible values are : active, archived, deleted
Supported operators :

Example
status[in][operator]
optional, string filter
Possible values are :
Supported operators :

Example
status[not_in][operator]
optional, string filter
Possible values are :
Supported operators :

Example
is_giftable[<operator>]
optional, enumerated string filter
Specifies if gift subscriptions can be created for this item. Possible values are : true, false
Supported operators : is

Example is_giftable[is] = "true"
is_giftable[is][operator]
optional, enumerated string filter
Possible values are : true, false
Supported operators :

Example
updated_at[<operator>]
optional, timestamp(UTC) in seconds filter
Filter items based on when the items were last updated. Possible values are :
Supported operators : after, before, on, between

Example updated_at[after] = "1243545465"
updated_at[after][operator]
optional, timestamp(UTC) in seconds filter
Possible values are :
Supported operators :

Example
updated_at[before][operator]
optional, timestamp(UTC) in seconds filter
Possible values are :
Supported operators :

Example
updated_at[on][operator]
optional, timestamp(UTC) in seconds filter
Possible values are :
Supported operators :

Example
updated_at[between][operator]
optional, string filter
Possible values are :
Supported operators :

Example
enabled_for_checkout[<operator>]
optional, enumerated string filter
Allow the plan to subscribed to via Checkout. Applies only for plan-items.
Note: Only the in-app version of Checkout is supported for Product Catalog v2.
Possible values are : true, false
Supported operators : is

Example enabled_for_checkout[is] = "null"
enabled_for_checkout[is][operator]
optional, enumerated string filter
Possible values are : true, false
Supported operators :

Example
enabled_in_portal[<operator>]
optional, enumerated string filter
Allow customers to change their subscription to this plan via the Self-Serve Portal. Applies only for plan-items. This requires the Portal configuration to allow changing subscriptions. Possible values are : true, false
Supported operators : is

Example enabled_in_portal[is] = "null"
enabled_in_portal[is][operator]
optional, enumerated string filter
Possible values are : true, false
Supported operators :

Example
metered[<operator>]
optional, enumerated string filter
Specifies whether the item undergoes metered billing. When true, the quantity is calculated from usage records. When false, the quantity is as determined while adding an item price to the subscription. Applicable only for items of type plan or addon and when Metered Billing is enabled. The value of this attribute cannot be changed. Possible values are : true, false
Supported operators : is

Example metered[is] = "true"
metered[is][operator]
optional, enumerated string filter
Possible values are : true, false
Supported operators :

Example
usage_calculation[<operator>]
optional, enumerated string filter
How the quantity is calculated from usage data for the item prices belonging to this item. Only applicable when the item is metered. This value overrides the one set at the site level. . Possible values are : sum_of_usages, last_usage, max_usage
Supported operators : is, is_not, in, not_in

Example usage_calculation[is] = "SUM_OF_USAGES"
usage_calculation[is][operator]
optional, enumerated string filter
Possible values are : sum_of_usages, last_usage, max_usage
Supported operators :

Example
usage_calculation[is_not][operator]
optional, enumerated string filter
Possible values are : sum_of_usages, last_usage, max_usage
Supported operators :

Example
usage_calculation[in][operator]
optional, string filter
Possible values are :
Supported operators :

Example
usage_calculation[not_in][operator]
optional, string filter
Possible values are :
Supported operators :

Example
channel[<operator>]
optional, enumerated string filter
The subscription channel this object originated from and is maintained in. Possible values are : web, app_store, play_store
Supported operators : is, is_not, in, not_in

Example channel[is] = "APP STORE"
channel[is][operator]
optional, enumerated string filter
Possible values are : web, app_store, play_store
Supported operators :

Example
channel[is_not][operator]
optional, enumerated string filter
Possible values are : web, app_store, play_store
Supported operators :

Example
channel[in][operator]
optional, string filter
Possible values are :
Supported operators :

Example
channel[not_in][operator]
optional, string filter
Possible values are :
Supported operators :

Example
business_entity_id[<operator>]
optional, enumerated string filter
The unique ID of the business entity of this item. Learn more about all the scenarios before using this filter. Possible values are : true, false
Supported operators : is_present, is

Example business_entity_id[is_present] = "business_entity_id"
business_entity_id[is_present][operator]
optional, enumerated string filter
Possible values are : true, false
Supported operators :

Example
business_entity_id[is][operator]
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
include_site_level_resources[<operator>]
optional, enumerated string filter

Default value is true . To exclude site-level resources in specific cases, set this parameter to false.

Possible values are : true, false
Supported operators : is

Example include_site_level_resources[is] = "null"
include_site_level_resources[is][operator]
optional, enumerated string filter
Possible values are : true, false
Supported operators :

Example
bundle_configuration[<operator>]
optional, enumerated string filter
Parameters of bundle_configuration Possible values are :
Supported operators : type

Example bundle_configuration[type] = "undefined"
bundle_configuration[type][operator]
optional, enumerated string filter
Type of the bundle Possible values are : fixed
Supported operators : is, is_not, in, not_in

Example bundle_configuration[type][is] = "fixed"
item item
always returned
Resource object representing item
next_offset next_offset
optional, string, max chars=1000
This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.

Sample admin console URL

https://{site}.chargebee.com/admin-console/items/123x
Deletes an item, marking its status as deleted. This is not allowed if there are active or archived item prices under the item. Once deleted, the id and name of the item can be reused.

Notes

Sample Request
curl  https://{site}.chargebee.com/api/v2/items/delete-sample/delete \
     -X POST  \
     -u {site_api_key}:
copy
Click to Copy
curl  https://{site}.chargebee.com/api/v2/items/delete-sample/delete \
     -X POST  \
     -u {site_api_key}:

Sample Response [ JSON ]

Show more...
{
    "item": {
        "enabled_for_checkout": true,
        "enabled_in_portal": true,
        "id": "delete-sample",
        "is_giftable": false,
        "is_shippable": false,
        "name": "delete sample",
        "object": "item",
        "resource_version": 1599817250429,
        "status": "deleted",
        "type": "addon",
        "updated_at": 1599817250
    }
}

URL Format POST

https://{site}.chargebee.com/api/v2/items/{item-id}/delete

Method

item item
always returned
Resource object representing item

Sample admin console URL

https://{site}.chargebee.com/admin-console/items/123x