API Version
Product Catalog
Library

If you’re a company that sells multiple product lines then each product line or service is an item family in the Chargebee API. For example, if you are a SaaS company that offers separate products for project management, content collaboration, and customer support. Each of those can be an item family under which the various plans, addons and charges can be the items.

Item families compartmentalize items such that only items belonging to the same family can be part of any given subscription.

Note:
You must have the Product Families enabled for your site to be able to set up item families.

Sample item family [ JSON ]

{ "description": "Acme Inc Family", "id": "acme-inc", "name": "Acme Inc Family", "resource_version": 1576400459324, "updated_at": 1576400459 }

API Index URL GET

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

Model Class

ChargeBee.Models.ItemFamily
Id
string, max chars=50
The identifier for the item family. It is unique and immutable.
Name
string, max chars=50
A unique display name for the item family. This is visible only in Chargebee and not to customers.
Description
optional, string, max chars=500
Description of the item family. This is visible only in Chargebee and not to customers.
Status
optional, enumerated string
Status of the item family.
Possible values are
ActiveThe item family is active and can be used to create new items.DeletedThe item family has been deleted and cannot be used to create new items. The id and name can be reused to create a new item family.
ActiveThe item family is active and can be used to create new items.DeletedThe item family has been deleted and cannot be used to create new items. The id and name can be reused to create a new item family.
Show all values[+]
ResourceVersion
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.
UpdatedAt
optional, timestamp(UTC) in seconds
When the item family was last updated.
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.AppStoreThe 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.PlayStoreThe 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.
WebThe object was created (and is maintained) for the web channel directly in Chargebee via API or UI.AppStoreThe 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.PlayStoreThe 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.
Show all values[+]
BusinessEntityId
optional, string, max chars=50
The unique ID of the business entity of this item_family. 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.
Deleted
boolean
Indicates whether the item family has been deleted or not.
Id Id
string, max chars=50
The identifier for the item family. It is unique and immutable.
Name Name
string, max chars=50
A unique display name for the item family. This is visible only in Chargebee and not to customers.
Description Description
optional, string, max chars=500
Description of the item family. This is visible only in Chargebee and not to customers.
Status Status
optional, enumerated string
Status of the item family.
Possible values are
ActiveThe item family is active and can be used to create new items.DeletedThe item family has been deleted and cannot be used to create new items. The id and name can be reused to create a new item family.
ActiveThe item family is active and can be used to create new items.DeletedThe item family has been deleted and cannot be used to create new items. The id and name can be reused to create a new item family.
Show all values[+]
ResourceVersion ResourceVersion
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.
UpdatedAt UpdatedAt
optional, timestamp(UTC) in seconds
When the item family was last updated.
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.AppStoreThe 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.PlayStoreThe 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.
WebThe object was created (and is maintained) for the web channel directly in Chargebee via API or UI.AppStoreThe 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.PlayStoreThe 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.
Show all values[+]
BusinessEntityId BusinessEntityId
optional, string, max chars=50
The unique ID of the business entity of this item_family. 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.
Deleted Deleted
boolean
Indicates whether the item family has been deleted or not.

This endpoint creates an item family for your product line or service.

Notes

Sample Codes
 
using ChargeBee.Api;
using ChargeBee.Models;
ApiConfig.Configure("{site}","{site_api_key}");
EntityResult result = ItemFamily.Create()
		.Id("acme-inc")
		.Description("Acme Inc Family")
		.Name("Acme Inc Family")
		.Request();

ItemFamily itemFamily = result.ItemFamily;

copy
Click to Copy
 
using ChargeBee.Api;
using ChargeBee.Models;
ApiConfig.Configure("{site}","{site_api_key}");
EntityResult result = ItemFamily.Create()
		.Id("acme-inc")
		.Description("Acme Inc Family")
		.Name("Acme Inc Family")
		.Request();

ItemFamily itemFamily = result.ItemFamily;

Sample Result [ JSON ]

Show more...
{
    "item_family": {
        "description": "Acme Inc Family",
        "id": "acme-inc",
        "name": "Acme Inc Family",
        "resource_version": 1576400459324,
        "updated_at": 1576400459
    }
}

URL Format POST

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

Method

ItemFamily.Create()
Id[(val)](val)
required, string, max chars=50
The identifier for the item family. Must be unique and is immutable.
Name[(val)](val)
required, string, max chars=50
The display name for the item family. Must be unique. This is visible only in Chargebee and not to customers.
Description[(val)](val)
optional, string, max chars=500
Description of the item family. This is visible only in Chargebee and not to customers.
BusinessEntityId[(val)](val)
optional, string, max chars=50
The unique ID of the business entity for this item_family. 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.

.
item_family item_family
always returned
Resource object representing item_family

Sample admin console URL

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

This endpoint retrieves an item family based on the item family id.

Notes

Sample Codes
 
using ChargeBee.Api;
using ChargeBee.Models;
ApiConfig.Configure("{site}","{site_api_key}");
EntityResult result = ItemFamily.Retrieve("acme-inc").Request();

ItemFamily itemFamily = result.ItemFamily;

copy
Click to Copy
 
using ChargeBee.Api;
using ChargeBee.Models;
ApiConfig.Configure("{site}","{site_api_key}");
EntityResult result = ItemFamily.Retrieve("acme-inc").Request();

ItemFamily itemFamily = result.ItemFamily;

Sample Result [ JSON ]

Show more...
{
    "item_family": {
        "description": "Acme Inc Family",
        "id": "acme-inc",
        "name": "Acme Inc Family",
        "resource_version": 1576400460009,
        "updated_at": 1576400460
    }
}

URL Format GET

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

Method

ItemFamily.Retrieve(<item_family_id>)
item_family item_family
always returned
Resource object representing item_family

Sample admin console URL

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

Notes

Sample Codes
 
using ChargeBee.Api;
using ChargeBee.Models;
ApiConfig.Configure("{site}","{site_api_key}");
ListResult result = ItemFamily.List()
		.Limit(5)
		.Request();

foreach (var item in result.List){
  ItemFamily itemFamily = item.ItemFamily;
}

copy
Click to Copy
 
using ChargeBee.Api;
using ChargeBee.Models;
ApiConfig.Configure("{site}","{site_api_key}");
ListResult result = ItemFamily.List()
		.Limit(5)
		.Request();

foreach (var item in result.List){
  ItemFamily itemFamily = item.ItemFamily;
}

Sample Result [ JSON ]

Show more...
{
    "list": [
        {
            "item_family": {
                "description": "Acme Inc Family",
                "id": "acme-inc",
                "name": "Acme Inc Family",
                "resource_version": 1576400459324,
                "updated_at": 1576400459
            }
        },
        {..}
    ]
}

URL Format GET

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

Method

ItemFamily.List()
Limit[(val)](val)
optional, integer, default=10, min=1, max=100
The number of resources to be returned.
Offset[(val)](val)
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.
Filter Params
For operator usages, see the Pagination and Filtering section.
Id().<operator>(val)
optional, string filter
The identifier for the item family. It is unique and immutable. Possible values are :
Supported operators : Is, IsNot, StartsWith, In, NotIn

Example Id().Is(family-id)
IdIs().<operator>(val)
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
IdIsNot().<operator>(val)
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
IdStartsWith().<operator>(val)
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
IdIn().<operator>(val)
optional, string filter
Possible values are :
Supported operators :

Example
IdNotIn().<operator>(val)
optional, string filter
Possible values are :
Supported operators :

Example
Name().<operator>(val)
optional, string filter
A unique display name for the item family. This is visible only in Chargebee and not to customers. Possible values are :
Supported operators : Is, IsNot, StartsWith

Example Name().Is(family-name)
NameIs().<operator>(val)
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
NameIsNot().<operator>(val)
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
NameStartsWith().<operator>(val)
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
UpdatedAt().<operator>(val)
optional, timestamp(UTC) in seconds filter
When the item family was last updated. Possible values are :
Supported operators : After, Before, On, Between

Example UpdatedAt().After(1243545465)
UpdatedAtAfter().<operator>(val)
optional, timestamp(UTC) in seconds filter
Possible values are :
Supported operators :

Example
UpdatedAtBefore().<operator>(val)
optional, timestamp(UTC) in seconds filter
Possible values are :
Supported operators :

Example
UpdatedAtOn().<operator>(val)
optional, timestamp(UTC) in seconds filter
Possible values are :
Supported operators :

Example
UpdatedAtBetween().<operator>(val)
optional, string filter
Possible values are :
Supported operators :

Example
BusinessEntityId().<operator>(val)
optional, enumerated string filter
The unique ID of the business entity of this item_family. Learn more about all the scenarios before using this filter. Possible values are : True, False
Supported operators : IsPresent, Is

Example BusinessEntityId().IsPresent(business_entity_id)
BusinessEntityIdIsPresent().<operator>(val)
optional, enumerated string filter
Possible values are : True, False
Supported operators :

Example
BusinessEntityIdIs().<operator>(val)
optional, string, min chars=1 filter
Possible values are :
Supported operators :

Example
IncludeSiteLevelResources().<operator>(val)
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 IncludeSiteLevelResources().Is(null)
IncludeSiteLevelResourcesIs().<operator>(val)
optional, enumerated string filter
Possible values are : True, False
Supported operators :

Example
item_family item_family
always returned
Resource object representing item_family
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/item_families/123x
This endpoint updates the name and/or description of the item family.

Notes

Sample Codes
 
using ChargeBee.Api;
using ChargeBee.Models;
ApiConfig.Configure("{site}","{site_api_key}");
EntityResult result = ItemFamily.Update("acme-inc")
		.Description("Acme Inc Family")
		.Request();

ItemFamily itemFamily = result.ItemFamily;

copy
Click to Copy
 
using ChargeBee.Api;
using ChargeBee.Models;
ApiConfig.Configure("{site}","{site_api_key}");
EntityResult result = ItemFamily.Update("acme-inc")
		.Description("Acme Inc Family")
		.Request();

ItemFamily itemFamily = result.ItemFamily;

Sample Result [ JSON ]

Show more...
{
    "item_family": {
        "description": "Acme Inc Family",
        "id": "acme-inc",
        "name": "Acme Inc Family",
        "resource_version": 1576400460281,
        "updated_at": 1576400460
    }
}

URL Format POST

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

Method

ItemFamily.Update(<item_family_id>)
Name[(val)](val)
optional, string, max chars=50
The display name for the item family. Must be unique. This is visible only in Chargebee and not to customers.
Description[(val)](val)
optional, string, max chars=500
Description of the item family. This is visible only in Chargebee and not to customers.
item_family item_family
always returned
Resource object representing item_family

Sample admin console URL

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

Notes

Sample Codes
 
using ChargeBee.Api;
using ChargeBee.Models;
ApiConfig.Configure("{site}","{site_api_key}");
EntityResult result = ItemFamily.Delete("acme-inc").Request();

ItemFamily itemFamily = result.ItemFamily;

copy
Click to Copy
 
using ChargeBee.Api;
using ChargeBee.Models;
ApiConfig.Configure("{site}","{site_api_key}");
EntityResult result = ItemFamily.Delete("acme-inc").Request();

ItemFamily itemFamily = result.ItemFamily;

Sample Result [ JSON ]

Show more...
{
    "item_family": {
        "description": "Acme Inc Family",
        "id": "acme-inc",
        "name": "Acme Inc Family",
        "object": "item_family",
        "resource_version": 1591686231210,
        "status": "deleted",
        "updated_at": 1591686231
    }
}

URL Format POST

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

Method

ItemFamily.Delete(<item_family_id>)
item_family item_family
always returned
Resource object representing item_family

Sample admin console URL

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