Coupons are deductions applied to invoices or invoice line items. They’re designed to be consumed by your customers directly. A coupon deduction can either be for a fixed amount or for a percentage of the amount of the invoice or line item.
Used to uniquely identify the coupon in your website/application and to integrate with Chargebee.
Note:
When the coupon ID contains a special character; for example: #, the API returns an error.
Make sure that you encode the coupon ID in the path parameter before making an API call.
name
string, max chars=50
The display name used in web interface for identifying the coupon.
Note:
When the name of the coupon set contains a special character; for example: #, the API returns an error.
Make sure that you encode the name of the coupon set in the path parameter before making an API call.
invoice_name
optional, string, max chars=100 Display name used in invoice. If it is not configured then name is used in invoice.
discount_type
enumerated string, default=percentage The type of deduction
Possible values are
fixed_amountThe specified amount will be deducted.percentageThe specified percentage will be deducted.
discount_percentage
optional, double, min=0.01, max=100.0 The percentage of the original amount that should be deducted from it.
discount_amount
optional, in cents, min=0 The value of the deduction. The format of this value depends on the kind of currency.
currency_code
optional, string, max chars=3 The currency code (ISO 4217 format) of the coupon. Applicable for fixed_amount coupons alone.
duration_type
enumerated string, default=forever Specifies the time duration for which this coupon is attached to the subscription.
Possible values are
one_timeThe coupon stays attached to the subscription till it is applied on an invoice once. It is removed after that from the subscription.foreverThe coupon is attached to the subscription and applied on the invoices until explicitly removed.limited_periodThe discount is attached to the subscription and applied on the invoices for a limited duration. This duration starts from the point it is applied to an invoice for the first time and expires after a period specified by period and period_unit. .
valid_till
optional, timestamp(UTC) in seconds Date upto which the coupon can be applied to new subscriptions.
max_redemptions
optional, integer, min=1
Maximum number of times this coupon can be redeemed.
Note:
If not specified, the coupon can be redeemed an indefinite number of times.
status
optional, enumerated string, default=active Status of the coupon.
Possible values are
activeCan be applied to a subscription.expiredCannot be applied to a subscription. A coupon may expire due to exceeding max_redemptions or valid_till date is past. Existing associations remain unaffected.archivedCannot be applied to a subscription. Existing associations remain unaffected.deletedIndicates the coupon has been deleted.
apply_on
enumerated string The amount on the invoice to which the coupon is applied.
Possible values are
invoice_amountThe coupon is applied to the invoice sub_total.each_specified_itemThe coupon is applied to the
invoice.line_item.amount that corresponds to the plan or addon specified by
plan_ids and
addon_ids.
plan_constraint
enumerated string Plans the coupon can be applied to.
Possible values are
noneCoupon not applicable to any plans.allCoupon applicable to all plans.specificCoupon applicable to specific plan(s).not_applicableCoupon only applicable to invoice amount and not any plans.
addon_constraint
enumerated string Addons the coupon can be applied to.
Possible values are
noneCoupon not applicable to any addons.allCoupon applicable to all addons.specificCoupon applicable to specific addon(s).not_applicableCoupon only applicable to invoice amount and not any addons.
created_at
timestamp(UTC) in seconds Timestamp indicating when this coupon is created.
archived_at
optional, timestamp(UTC) in seconds Timestamp indicating when this coupon was archived.
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 this coupon was last updated. Note that this does not change when the redemptions attribute is changed. This attribute will be present only if the resource has been updated after 2016-11-09.
included_in_mrr
optional, boolean The coupon is included in MRR calculations for your site. This attribute is only applicable for coupons of duration_type = one_time and when the feature is enabled in Chargebee. Note: If the site-level setting is to exclude one-time coupons from MRR calculations, this value is always returned false.
period
optional, integer, min=1 The duration of time for which the coupon is attached to the subscription, in period_units. Applicable only when duration_type is limited_period.
period_unit
optional, enumerated string The unit of time for period. Applicable only when duration_type is limited_period.
Possible values are
dayA period of 24 hours.weekA period of 7 days.monthA period of 1 calendar month.yearA period of 1 calendar year.
plan_ids
optional, list of string List of plan ids for which this coupon is applicable.
addon_ids
optional, list of string List of addon ids for which this coupon is applicable.
redemptions
optional, integer, min=0 The number of times this coupon has been redeemed.
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 coupon. Learn more.
Used to uniquely identify the coupon in your website/application and to integrate with Chargebee.
Note:
When the coupon ID contains a special character; for example: #, the API returns an error.
Make sure that you encode the coupon ID in the path parameter before making an API call.
.
name
required, string, max chars=50
The display name used in web interface for identifying the coupon.
Note:
When the name of the coupon set contains a special character; for example: #, the API returns an error.
Make sure that you encode the name of the coupon set in the path parameter before making an API call.
.
invoice_name
optional, string, max chars=100 Display name used in invoice. If it is not configured then name is used in invoice.
discount_type
optional, enumerated string, default=percentage The type of deduction.
Possible values are
fixed_amountThe specified amount will be deducted.percentageThe specified percentage will be deducted.
discount_amount
optional, in cents, min=0 The value of the deduction. The format of this value depends on the kind of currency.
currency_code
required if Multicurrency is enabled, string, max chars=3 The currency code (ISO 4217 format) of the coupon. Applicable for fixed_amount coupons alone.
discount_percentage
optional, double, min=0.01, max=100.0 The percentage of the original amount that should be deducted from it.
apply_on
required, enumerated string The amount on the invoice to which the coupon is applied.
Possible values are
invoice_amountThe coupon is applied to the invoice sub_total.each_specified_itemThe coupon is applied to the invoice.line_item.amount that corresponds to the plan or addon specified by plan_ids and addon_ids.
duration_type
optional, enumerated string, default=forever Specifies the time duration for which this coupon is attached to the subscription.
Possible values are
one_timeThe coupon stays attached to the subscription till it is applied on an invoice once. It is removed after that from the subscription.foreverThe coupon is attached to the subscription and applied on the invoices until explicitly removed.limited_periodThe discount is attached to the subscription and applied on the invoices for a limited duration. This duration starts from the point it is applied to an invoice for the first time and expires after a period specified by period and period_unit.
duration_month
optional, integer, min=1, max=240 (Deprecated) The duration of time in months for which the coupon is attached to the subscription. Applicable only when duration_type is limited_period. Note: This parameter has been deprecated. Use period and period_unit instead.
valid_till
optional, timestamp(UTC) in seconds Date upto which the coupon can be applied to new subscriptions.
max_redemptions
optional, integer, min=1
Maximum number of times this coupon can be redeemed.
Note:
If not specified, the coupon can be redeemed an indefinite number of times.
.
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 coupon. Learn more.
included_in_mrr
optional, boolean The coupon is included in MRR calculations for your site. This attribute is only applicable for coupons of duration_type = one_time and when the feature is enabled in Chargebee. Note: If the site-level setting is to exclude one-time coupons from MRR calculations, this value is always returned false.
period
optional, integer, min=1 The duration of time for which the coupon is attached to the subscription, in period_units. Applicable only when duration_type is limited_period.
period_unit
optional, enumerated string The unit of time for period. Applicable only when duration_type is limited_period.
Possible values are
dayA period of 24 hours.weekA period of 7 days.monthA period of 1 calendar month.yearA period of 1 calendar year.
plan_constraint
optional, enumerated string Plans the coupon can be applied to.
Possible values are
noneCoupon not applicable to any plans.allCoupon applicable to all plans.specificCoupon only applicable to specified plans. If used, it is mandatory to specify the plan(s).
addon_constraint
optional, enumerated string Addons the coupon can be applied to.
Possible values are
noneCoupon not applicable to any addons.allCoupon applicable to all addons.specificCoupon only applicable to specified addons. If used, it is mandatory to specify the addon(s).
plan_ids[0..n]
optional, list of string Identifier of the plan.
addon_ids[0..n]
optional, list of string Identifier of the addon.
status
optional, enumerated string, default=active Status of the coupon.
Possible values are
activeCan be applied to a subscription.archivedCannot be applied to a subscription. Existing associations remain unaffected.
List all the available coupons that are created for a specific promotion or offers. You can find list of coupon codes that are currently active, expired, archived or deleted.
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 : created_at Supported sort-orders : asc, desc
Example →sort_by[asc] = "created_at" This will sort the result based on the 'created_at' attribute in ascending(earliest first) order.
Used to uniquely identify the coupon in your website/application and to integrate with Chargebee.
Note:
When the coupon ID contains a special character; for example: #, the API returns an error.
Make sure that you encode the coupon ID in the path parameter before making an API call.
. Supported operators : is, is_not, starts_with, in, not_in
Example →id[is_not] = "OFF2008"
name[<operator>]
optional, string filter
The display name used in web interface for identifying the coupon.
Note:
When the name of the coupon set contains a special character; for example: #, the API returns an error.
Make sure that you encode the name of the coupon set in the path parameter before making an API call.
. Supported operators : is, is_not, starts_with, in, not_in
Example →name[is] = "Offer 10"
discount_type[<operator>]
optional, enumerated string filter The type of deduction. Possible values are : fixed_amount, percentage. Supported operators : is, is_not, in, not_in
Example →discount_type[is] = "fixed_amount"
duration_type[<operator>]
optional, enumerated string filter Specifies the time duration for which this coupon is attached to the subscription. Possible values are : one_time, forever, limited_period. Supported operators : is, is_not, in, not_in
Example →duration_type[is] = "forever"
status[<operator>]
optional, enumerated string filter Status of the coupon. Possible values are : active, expired, archived, deleted. Supported operators : is, is_not, in, not_in
Example →status[is_not] = "active"
apply_on[<operator>]
optional, enumerated string filter The amount on the invoice to which the coupon is applied. Possible values are : invoice_amount, each_specified_item. Supported operators : is, is_not, in, not_in
Example →apply_on[is] = "invoice_amount"
created_at[<operator>]
optional, timestamp(UTC) in seconds filter Timestamp indicating when this coupon is created. Supported operators : after, before, on, between
Example →created_at[on] = "145222875"
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[after] = "1243545465"
currency_code[<operator>]
optional, string filter The currency code (ISO 4217 format) of the coupon. Applicable for fixed_amount coupons alone. Supported operators : is, is_not, starts_with, in, not_in
always returned
Resource object representing coupon
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”.
The display name used in web interface for identifying the coupon.
Note:
When the name of the coupon set contains a special character; for example: #, the API returns an error.
Make sure that you encode the name of the coupon set in the path parameter before making an API call.
.
invoice_name
optional, string, max chars=100 Display name used in invoice. If it is not configured then name is used in invoice.
discount_type
optional, enumerated string The type of deduction.
Possible values are
fixed_amountThe specified amount will be deducted.percentageThe specified percentage will be deducted.
discount_amount
optional, in cents, min=0 The value of the deduction. The format of this value depends on the kind of currency.
currency_code
required if Multicurrency is enabled, string, max chars=3 The currency code (ISO 4217 format) of the coupon. Applicable for fixed_amount coupons alone.
discount_percentage
optional, double, min=0.01, max=100.0 The percentage of the original amount that should be deducted from it.
apply_on
optional, enumerated string The amount on the invoice to which the coupon is applied.
Possible values are
invoice_amountThe coupon is applied to the invoice sub_total.each_specified_itemThe coupon is applied to the invoice.line_item.amount that corresponds to the plan or addon specified by plan_ids and addon_ids.
duration_type
optional, enumerated string Specifies the time duration for which this coupon is attached to the subscription.
Possible values are
one_timeThe coupon stays attached to the subscription till it is applied on an invoice once. It is removed after that from the subscription.foreverThe coupon is attached to the subscription and applied on the invoices until explicitly removed.limited_periodThe discount is attached to the subscription and applied on the invoices for a limited duration. This duration starts from the point it is applied to an invoice for the first time and expires after a period specified by period and period_unit.
duration_month
optional, integer, min=1, max=240 (Deprecated) The duration of time in months for which the coupon is attached to the subscription. Applicable only when duration_type is limited_period. Note: This parameter has been deprecated. Use period and period_unit instead.
valid_till
optional, timestamp(UTC) in seconds Date upto which the coupon can be applied to new subscriptions.
max_redemptions
optional, integer, min=1
Maximum number of times this coupon can be redeemed.
Note:
If not specified, the coupon can be redeemed an indefinite number of times.
.
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 coupon. Learn more.
included_in_mrr
optional, boolean The coupon is included in MRR calculations for your site. This attribute is only applicable for coupons of duration_type = one_time and when the feature is enabled in Chargebee. Note: If the site-level setting is to exclude one-time coupons from MRR calculations, this value is always returned false.
period
optional, integer, min=1 The duration of time for which the coupon is attached to the subscription, in period_units. Applicable only when duration_type is limited_period.
period_unit
optional, enumerated string The unit of time for period. Applicable only when duration_type is limited_period.
Possible values are
dayA period of 24 hours.weekA period of 7 days.monthA period of 1 calendar month.yearA period of 1 calendar year.
plan_constraint
optional, enumerated string Plans the coupon can be applied to.
Possible values are
noneCoupon not applicable to any plans.allCoupon applicable to all plans.specificCoupon only applicable to specified plans. If used, it is mandatory to specify the plan(s).
addon_constraint
optional, enumerated string Addons the coupon can be applied to.
Possible values are
noneCoupon not applicable to any addons.allCoupon applicable to all addons.specificCoupon only applicable to specified addons. If used, it is mandatory to specify the addon(s).
If no Subscriptions/Invoices are linked to this Coupon, the Coupon will be deleted from your Chargebee site. This action cannot be undone.
To ensure that existing Subscriptions/Invoices are not affected, Coupons associated with them will not be deleted, but moved to "Archived" state. Once a Coupon has been archived, it cannot be edited or used again unless unarchived. Unused Coupons codes are deleted.
Sample Request
curl https://{site}.chargebee.com/api/v2/coupons/beta/delete \
-X POST \
-u {site_api_key}:
copy
curl https://{site}.chargebee.com/api/v2/coupons/beta/delete \
-X POST \
-u {site_api_key}:
Creates a coupon in this site by copying its configurations from another site. Copying of archived coupons is not supported.
Note:
The plans and addons (refer plan_constraint, plan_ids, addon_constraint, addon_ids) that are linked will also be copied. E.g. in the source site, the coupon C1 has P1 and P2 as applicable plans. Now, if in the destination site only the plan P1 is present, the newly created coupon will have only P1 as the applicable plan. So we recommend that you copy the necessary plans and addons before copying the coupons.
The 'redemptions' count is not copied. It will be 0 for the newly created coupon. Hence, if you are copying a Expired coupon (expired because max_redemptions is reached), its status will be 'Active' when created.
This API is not enabled for live sites by default. Please contact support to get this enabled.
required, string, max chars=50 Your Chargebee site name having the coupon 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 coupon to be copied. The new coupon created in this site will have the same Id.
id
optional, string, max chars=100 Id of copied coupon 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. Note: If this parameter is passed true coupon state, redmeptions, coupon set and coupon codes associated with this coupon will be copied.