You are viewing the documentation for Chargebee API V2. If you're using the older version (V1), click here.

Specifies the price with billing frequency for a subscription. Create separate plans for varied price or billing frequency. For example, if you need to charge $10 per month for a group of customers and $100 per year for another group of customers, then create separate plans for each.

Sample plan [ JSON ]

{ "addon_applicability": "all", "charge_model": "flat_fee", "currency_code": "USD", "enabled_in_hosted_pages": true, "enabled_in_portal": true, "free_quantity": 0, "giftable": false, "id": "silver", "invoice_name": "sample plan", "is_shippable": false, "name": "Silver", "object": "plan", "period": 1, "period_unit": "month", "price": 5000, "pricing_model": "flat_fee", "resource_version": 1517505797000, "show_description_in_invoices": false, "show_description_in_quotes": false, "status": "active", "taxable": true, "updated_at": 1517505797 }

API Index URL GET

https://{site}.chargebee.com/api/v2/plans
id
string, max chars=100
A unique ID for your system to identify the plan.
name
string, max chars=50
The display name used in web interface for identifying the plan.
invoice_name
optional, string, max chars=100
Display name used in invoice. If it is not configured then name is used in invoice.
description
optional, string, max chars=500
Description about the plan to show in the hosted pages & customer portal.
Note:
If your input contains characters that are subjected to sanitization (like incomplete HTML tags), the sanitization process might increase the length of your input. If the sanitized input exceeds the limit, your request will be rejected.
price
optional, in cents, min=0
The price of the plan. The unit depends on the type of currency.
currency_code
string, max chars=3
The currency code (ISO 4217 format) of the plan
period
integer, default=1, min=1
Defines billing frequency. Example: to bill customer every 3 months, provide "3" here.
period_unit
enumerated string, default=month
Defines billing frequency in association with billing period.
Possible values are
dayCharge based on day(s).weekCharge based on week(s).monthCharge based on month(s).yearCharge based on year(s).
trial_period
optional, integer, min=1
The free time window for your customer to try your product
trial_period_unit
optional, enumerated string
Time unit for the trial period.
Possible values are
dayIn days.monthIn months.
trial_end_action
optional, enumerated string
Applicable only when End-of-trial Action has been enabled for the site. Whenever the plan has a trial period, this attribute (parameter) is returned (required) and specifies the operation to be carried out for the subscription once the trial ends. This can be overridden at the subscription-level.
Possible values are
site_defaultThe action configured for the site at the time when the trial ends, takes effect.activate_subscriptionThe subscription activates and charges are raised for non-metered items.cancel_subscriptionThe subscription cancels.
pricing_model
enumerated string, default=flat_fee
Defines how the recurring charges for the subscription is calculated.
Possible values are
flat_feeA fixed price that is not quantity-based.per_unitA fixed price per unit quantity.tieredThe per unit price is based on the tier that the total quantity falls in.volumeThere are quantity tiers for which per unit prices are set. Quantities are purchased from successive tiers.stairstepA quantity-based pricing scheme. The item is charged a fixed price based on the tier that the total quantity falls in.
free_quantity
integer, default=0, min=0
Free quantity the subscriptions of this plan will have. Only the quantity more than this will be charged for the subscription.
setup_cost
optional, in cents, min=1
One-time setup fee charged as part of the first invoice.
status
enumerated string, default=active
The plan state
Possible values are
activeNew subscriptions can be created with the plan.archivedNo new subscriptions allowed for the plan. Existing subscriptions on this plan will remain as-is and can be migrated to another active plan if required.deletedIndicates the plan has been deleted.
archived_at
optional, timestamp(UTC) in seconds
Time at which the plan was moved to archived status.
billing_cycles
optional, integer, min=1
The number of billing cycles the subscription is active. The subscription is moved to non renewing state and then to cancelled state automatically
redirect_url
optional, string, max chars=500
The url to redirect on successful checkout. Eg: https://yoursite.com/success.html?plan=basic
enabled_in_hosted_pages
boolean, default=true
If true, allow checkout through plan specific hosted page URL for this plan.
enabled_in_portal
boolean, default=true
If enabled, customers can switch to this plan using the 'Change Subscription' option in the customer portal.
addon_applicability
enumerated string, default=all
Indicates if all or only some addons are applicable with the plan.
Possible values are
allAll addons are applicable with this plan.restrictedOnly addons marked as 'applicable_addons' are applicable with the plan.
tax_code
optional, string, max chars=50
The Avalara tax codes to which items are mapped to should be provided here. Applicable only if you use Chargebee's AvaTax for Sales integration.
hsn_code
optional, string, max chars=50
The HSN code to which the item is mapped for calculating the customer’s tax in India. Applicable only when both of the following conditions are true:
taxjar_product_code
optional, string, max chars=50
The TaxJar product codes to which items are mapped to should be provided here. Applicable only if you use Chargebee's TaxJar integration.
avalara_sale_type
optional, enumerated string
Indicates the type of sale carried out. This is applicable only if you use Chargebee’s AvaTax for Communications integration.
Possible values are
wholesaleTransaction is a sale to another company that will resell your product or service to another consumer.retailTransaction is a sale to an end user.consumedTransaction is for an item that is consumed directly.vendor_useTransaction is for an item that is subject to vendor use tax.
avalara_transaction_type
optional, integer
Indicates the type of product to be taxed. Values for this field can be taken from Avalara. This is applicable only if you use Chargebee’s AvaTax for Communications integration.
avalara_service_type
optional, integer
Indicates the type of service for the product to be taxed. Values for this field can be taken from Avalara. This is applicable only if you use Chargebee’s AvaTax for Communications integration.
sku
optional, string, max chars=100
The field is used as Product name/code in your third party accounting application. Chargebee will use it as an alternate name in your accounting application.
accounting_code
optional, string, max chars=100
This field is to capture the Account code setup in your Accounting system for integration purposes only.
accounting_category1
optional, string, max chars=100
Used exclusively with the following accounting integrations
  • Xero: If you’ve categorized your products in Xero, provide the category name and option. Use the format: <category-name>: <option>. For example:Location: Singapore.
  • QuickBooks: If you’ve categorized your product sales in QuickBooks according to Classes, provide the class name here. Use the following format: <parent class>:<sub-class-1>:<sub-class-2>...
  • NetSuite: If you’ve categorized your products in NetSuite under Classes, provide the class name here. Use the following format: <parent class> : <sub-class-1> : <sub-class2> .... For example: Services : Plan.
  • Intacct: If you’ve classified your products in Intacct under Locations, provide the name of the Location here.

accounting_category2
optional, string, max chars=100
Used exclusively with the following accounting integrations
  • Xero: If you’ve categorized your products in Xero, then provide the second category name and option here. Use the format: <category-name>: <option>.... For example, Region: South
  • QuickBooks: If you’ve categorized your product sales in QuickBooks according to Location, provide the Location name here. Use the following format: <parent-location>:<sub-location-1>:<sub-location-2>.... For example: Location: North America: Canada
  • NetSuite: If you’ve categorized your products in NetSuite under Locations, provide the location name here. Use the following format <parent-location> : <sub-location-1>: <sub-location-2>.... For example: NA:US:CA
  • Intacct: If you’ve classified your products in Intacct under Dimensions, provide the value of the Dimension here.

accounting_category3
optional, string, max chars=100
Used exclusively with the following accounting integrations
  • NetSuite: If you’ve categorized your products in NetSuite under Departments, pass the department name here. Use the following format: <parent-department> : <sub-department-1>: <sub-department-2>.... For example: Production: Assembly.
  • Intacct: If you’ve classified your products in Intacct under multiple Dimensions, provide the value of the second Dimension here.

accounting_category4
optional, string, max chars=100
Used exclusively with the following accounting integrations
  • NetSuite: Provide the “Revenue Recognition Rule Id” for the product from NetSuite.
  • Intacct: If you have configured “Revenue Recognition Templates” for products in Intacct, provide the template ID for the product.

is_shippable
optional, boolean, default=false
If enabled, charges for this plan/addon will be added to orders.
shipping_frequency_period
optional, integer, min=1
Defines the shipping frequency. Example: to bill customer every 2 weeks, provide "2" here.
shipping_frequency_period_unit
optional, enumerated string
Defines the shipping frequency in association with shipping period.
Possible values are
yearShip based on year(s).monthShip based on month(s).weekShip based on week(s).dayShip based on day(s).
resource_version
optional, long
Version number of this resource. The resource_version is updated with a new timestamp in milliseconds for every change made to the resource. This attribute will be present only if the resource has been updated after 2016-09-28.
updated_at
optional, timestamp(UTC) in seconds
Timestamp indicating when this plan was last updated. This attribute will be present only if the resource has been updated after 2016-11-09.
giftable
boolean, default=false
Specifies if the plan should be gifted or not.
claim_url
optional, string, max chars=500
The url to redirect on successful claim. Eg: https://yoursite.com/claim_success.html?plan=basic
free_quantity_in_decimal
optional, string, max chars=33
The quantity of the plan that is available free-of-charge, represented in decimal. When a subscription is created for this plan or when the plan of a subscription is changed to this one, only the quantity above this number is charged for. Applicable for quantity-based plans and only when multi-decimal pricing is enabled.
price_in_decimal
optional, string, max chars=39
The price of the plan when the pricing_model is flat_fee. When the pricing model is per_unit, it is the price per unit quantity of the item. Not applicable for the other pricing models. The value is in decimal and in major units of the currency. Also, this is only applicable when multi-decimal pricing is enabled.
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.
.
invoice_notes
optional, string, max chars=2000
A customer-facing note added to all invoices associated with this API resource. This note becomes one among all the notes displayed on the invoice PDF.
taxable
optional, boolean, default=true
Specifies whether taxes apply to this plan. This value is set and returned even if Taxes have been disabled in Chargebee. However, the value is effective only while Taxes are enabled.
tax_profile_id
optional, string, max chars=50
Tax profile of the plan.
meta_data
optional, jsonobject
A set of key-value pairs stored as additional information for the plan. Learn more.
show_description_in_invoices
optional, boolean, default=false
Whether the plan.description should be shown on invoice PDFs. If this Boolean is changed, only invoices generated (or regenerated )after the change are affected; past invoices are not.
show_description_in_quotes
optional, boolean, default=false
Whether the plan description should be shown on quote PDFs. If this Boolean is changed, only quotes created after the change are affected; past quotes are not.
optional, list of tier
List of tiers for this plan(applicable only if it is tiered/volume/stairtstep pricing
Tier attributes
starting_unit
integer, min=1
The lower limit of a range of units for the tier
ending_unit
optional, integer
The upper limit of a range of units for the tier
price
in cents, default=0, min=0
The per-unit price for the tier when the pricing_model is tiered or volume; the total cost for the item price when the pricing_model is stairstep. The value is in the minor unit of the currency.
starting_unit_in_decimal
optional, string, max chars=33
The decimal representation of the the lowest value of quantity in this tier. This is zero for the lowest tier. For all other tiers, it is the same as ending_unit_in_decimal of the next lower tier. Returned only when the pricing_model is tiered, volume or stairstep and multi-decimal pricing is enabled.
ending_unit_in_decimal
optional, string, max chars=33
The decimal representation of the highest value of quantity in this tier. This attribute is not applicable for the highest tier. For all other tiers, it must be equal to the starting_unit_in_decimal of the next higher tier. Returned only when the pricing_model is tiered, volume or stairstep and multi-decimal pricing is enabled.
price_in_decimal
optional, string, max chars=39
The decimal representation of the per-unit price for the tier when the pricing_model is tiered or volume. When the pricing_model is stairstep, it is the decimal representation of the total price for the addon. The value is in major units of the currency. Returned when the plan is quantity-based and multi-decimal pricing is enabled.
applicable_addons
Show attributes[+]
optional, list of applicable_addon
List of addons applicable with this plan.
Applicable addon attributes
id
string, max chars=100
Identifier of the addon appplicable to the plan.
attached_addons
Show attributes[+]
optional, list of attached_addon
Indicates if the addon is attached with the plan as mandatory or recommended.
Attached addon attributes
id
string, max chars=100
Identifier of the addon attached with the plan. Only recurring addons can be attached with the plan.
quantity
integer, min=1
Quantity of the addon. Applicable for addons with pricing_model other than flat_fee.
billing_cycles
optional, integer, min=1
The number of billing cycles this addon will be attached to the plan.
type
enumerated string
Specifies attachment type of the addon to the plan
Possible values are
recommendedAddon will be charged with this plan unless specifically removed.mandatoryAddon will be always charged with this plan.
quantity_in_decimal
optional, string, max chars=33
The decimal representation of the quantity of the addon. Returned for quantity-based addons when multi-decimal pricing is enabled.
event_based_addons
Show attributes[+]
optional, list of event_based_addon
List of addons that will be charged on occurrence of specific event on subscribing to the plan.
Event based addon attributes
id
string, max chars=100
Identifier of the addon. Multiple addons can be passed.
quantity
integer, min=1
Quantity of the addon. Applicable for addons with pricing_model other than flat_fee.
on_event
enumerated string
Event on which the addon will be charged
Possible values are
subscription_creationAddon will be charged on subscription creation.subscription_trial_startAddon will be charged when the trial period starts.plan_activationAddon will be charged on plan activation.subscription_activationAddon will be charged on subscription activation.contract_terminationAddon will be charged on contract termination.
charge_once
boolean, default=true
If enabled, the addon will be charged only at the first occurrence of the event. Applicable only for non-recurring add-ons.
quantity_in_decimal
optional, string, max chars=33
The decimal representation of the quantity of the addon. Returned for quantity-based addons when multi-decimal pricing is enabled.
This endpoint creates a new plan based on the plan Id and plan name.
Sample Request
curl  https://{site}.chargebee.com/api/v2/plans \
     -u {site_api_key}:\
     -d id="silver" \
     -d name="Silver" \
     -d invoice_name="sample plan" \
     -d price=5000
copy

Sample Response [ JSON ]

URL Format POST

https://{site}.chargebee.com/api/v2/plans
id
required, string, max chars=100
A unique ID for your system to identify the plan.
name
required, string, max chars=50
The display name used in web interface for identifying the plan.
invoice_name
optional, string, max chars=100
Display name used in invoice. If it is not configured then name is used in invoice.
description
optional, string, max chars=500
Description about the plan to show in the hosted pages & customer portal.
Note:
If your input contains characters that are subjected to sanitization (like incomplete HTML tags), the sanitization process might increase the length of your input. If the sanitized input exceeds the limit, your request will be rejected.
trial_period
optional, integer, min=1
The free time window for your customer to try your product.
trial_period_unit
optional, enumerated string
Time unit for the trial period.
Possible values are
dayIn daysmonthIn months
trial_end_action
optional, enumerated string
Applicable only when End-of-trial Action has been enabled for the site. Whenever the plan has a trial period, this attribute (parameter) is returned (required) and specifies the operation to be carried out for the subscription once the trial ends. This can be overridden at the subscription-level.
Possible values are
site_defaultThe action configured for the site at the time when the trial ends, takes effect.activate_subscriptionThe subscription activates and charges are raised for non-metered items.cancel_subscriptionThe subscription cancels.
period
optional, integer, default=1, min=1
Defines billing frequency. Example: to bill customer every 3 months, provide "3" here.
period_unit
optional, enumerated string, default=month
Defines billing frequency in association with billing period.
Possible values are
dayCharge based on day(s)weekCharge based on week(s)monthCharge based on month(s)yearCharge based on year(s)
setup_cost
optional, in cents, min=1
One-time setup fee charged as part of the first invoice.
price
optional, in cents, min=0
The price of the plan. The unit depends on the type of currency.
price_in_decimal
optional, string, max chars=39
The price of the plan when the pricing_model is flat_fee. When the pricing model is per_unit, it is the price per unit quantity of the plan. Not applicable for the other pricing models. The value is in decimal and in major units of the currency. Also, this is only applicable when multi-decimal pricing is enabled. .
currency_code
required if Multicurrency is enabled, string, max chars=3
The currency code (ISO 4217 format) of the plan.
billing_cycles
optional, integer, min=1
The number of billing cycles the subscription is active. The subscription is moved to non renewing state and then to cancelled state automatically.
pricing_model
optional, enumerated string, default=flat_fee
Defines how the recurring charges for the subscription is calculated.
Possible values are
flat_feeA fixed price that is not quantity-based.per_unitA fixed price per unit quantity.tieredThe per unit price is based on the tier that the total quantity falls in.volumeThere are quantity tiers for which per unit prices are set. Quantities are purchased from successive tiers.stairstepA quantity-based pricing scheme. The item is charged a fixed price based on the tier that the total quantity falls in.
free_quantity
optional, integer, default=0, min=0
Free quantity the subscriptions of this plan will have. Only the quantity more than this will be charged for the subscription.
free_quantity_in_decimal
optional, string, max chars=33
The quantity of the plan that is available free-of-charge, represented in decimal. When a subscription is created for this plan or when the plan of a subscription is changed to this one, only the quantity above this number is charged for. Applicable for quantity-based plans and only when multi-decimal pricing is enabled. .
addon_applicability
optional, enumerated string, default=all
Indicates if all or only some addons are applicable with the plan.
Possible values are
allAll addons are applicable with this plan.restrictedOnly addons marked as 'applicable_addons' are applicable with the plan.
redirect_url
optional, string, max chars=500
The url to redirect on successful checkout. Eg: https://yoursite.com/success.html?plan=basic.
enabled_in_hosted_pages
optional, boolean, default=true
If true, allow checkout through plan specific hosted page URL for this plan.
enabled_in_portal
optional, boolean, default=true
If enabled, customers can switch to this plan using the 'Change Subscription' option in the customer portal.
taxable
optional, boolean, default=true
Specifies whether taxes apply to this plan. This value is set and returned even if Taxes have been disabled in Chargebee. However, the value is effective only while Taxes are enabled.
tax_profile_id
optional, string, max chars=50
Tax profile of the plan.
tax_code
optional, string, max chars=50
The Avalara tax codes to which items are mapped to should be provided here. Applicable only if you use Chargebee's AvaTax for Sales integration.
hsn_code
optional, string, max chars=50
The HSN code to which the item is mapped for calculating the customer’s tax in India. Applicable only when both of the following conditions are true: .
taxjar_product_code
optional, string, max chars=50
The TaxJar product codes to which items are mapped to should be provided here. Applicable only if you use Chargebee's TaxJar integration.
avalara_sale_type
optional, enumerated string
Indicates the type of sale carried out. This is applicable only if you use Chargebee’s AvaTax for Communications integration.
Possible values are
wholesaleTransaction is a sale to another company that will resell your product or service to another consumerretailTransaction is a sale to an end userconsumedTransaction is for an item that is consumed directlyvendor_useTransaction is for an item that is subject to vendor use tax
avalara_transaction_type
optional, integer
Indicates the type of product to be taxed. Values for this field can be taken from Avalara. This is applicable only if you use Chargebee’s AvaTax for Communications integration.
avalara_service_type
optional, integer
Indicates the type of service for the product to be taxed. Values for this field can be taken from Avalara. This is applicable only if you use Chargebee’s AvaTax for Communications integration.
sku
optional, string, max chars=100
The field is used as Product name/code in your third party accounting application. Chargebee will use it as an alternate name in your accounting application.
accounting_code
optional, string, max chars=100
This field is to capture the Account code setup in your Accounting system for integration purposes only.
accounting_category1
optional, string, max chars=100
Used exclusively with the following accounting integrations
  • Xero: If you’ve categorized your products in Xero, provide the category name and option. Use the format: <category-name>: <option>. For example:Location: Singapore.
  • QuickBooks: If you’ve categorized your product sales in QuickBooks according to Classes, provide the class name here. Use the following format: <parent class>:<sub-class-1>:<sub-class-2>...
  • NetSuite: If you’ve categorized your products in NetSuite under Classes, provide the class name here. Use the following format: <parent class> : <sub-class-1> : <sub-class2> .... For example: Services : Plan.
  • Intacct: If you’ve classified your products in Intacct under Locations, provide the name of the Location here.
.
accounting_category2
optional, string, max chars=100
Used exclusively with the following accounting integrations
  • Xero: If you’ve categorized your products in Xero, then provide the second category name and option here. Use the format: <category-name>: <option>.... For example, Region: South
  • QuickBooks: If you’ve categorized your product sales in QuickBooks according to Location, provide the Location name here. Use the following format: <parent-location>:<sub-location-1>:<sub-location-2>.... For example: Location: North America: Canada
  • NetSuite: If you’ve categorized your products in NetSuite under Locations, provide the location name here. Use the following format <parent-location> : <sub-location-1>: <sub-location-2>.... For example: NA:US:CA
  • Intacct: If you’ve classified your products in Intacct under Dimensions, provide the value of the Dimension here.
.
accounting_category3
optional, string, max chars=100
Used exclusively with the following accounting integrations
  • NetSuite: If you’ve categorized your products in NetSuite under Departments, pass the department name here. Use the following format: <parent-department> : <sub-department-1>: <sub-department-2>.... For example: Production: Assembly.
  • Intacct: If you’ve classified your products in Intacct under multiple Dimensions, provide the value of the second Dimension here.
.
accounting_category4
optional, string, max chars=100
Used exclusively with the following accounting integrations
  • NetSuite: Provide the “Revenue Recognition Rule Id” for the product from NetSuite.
  • Intacct: If you have configured “Revenue Recognition Templates” for products in Intacct, provide the template ID for the product.
.
is_shippable
optional, boolean, default=false
If enabled, charges for this plan/addon will be added to orders.
shipping_frequency_period
optional, integer, min=1
Defines the shipping frequency. Example: to bill customer every 2 weeks, provide "2" here.
shipping_frequency_period_unit
optional, enumerated string
Defines the shipping frequency in association with shipping period.
Possible values are
yearShip based on year(s)monthShip based on month(s)weekShip based on week(s)dayShip based on day(s)
invoice_notes
optional, string, max chars=2000
A customer-facing note added to all invoices associated with this API resource. This note becomes one among all the notes displayed on the invoice PDF.
meta_data
optional, jsonobject
A set of key-value pairs stored as additional information for the plan. Learn more.
show_description_in_invoices
optional, boolean, default=false
Whether the plan.description should be shown on invoice PDFs. If this Boolean is changed, only invoices generated (or regenerated )after the change are affected; past invoices are not.
show_description_in_quotes
optional, boolean, default=false
Whether the plan description should be shown on quote PDFs. If this Boolean is changed, only quotes created after the change are affected; past quotes are not.
giftable
optional, boolean, default=false
Specifies if the plan should be gifted or not.
status
optional, enumerated string, default=active
The plan state.
Possible values are
activeNew subscriptions can be created with the plan.archivedNo new subscriptions allowed for the plan. Existing subscriptions on this plan will remain as-is and can be migrated to another active plan if required.
claim_url
optional, string, max chars=500
The url to redirect on successful claim. Eg: https://yoursite.com/claim_success.html?plan=basic.
+
tiers
Parameters for tiers. Multiple tiers can be passed by specifying unique indices.
pass parameters as tiers[<param name>][<idx:0..n>]
tiers[starting_unit][0..n]
optional, integer, min=1
The lower limit of a range of units for the tier
tiers[ending_unit][0..n]
optional, integer
The upper limit of a range of units for the tier
tiers[price][0..n]
optional, in cents, default=0, min=0
The per-unit price for the tier when the pricing_model is tiered or volume; the total cost for the item price when the pricing_model is stairstep. The value is in the minor unit of the currency.
tiers[starting_unit_in_decimal][0..n]
optional, string, max chars=33
The decimal representation of the the lowest value of quantity in this tier. This is zero for the lowest tier. For all other tiers, it is the same as ending_unit_in_decimal of the next lower tier. Applicable only when the pricing_model is tiered, volume or stairstep and multi-decimal pricing is enabled.
tiers[ending_unit_in_decimal][0..n]
optional, string, max chars=33
The decimal representation of the highest value of quantity in this tier. This attribute is not applicable for the highest tier. For all other tiers, it must be equal to the starting_unit_in_decimal of the next higher tier. Applicable only when the pricing_model is tiered, volume or stairstep and multi-decimal pricing is enabled.
tiers[price_in_decimal][0..n]
optional, string, max chars=39
The decimal representation of the per-unit price for the tier when the pricing_model is tiered or volume. When the pricing_model is stairstep, it is the decimal representation of the total price for the plan. The value is in major units of the currency. Applicable when the plan is quantity-based and multi-decimal pricing is enabled.
+
applicable_addons
Parameters for applicable_addons. Multiple applicable_addons can be passed by specifying unique indices.
pass parameters as applicable_addons[<param name>][<idx:0..n>]
applicable_addons[id][0..n]
optional, string, max chars=100
Identifier of the addon appplicable to the plan.
+
event_based_addons
Parameters for event_based_addons. Multiple event_based_addons can be passed by specifying unique indices.
pass parameters as event_based_addons[<param name>][<idx:0..n>]
event_based_addons[id][0..n]
optional, string, max chars=100
Identifier of the addon. Multiple addons can be passed.
event_based_addons[quantity][0..n]
optional, integer, min=1
Quantity of the addon. Applicable for addons with pricing_model other than flat_fee.
event_based_addons[quantity_in_decimal][0..n]
optional, string, max chars=33
The decimal representation of the quantity of the addon purchased. Can be provided for quantity-based addons and only when multi-decimal pricing is enabled.
event_based_addons[on_event][0..n]
optional, enumerated string
Event on which the addon will be charged
Possible values are
subscription_creationAddon will be charged on subscription creation.subscription_trial_startAddon will be charged when the trial period starts.plan_activationAddon will be charged on plan activation.subscription_activationAddon will be charged on subscription activation.contract_terminationAddon will be charged on contract termination.
event_based_addons[charge_once][0..n]
optional, boolean, default=true
If enabled, the addon will be charged only at the first occurrence of the event. Applicable only for non-recurring add-ons.
+
attached_addons
Parameters for attached_addons. Multiple attached_addons can be passed by specifying unique indices.
pass parameters as attached_addons[<param name>][<idx:0..n>]
attached_addons[id][0..n]
optional, string, max chars=100
Identifier of the addon attached with the plan. Only recurring addons can be attached with the plan.
attached_addons[quantity][0..n]
optional, integer, min=1
Quantity of the addon. Applicable for addons with pricing_model other than flat_fee.
attached_addons[quantity_in_decimal][0..n]
optional, string, max chars=33
The default quantity of the addon to be attached when the quantity is not specified while creating/ updating the subscription. The value is in decimal. Can be provided for quantity-based addons and only when multi-decimal pricing is enabled.
attached_addons[billing_cycles][0..n]
optional, integer, min=1
The number of billing cycles this addon will be attached to the plan.
attached_addons[type][0..n]
optional, enumerated string
Specifies attachment type of the addon to the plan
Possible values are
recommendedAddon will be charged with this plan unless specifically removed.mandatoryAddon will be always charged with this plan.
always returned
Resource object representing plan

When updating plans that are already linked to an invoice or a subscription, you can only update the following parameters:

  • name
  • invoice_name
  • setup_cost
  • price
  • trial_period
  • trial_period_unit
  • redirect_url
  • enabled_in_hosted_pages
  • meta_data
Sample Request
curl  https://{site}.chargebee.com/api/v2/plans/cb_trial \
     -u {site_api_key}:\
     -d invoice_name="sample plan"
copy
curl  https://{site}.chargebee.com/api/v2/plans/cb_trial \
     -u {site_api_key}:\
     -d invoice_name="sample plan"

Sample Response [ JSON ]

Show more...
{"plan": { "addon_applicability": "all", "charge_model": "flat_fee", "currency_code": "USD", "enabled_in_hosted_pages": true, "enabled_in_portal": true, "free_quantity": 0, "giftable": false, "id": "cb_trial", "invoice_name": "sample plan", "is_shippable": false, "name": "CB Trial", "object": "plan", "period": 1, "period_unit": "month", "price": 0, "pricing_model": "flat_fee", "resource_version": 1517505805000, "show_description_in_invoices": false, "show_description_in_quotes": false, "status": "active", "taxable": true, "updated_at": 1517505805 }}

URL Format POST

https://{site}.chargebee.com/api/v2/plans/{plan_id}
name
optional, string, max chars=50
The display name used in web interface for identifying the plan.
invoice_name
optional, string, max chars=100
Display name used in invoice. If it is not configured then name is used in invoice.
description
optional, string, max chars=500
Description about the plan to show in the hosted pages & customer portal.
Note:
If your input contains characters that are subjected to sanitization (like incomplete HTML tags), the sanitization process might increase the length of your input. If the sanitized input exceeds the limit, your request will be rejected.
trial_period
optional, integer, min=0
The free time window for your customer to try your product. If zero is passed, the trial period will be removed.
trial_period_unit
optional, enumerated string
Time unit for the trial period.
Possible values are
dayIn daysmonthIn months
trial_end_action
optional, enumerated string
Applicable only when End-of-trial Action has been enabled for the site. Whenever the plan has a trial period, this attribute (parameter) is returned (required) and specifies the operation to be carried out for the subscription once the trial ends. This can be overridden at the subscription-level.
Possible values are
site_defaultThe action configured for the site at the time when the trial ends, takes effect.activate_subscriptionThe subscription activates and charges are raised for non-metered items.cancel_subscriptionThe subscription cancels.
period
optional, integer, min=1
Defines billing frequency. Example: to bill customer every 3 months, provide "3" here.
period_unit
optional, enumerated string
Defines billing frequency in association with billing period.
Possible values are
dayCharge based on day(s)weekCharge based on week(s)monthCharge based on month(s)yearCharge based on year(s)
setup_cost
optional, in cents, min=1
One-time setup fee charged as part of the first invoice.
price
optional, in cents, min=0
The price of the plan. The unit depends on the type of currency.
price_in_decimal
optional, string, max chars=39
The price of the plan when the pricing_model is flat_fee. When the pricing model is per_unit, it is the price per unit quantity of the plan. Not applicable for the other pricing models. The value is in decimal and in major units of the currency. Also, this is only applicable when multi-decimal pricing is enabled. .
currency_code
optional, string, max chars=3
The currency code (ISO 4217 format) of the plan. Applicable if Multicurrency is enabled.
billing_cycles
optional, integer, min=1
The number of billing cycles the subscription is active. The subscription is moved to non renewing state and then to cancelled state automatically.
pricing_model
optional, enumerated string
Defines how the recurring charges for the subscription is calculated.
Possible values are
flat_feeA fixed price that is not quantity-based.per_unitA fixed price per unit quantity.tieredThe per unit price is based on the tier that the total quantity falls in.volumeThere are quantity tiers for which per unit prices are set. Quantities are purchased from successive tiers.stairstepA quantity-based pricing scheme. The item is charged a fixed price based on the tier that the total quantity falls in.
free_quantity
optional, integer, min=0
Free quantity the subscriptions of this plan will have. Only the quantity more than this will be charged for the subscription.
free_quantity_in_decimal
optional, string, max chars=33
The quantity of the plan that is available free-of-charge, represented in decimal. When a subscription is created for this plan or when the plan of a subscription is changed to this one, only the quantity above this number is charged for. Applicable for quantity-based plans and only when multi-decimal pricing is enabled. .
addon_applicability
optional, enumerated string
Indicates if all or only some addons are applicable with the plan.
Possible values are
allAll addons are applicable with this plan.restrictedOnly addons marked as 'applicable_addons' are applicable with the plan.
redirect_url
optional, string, max chars=500
The url to redirect on successful checkout. Eg: https://yoursite.com/success.html?plan=basic.
enabled_in_hosted_pages
optional, boolean
If true, allow checkout through plan specific hosted page URL for this plan.
enabled_in_portal
optional, boolean
If enabled, customers can switch to this plan using the 'Change Subscription' option in the customer portal.
taxable
optional, boolean
Specifies whether taxes apply to this plan. This value is set and returned even if Taxes have been disabled in Chargebee. However, the value is effective only while Taxes are enabled.
tax_profile_id
optional, string, max chars=50
Tax profile of the plan.
tax_code
optional, string, max chars=50
The Avalara tax codes to which items are mapped to should be provided here. Applicable only if you use Chargebee's AvaTax for Sales integration.
hsn_code
optional, string, max chars=50
The HSN code to which the item is mapped for calculating the customer’s tax in India. Applicable only when both of the following conditions are true: .
taxjar_product_code
optional, string, max chars=50
The TaxJar product codes to which items are mapped to should be provided here. Applicable only if you use Chargebee's TaxJar integration.
avalara_sale_type
optional, enumerated string
Indicates the type of sale carried out. This is applicable only if you use Chargebee’s AvaTax for Communications integration.
Possible values are
wholesaleTransaction is a sale to another company that will resell your product or service to another consumerretailTransaction is a sale to an end userconsumedTransaction is for an item that is consumed directlyvendor_useTransaction is for an item that is subject to vendor use tax
avalara_transaction_type
optional, integer
Indicates the type of product to be taxed. Values for this field can be taken from Avalara. This is applicable only if you use Chargebee’s AvaTax for Communications integration.
avalara_service_type
optional, integer
Indicates the type of service for the product to be taxed. Values for this field can be taken from Avalara. This is applicable only if you use Chargebee’s AvaTax for Communications integration.
sku
optional, string, max chars=100
The field is used as Product name/code in your third party accounting application. Chargebee will use it as an alternate name in your accounting application.
accounting_code
optional, string, max chars=100
This field is to capture the Account code setup in your Accounting system for integration purposes only.
accounting_category1
optional, string, max chars=100
Used exclusively with the following accounting integrations
  • Xero: If you’ve categorized your products in Xero, provide the category name and option. Use the format: <category-name>: <option>. For example:Location: Singapore.
  • QuickBooks: If you’ve categorized your product sales in QuickBooks according to Classes, provide the class name here. Use the following format: <parent class>:<sub-class-1>:<sub-class-2>...
  • NetSuite: If you’ve categorized your products in NetSuite under Classes, provide the class name here. Use the following format: <parent class> : <sub-class-1> : <sub-class2> .... For example: Services : Plan.
  • Intacct: If you’ve classified your products in Intacct under Locations, provide the name of the Location here.
.
accounting_category2
optional, string, max chars=100
Used exclusively with the following accounting integrations
  • Xero: If you’ve categorized your products in Xero, then provide the second category name and option here. Use the format: <category-name>: <option>.... For example, Region: South
  • QuickBooks: If you’ve categorized your product sales in QuickBooks according to Location, provide the Location name here. Use the following format: <parent-location>:<sub-location-1>:<sub-location-2>.... For example: Location: North America: Canada
  • NetSuite: If you’ve categorized your products in NetSuite under Locations, provide the location name here. Use the following format <parent-location> : <sub-location-1>: <sub-location-2>.... For example: NA:US:CA
  • Intacct: If you’ve classified your products in Intacct under Dimensions, provide the value of the Dimension here.
.
accounting_category3
optional, string, max chars=100
Used exclusively with the following accounting integrations
  • NetSuite: If you’ve categorized your products in NetSuite under Departments, pass the department name here. Use the following format: <parent-department> : <sub-department-1>: <sub-department-2>.... For example: Production: Assembly.
  • Intacct: If you’ve classified your products in Intacct under multiple Dimensions, provide the value of the second Dimension here.
.
accounting_category4
optional, string, max chars=100
Used exclusively with the following accounting integrations
  • NetSuite: Provide the “Revenue Recognition Rule Id” for the product from NetSuite.
  • Intacct: If you have configured “Revenue Recognition Templates” for products in Intacct, provide the template ID for the product.
.
is_shippable
optional, boolean
If enabled, charges for this plan/addon will be added to orders.
shipping_frequency_period
optional, integer, min=1
Defines the shipping frequency. Example: to bill customer every 2 weeks, provide "2" here.
shipping_frequency_period_unit
optional, enumerated string
Defines the shipping frequency in association with shipping period.
Possible values are
yearShip based on year(s)monthShip based on month(s)weekShip based on week(s)dayShip based on day(s)
invoice_notes
optional, string, max chars=2000
A customer-facing note added to all invoices associated with this API resource. This note becomes one among all the notes displayed on the invoice PDF.
meta_data
optional, jsonobject
A set of key-value pairs stored as additional information for the plan. Learn more.
show_description_in_invoices
optional, boolean
Whether the plan.description should be shown on invoice PDFs. If this Boolean is changed, only invoices generated (or regenerated )after the change are affected; past invoices are not.
show_description_in_quotes
optional, boolean
Whether the plan description should be shown on quote PDFs. If this Boolean is changed, only quotes created after the change are affected; past quotes are not.
+
tiers
Parameters for tiers. Multiple tiers can be passed by specifying unique indices.
pass parameters as tiers[<param name>][<idx:0..n>]
tiers[starting_unit][0..n]
optional, integer, min=1
The lower limit of a range of units for the tier
tiers[ending_unit][0..n]
optional, integer
The upper limit of a range of units for the tier
tiers[price][0..n]
optional, in cents, min=0
The per-unit price for the tier when the pricing_model is tiered or volume; the total cost for the item price when the pricing_model is stairstep. The value is in the minor unit of the currency.
tiers[starting_unit_in_decimal][0..n]
optional, string, max chars=33
The decimal representation of the the lowest value of quantity in this tier. This is zero for the lowest tier. For all other tiers, it is the same as ending_unit_in_decimal of the next lower tier. Applicable only when the pricing_model is tiered, volume or stairstep and multi-decimal pricing is enabled.
tiers[ending_unit_in_decimal][0..n]
optional, string, max chars=33
The decimal representation of the highest value of quantity in this tier. This attribute is not applicable for the highest tier. For all other tiers, it must be equal to the starting_unit_in_decimal of the next higher tier. Applicable only when the pricing_model is tiered, volume or stairstep and multi-decimal pricing is enabled.
tiers[price_in_decimal][0..n]
optional, string, max chars=39
The decimal representation of the per-unit price for the tier when the pricing_model is tiered or volume. When the pricing_model is stairstep, it is the decimal representation of the total price for the plan. The value is in major units of the currency. Applicable when the plan is quantity-based and multi-decimal pricing is enabled.
+
applicable_addons
Parameters for applicable_addons. Multiple applicable_addons can be passed by specifying unique indices.
pass parameters as applicable_addons[<param name>][<idx:0..n>]
applicable_addons[id][0..n]
optional, string, max chars=100
Identifier of the addon appplicable to the plan.
+
event_based_addons
Parameters for event_based_addons. Multiple event_based_addons can be passed by specifying unique indices.
pass parameters as event_based_addons[<param name>][<idx:0..n>]
event_based_addons[id][0..n]
optional, string, max chars=100
Identifier of the addon. Multiple addons can be passed.
event_based_addons[quantity][0..n]
optional, integer, min=1
Quantity of the addon. Applicable for addons with pricing_model other than flat_fee.
event_based_addons[quantity_in_decimal][0..n]
optional, string, max chars=33
The decimal representation of the quantity of the addon purchased. Can be provided for quantity-based addons and only when multi-decimal pricing is enabled.
event_based_addons[on_event][0..n]
optional, enumerated string
Event on which the addon will be charged
Possible values are
subscription_creationAddon will be charged on subscription creation.subscription_trial_startAddon will be charged when the trial period starts.plan_activationAddon will be charged on plan activation.subscription_activationAddon will be charged on subscription activation.contract_terminationAddon will be charged on contract termination.
event_based_addons[charge_once][0..n]
optional, boolean
If enabled, the addon will be charged only at the first occurrence of the event. Applicable only for non-recurring add-ons.
+
attached_addons
Parameters for attached_addons. Multiple attached_addons can be passed by specifying unique indices.
pass parameters as attached_addons[<param name>][<idx:0..n>]
attached_addons[id][0..n]
optional, string, max chars=100
Identifier of the addon attached with the plan. Only recurring addons can be attached with the plan.
attached_addons[quantity][0..n]
optional, integer, min=1
Quantity of the addon. Applicable for addons with pricing_model other than flat_fee.
attached_addons[quantity_in_decimal][0..n]
optional, string, max chars=33
The default quantity of the addon to be attached when the quantity is not specified while creating/ updating the subscription. The value is in decimal. Can be provided for quantity-based addons and only when multi-decimal pricing is enabled.
attached_addons[billing_cycles][0..n]
optional, integer, min=1
The number of billing cycles this addon will be attached to the plan.
attached_addons[type][0..n]
optional, enumerated string
Specifies attachment type of the addon to the plan
Possible values are
recommendedAddon will be charged with this plan unless specifically removed.mandatoryAddon will be always charged with this plan.
always returned
Resource object representing plan
This API fetches all the active and archived plans. If the limit parameter is not set, it will return upto 10 plans
Sample Request
curl  https://{site}.chargebee.com/api/v2/plans \
     -G  \
     -u {site_api_key}:\
     --data-urlencode limit=3 \
     --data-urlencode status[is]="active"
copy
curl  https://{site}.chargebee.com/api/v2/plans \
     -G  \
     -u {site_api_key}:\
     --data-urlencode limit=3 \
     --data-urlencode status[is]="active"

Sample Response [ JSON ]

Show more...
{ "list": [ {"plan": { "addon_applicability": "all", "charge_model": "tiered", "currency_code": "USD", "enabled_in_hosted_pages": true, "enabled_in_portal": true, "free_quantity": 0, "giftable": false, "id": "tiered_plan", "invoice_name": "sample Tiered Plan", "is_shippable": false, "name": "Tiered Plan", "object": "plan", "period": 1, "period_unit": "month", "pricing_model": "tiered", "resource_version": 1517505798000, "show_description_in_invoices": false, "show_description_in_quotes": false, "status": "active", "taxable": true, "tiers": [ { "ending_unit": 10, "object": "tier", "price": 100, "starting_unit": 1 }, {..} ], "updated_at": 1517505798 }}, {..} ], "next_offset": "[\"100\",\"149000010672\"]" }

URL Format GET

https://{site}.chargebee.com/api/v2/plans
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.
include_deleted
optional, boolean, default=false
If set to true, includes the deleted resources in the response. For the deleted resources in the response, the 'deleted' attribute will be 'true'.
Filter Params
For operator usages, see the Pagination and Filtering section.
id[<operator>]
optional, string filter
A unique ID for your system to identify the plan.
Supported operators : is, is_not, starts_with, in, not_in

Example id[is] = "Enterprise"
name[<operator>]
optional, string filter
The display name used in web interface for identifying the plan.
Supported operators : is, is_not, starts_with, in, not_in

Example name[is] = "plan_enterprise"
price[<operator>]
optional, in cents filter
The price of the plan. The unit depends on the type of currency.
Supported operators : is, is_not, lt, lte, gt, gte, between

Example price[gte] = "1200"
period[<operator>]
optional, integer filter
Defines billing frequency. Example: to bill customer every 3 months, provide "3" here.
Supported operators : is, is_not, lt, lte, gt, gte, between

Example period[is_not] = "3"
period_unit[<operator>]
optional, enumerated string filter
Defines billing frequency in association with billing period. Possible values are : day, week, month, year.
Supported operators : is, is_not, in, not_in

Example period_unit[is] = "month"
trial_period[<operator>]
optional, integer filter
The free time window for your customer to try your product.
Supported operators : is, is_not, lt, lte, gt, gte, between, is_present

Example trial_period[gte] = "14"
trial_period_unit[<operator>]
optional, enumerated string filter
Time unit for the trial period. Possible values are : day, month.
Supported operators : is, is_not, in, not_in

Example trial_period_unit[is] = "day"
addon_applicability[<operator>]
optional, enumerated string filter
Indicates if all or only some addons are applicable with the plan. Possible values are : all, restricted.
Supported operators : is, is_not, in, not_in

Example addon_applicability[is_not] = "all"
giftable[<operator>]
optional, boolean filter
Specifies if the plan should be gifted or not. Possible values are : true, false
Supported operators : is

Example giftable[is] = "true"
pricing_model[<operator>]
optional, enumerated string filter
Defines how the recurring charges for the subscription is calculated. Possible values are : flat_fee, per_unit, tiered, volume, stairstep.
Supported operators : is, is_not, in, not_in

Example pricing_model[is] = "flat_fee"
status[<operator>]
optional, enumerated string filter
The plan state. Possible values are : active, archived, deleted.
Supported operators : is, is_not, in, not_in

Example status[is] = "active"
updated_at[<operator>]
optional, timestamp(UTC) in seconds filter
To filter based on updated at. This attribute will be present only if the resource has been updated after 2016-11-09.
Supported operators : after, before, on, between

Example updated_at[before] = "1243545465"
currency_code[<operator>]
optional, string filter
The currency code (ISO 4217 format) of the plan.
Supported operators : is, is_not, starts_with, in, not_in

Example currency_code[is] = "USD"
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"
always returned
Resource object representing plan
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”.
This endpoint retrieves a specific plan using the plan id.
Sample Request
curl  https://{site}.chargebee.com/api/v2/plans/sub_free \
     -u {site_api_key}:
copy
curl  https://{site}.chargebee.com/api/v2/plans/sub_free \
     -u {site_api_key}:

Sample Response [ JSON ]

Show more...
{"plan": { "addon_applicability": "all", "charge_model": "per_unit", "currency_code": "USD", "enabled_in_hosted_pages": true, "enabled_in_portal": true, "free_quantity": 0, "giftable": false, "id": "sub_free", "is_shippable": false, "name": "sub_Free", "object": "plan", "period": 1, "period_unit": "month", "price": 0, "pricing_model": "per_unit", "show_description_in_invoices": false, "show_description_in_quotes": false, "status": "active", "taxable": true }}

URL Format GET

https://{site}.chargebee.com/api/v2/plans/{plan_id}
always returned
Resource object representing plan

Sample admin console URL

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

Deletes or archives a plan. This endpoint behaves differently based on the scenarios listed below:

  • When the plan has subscriptions/invoices linked, it is not deleted. Instead, it is moved to the archived state. Subscriptions already on it continue to renew. However, until the plan is unarchived,
    • No other subscription can use the plan
    • You cannot update the plan
  • When the plan does not have any subscriptions or invoices linked to it, the endpoint permanently deletes the plan from your Chargebee site. You cannot undo this action.

Sample Request
curl  https://{site}.chargebee.com/api/v2/plans/demo_plan/delete \
     -X POST  \
     -u {site_api_key}:
copy
curl  https://{site}.chargebee.com/api/v2/plans/demo_plan/delete \
     -X POST  \
     -u {site_api_key}:

Sample Response [ JSON ]

Show more...
{"plan": { "addon_applicability": "all", "charge_model": "flat_fee", "currency_code": "USD", "enabled_in_hosted_pages": true, "enabled_in_portal": true, "free_quantity": 0, "giftable": false, "id": "demo_plan", "invoice_name": "demo plan", "is_shippable": false, "name": "Demo plan", "object": "plan", "period": 1, "period_unit": "month", "price": 5000, "pricing_model": "flat_fee", "resource_version": 1600968201320, "show_description_in_invoices": false, "show_description_in_quotes": false, "status": "deleted", "taxable": true, "updated_at": 1600968201 }}

URL Format POST

https://{site}.chargebee.com/api/v2/plans/{plan_id}/delete
always returned
Resource object representing plan

Creates a plan in this site by copying its configurations from another site. Copying of archived plans is not supported.

Note: The attribute tax_profile_id is not copied. In effect, if the plan is taxable, it will be mapped to the Primary tax profile.

This API is not enabled for live sites by default. Please contact support to get this enabled.
Sample Request
curl  https://{site}.chargebee.com/api/v2/plans/copy \
     -u {site_api_key}:\
     -d from_site="merchant-test" \
     -d id_at_from_site="silver-plan-new"
copy
curl  https://{site}.chargebee.com/api/v2/plans/copy \
     -u {site_api_key}:\
     -d from_site="merchant-test" \
     -d id_at_from_site="silver-plan-new"

Sample Response [ JSON ]

Show more...
{"plan": { "addon_applicability": "all", "charge_model": "flat_fee", "currency_code": "USD", "description": "200 invoices per month included.", "enabled_in_hosted_pages": false, "enabled_in_portal": false, "free_quantity": 0, "giftable": false, "id": "silver-plan-new", "invoice_name": "Silver Plan", "is_shippable": false, "meta_data": { "allowed_invoices_count": 200, "feature_sets": [ { "base_feature_set": "standard-plan-feb-2016", "id": "silver-plan-new" }, {..} ], "invoices_count_threshold_rules": [ { "action": "add_addon_for_overage_invoices", "addon_id": "additional_overage_invoices_one_time", "extra_value_from": 1, "extra_value_to": -1, "order": 1 }, {..} ] }, "name": "Silver Plan New", "object": "plan", "period": 1, "period_unit": "month", "price": 7900, "pricing_model": "flat_fee", "resource_version": 1517505796000, "show_description_in_invoices": false, "show_description_in_quotes": false, "status": "active", "taxable": true, "trial_period": 1, "trial_period_unit": "month", "updated_at": 1517505796 }}

URL Format POST

https://{site}.chargebee.com/api/v2/plans/copy
from_site
required, string, max chars=50
Your Chargebee site name having the plan to be copied.
Note: Unless you are copying from a twin site (acme & acme-test are twin sites), contact support to have this allow-listed.
id_at_from_site
required, string, max chars=100
Id of the plan to be copied. The new plan created in this site will have the same Id.
id
optional, string, max chars=100
Id of copied plan in this site.
for_site_merging
optional, boolean, default=false
If copy action is performed as part of Chargebee site merge action, pass the value as true.
always returned
Resource object representing plan
This endpoint unarchives a specific plan which was archived earlier.
Sample Request
curl  https://{site}.chargebee.com/api/v2/plans/archieved_plan/unarchive \
     -X POST  \
     -u {site_api_key}:
copy
curl  https://{site}.chargebee.com/api/v2/plans/archieved_plan/unarchive \
     -X POST  \
     -u {site_api_key}:

Sample Response [ JSON ]

Show more...
{"plan": { "addon_applicability": "all", "charge_model": "flat_fee", "currency_code": "USD", "enabled_in_hosted_pages": true, "enabled_in_portal": true, "free_quantity": 0, "giftable": false, "id": "archieved_plan", "is_shippable": false, "name": "Archieved Plan", "object": "plan", "period": 1, "period_unit": "month", "price": 0, "pricing_model": "flat_fee", "resource_version": 1517505804000, "show_description_in_invoices": false, "show_description_in_quotes": false, "status": "active", "taxable": true, "updated_at": 1517505804 }}

URL Format POST

https://{site}.chargebee.com/api/v2/plans/{plan_id}/unarchive
always returned
Resource object representing plan