A quote is an estimate of the invoice with the charges likely to occur when customers buy an item. A quote can be converted to a regular invoice once the customer accepts it.
The line items of a quote are grouped by charge events and are available as a separate resource. This resource can be retrieved using the List quote line groups endpoint. Note that the first quote line group is available within the quote resource itself and parsing the quote line groups object is not required.
Sample quote [ JSON ]
{
"amount_due": 500,
"amount_paid": 0,
"billing_address": {
"first_name": "John",
"last_name": "Doe",
"object": "billing_address",
"validation_status": "not_validated"
},
"charge_on_acceptance": 500,
"credits_applied": 0,
"currency_code": "USD",
"customer_id": "__test__KyVnHhSBWTO25CR",
"date": 1517501504,
"id": "10",
"line_item_discounts": [],
"line_item_taxes": [],
"line_items": [{
"amount": 500,
"customer_id": "__test__KyVnHhSBWTO25CR",
"date_from": 1517501504,
"date_to": 1517501504,
"description": "Service Charge",
"discount_amount": 0,
"entity_type": "adhoc",
"id": "__test__KyVnHhSBWTO5pCa",
"is_taxed": false,
"item_level_discount_amount": 0,
"object": "line_item",
"pricing_model": "flat_fee",
"quantity": 1,
"tax_amount": 0,
"unit_amount": 500
}],
"object": "quote",
"operation_type": "onetime_invoice",
"price_type": "tax_exclusive",
"resource_version": 1517501504000,
"status": "open",
"sub_total": 500,
"taxes": [],
"total": 500,
"total_payable": 500,
"updated_at": 1517501504,
"valid_till": 1517596199,
"version": 1
}
API Index URL GET
https://{site}.chargebee.com/api/v2/quotes
The quote number. Acts as a identifier for quote and typically generated sequentially.
string, max chars=50
The quote name will be used as the pdf name of the quote.
optional, string, max chars=100
Purchase Order Number.
optional, string, max chars=100
The identifier of the customer this quote belongs to.
string, max chars=50
The identifier of the subscription this quote belongs to.
optional, string, max chars=50
The identifier of the invoice generated while converting this quote.
optional, string, max chars=50
Current status of this quote.
enumerated stringPossible values are
openOpen.acceptedAccepted.declinedDeclined.invoicedInvoiced.closedClosed.
Operation Type.
enumerated stringPossible values are
create_subscription_for_customercreate_subscription_for_customer.change_subscriptionchange_subscription.onetime_invoiceonetime_invoice.
VAT/ Tax registration number of the customer.
Learn more.
optional, string, max chars=20
The price type of the quote.
enumerated string, default=tax_exclusivePossible values are
tax_exclusiveAll amounts in the document are exclusive of tax.tax_inclusiveAll amounts in the document are inclusive of tax.
Quote will be valid till this date. After this date quote will be marked as closed.
timestamp(UTC) in seconds
Creation date of the quote. Typically this is the date on which quote is generated.
timestamp(UTC) in seconds
Total contract value. Applicable when multi billing cycle quote is enabled.
optional, in cents, min=0
Charge on acceptance. Applicable when multi billing cycle quote is enabled.
optional, in cents, default=0, min=0
Subtotal (in cents) of the first quote line group.
in cents, min=0
Total (in cents) of the first quote line group.
optional, in cents, default=0, min=0
Credits applied (in cents) for the first quote line group.
optional, in cents, default=0, min=0
Existing outstanding payments (in cents) if any, applied to the first quote line group.
optional, in cents, default=0, min=0
Amount due (in cents) for the first quote line group.
optional, in cents, default=0, min=0
Version of the quote.
optional, integer, default=1
Version number of this resource. Each update of this resource results in incremental change of this number. This attribute will be present only if the resource has been updated after 2016-09-28.
optional, long
Timestamp indicating when this quote was last updated.
optional, timestamp(UTC) in seconds
The currency code (ISO 4217 format) of the quote.
string, max chars=3
List of notes associated with this quotes.
optional, jsonarray
Specifies the contract term’s start date.
optional, timestamp(UTC) in seconds
Specifies the contract term’s end date. It indicates when the action set in action_at_term_end
gets triggered.
optional, timestamp(UTC) in seconds
contract_term_termination_fee
Specifies the charge to be applied for terminating the contract term.
optional, in cents, min=0
The list of items for the first quote line group.
optional, list of line_item
Uniquely identifies a line_item.
optional, string, max chars=40
A unique identifier for the subscription this line item belongs to.
optional, string, max chars=3
Start date of this line item.
timestamp(UTC) in seconds
End date of this line item.
timestamp(UTC) in seconds
Unit amount of the line item.
in cents
- Product Catalog 2.0: Quantity of the recurring item which is represented by this line item. For
metered
line
items, this value is updated from usages once when the invoice is generated as pending
and finally when the
invoice is closed.
- Product Catalog 1.0: Quantity of the recurring item which is represented by this line item.
.
optional, integer, default=1
Total amount of this line item. Typically equals to unit amount x quantity.
optional, in cents
The
pricing scheme for this item. In Product Catalog v2, the
pricing scheme for this item price.
optional, enumerated stringPossible 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.
Specifies whether this line item is taxed or not.
boolean, default=false
The tax amount charged for this item.
optional, in cents, default=0, min=0
Rate of tax used to calculate tax for this lineitem.
optional, double, min=0.0, max=100.0
The decimal representation of the unit amount of the
line_item
. The value is in major units of the currency. Returned when the
line_item
is quantity-based and
multi-decimal pricing is enabled.
optional, string, max chars=33
The decimal representation of the quantity of this line_item. Returned when the
line_item
is quantity-based and
multi-decimal pricing is enabled.
optional, string, max chars=33
The decimal representation of the amount for the
line_item
, in major units of the currency. Typically equals to
unit_amount_in_decimal
x
quantity_in_decimal
. Returned when
multi-decimal pricing is enabled.
optional, string, max chars=33
Total discounts for this line.
optional, in cents, min=0
item_level_discount_amount
Line Item-level discounts for this line.
optional, in cents, min=0
Detailed description about this line item.
string, max chars=250
Detailed description about this item.
string, max chars=500
Specifies the modelled entity this line item is based on.
enumerated stringPossible values are
plan_setupIndicates that this lineitem is based on 'Plan Setup' charge. The 'entity_id' attribute specifies the plan id.planIndicates that this lineitem is based on 'Plan' entity. The 'entity_id' attribute specifies the plan id.addonIndicates that this lineitem is based on 'Addon' entity. The 'entity_id' attribute specifies the addon id.adhocIndicates that this lineitem is not modelled. i.e created adhoc. So the 'entity_id' attribute will be null in this case.
The reason due to which the line item price/amount is exempted from tax.
optional, enumerated stringPossible values are
tax_not_configuredIf tax is not enabled for the site.region_non_taxableIf the product sold is not taxable in this region, but it is taxable in other regions, hence this region is not part of the Taxable jurisdiction.exportYou are not registered for tax in the customer’s region. This is also the reason code when both billing_address
and shipping_address
have not been provided for the customer and subscription respectively.customer_exemptIf the Customer is marked as Tax exempt.product_exemptIf the Plan or Addon is marked as Tax exempt.zero_ratedIf the rate of tax is 0% and no Sales/ GST tax is collectable for that line item.reverse_chargeIf the Customer is identified as B2B customer (when VAT Number is entered), applicable for EU only.high_value_physical_goodsIf physical goods are sold from outside Australia to customers in Australia, and the price of all the physical good line items is greater than AUD 1000, then tax will not be applied.
The identifier of the modelled entity this line item is based on. Will be null for 'adhoc' entity type.
optional, string, max chars=100
A unique identifier for the customer this line item belongs to.
optional, string, max chars=100
The list of discounts applied to the first quote line group.
optional, list of discount
Discount amount.
in cents, min=0
Detailed description of this discount line item.
optional, string, max chars=250
Type of this Discount line item.
enumerated stringPossible values are
item_level_couponRepresents the 'Item' level coupons applied to this invoice. Further the 'entity_id' attribute specifies the coupon id this discount is based on.document_level_couponRepresents the 'Document' level coupons applied to this document. Further the 'entity_id' attribute specifies the coupon id this discount is based on.promotional_creditsRepresents the Promotional Credits item in invoice. The 'entity_id' attribute will be null in this case.prorated_creditsRepresents the credit adjustment items in invoice. The 'entity_id' attribute will be null in this case.
The identifier of the modelled entity this line item is based on. Will be null for 'Prorated Credits' & 'Promotional Credits'.
optional, string, max chars=100
The list of discount(s) applied for each line item of the first quote line group.
optional, list of line_item_discount
Line item discount attributes
The unique reference id of the line item for which the discount is applicable.
string, max chars=50
Type of this discount line item.
enumerated stringPossible values are
item_level_couponRepresents the 'Item' level coupons applied to this invoice. Further the 'coupon_id' attribute specifies the coupon id this discount is based on.document_level_couponRepresents the 'Document' level coupons applied to this document. Further the 'coupon_id' attribute specifies the coupon id this discount is based on.promotional_creditsRepresents the Promotional Credits item in invoice. The 'coupon_id' attribute will be null in this case.prorated_creditsRepresents the credit adjustment items in invoice. The 'coupon_id' attribute will be null in this case.
Coupon id.
optional, string, max chars=50
Discount amount.
in cents, min=0
The list of taxes applied to the first quote line group.
optional, list of tax
The name of the tax applied. E.g. GST.
string, max chars=100
The tax amount.
in cents, min=0
Description of the tax item.
optional, string, max chars=250
The list of taxes applied on line items of the first quote line group.
optional, list of line_item_tax
The unique reference id of the line item for which the tax is applicable.
optional, string, max chars=40
The name of the tax applied.
string, max chars=100
The rate of tax used to calculate tax amount.
double, default=0.0, min=0.0, max=100.0
Indicates if tax is applied only on a portion of the line item amount.
optional, boolean
Indicates the non-compliance tax that should not be reported to the jurisdiction.
optional, boolean
Indicates the actual portion of the line item amount that is taxable.
in cents, min=0
The tax amount.
in cents, min=0
The type of tax jurisdiction.
optional, enumerated stringPossible values are
countryThe tax jurisdiction is a country.federalThe tax jurisdiction is a federal.stateThe tax jurisdiction is a state.countyThe tax jurisdiction is a county.cityThe tax jurisdiction is a city.specialSpecial tax jurisdiction.unincorporatedCombined tax of state and county.otherJurisdictions other than the ones listed above.
The name of the tax jurisdiction.
optional, string, max chars=250
The tax jurisdiction code.
optional, string, max chars=250
tax_amount_in_local_currency
Total tax amount in the currency of the place of supply. This is applicable only for Invoice and Credit Notes API.
optional, in cents, min=0
The currency code (ISO 4217 format) of the place of supply in which VAT needs to be converted and displayed. This is applicable only for Invoice and Credit Notes API.
optional, string, max chars=null
The list of pricing tiers applicable for the line items of the first quote line group.
optional, list of line_item_tier
Line item tier attributes
Uniquely identifies a line_item.
optional, string, max chars=40
The lower limit of a range of units for the tier.
integer, min=0
The upper limit of a range of units for the tier.
optional, integer
The number of units purchased in a range.
integer, min=0
The price of the tier if the charge model is a stairtstep
pricing , or the price of each unit in the tier if the charge model is tiered
/volume
pricing.
in cents, min=0
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
line_items.pricing_model
is
tiered
,
volume
or
stairstep
and
multi-decimal pricing is enabled.
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
line_items.pricing_model
is
tiered
,
volume
or stairstep and
multi-decimal pricing is enabled.
optional, string, max chars=33
The decimal representation of the quantity purchased from this tier. Returned when the
line_item
is quantity-based and
multi-decimal pricing is enabled.
optional, string, max chars=33
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
line_item
. The value is in major units of the currency. Returned when the
line_item
is quantity-based and
multi-decimal pricing is enabled.
optional, string, max chars=40
Shipping address for the quote.
optional, shipping_address
Shipping addres attributes
The first name of the contact.
optional, string, max chars=150
The last name of the contact.
optional, string, max chars=150
The email address.
optional, string, max chars=70
The company name.
optional, string, max chars=250
The phone number.
optional, string, max chars=50
Address line 1.
optional, string, max chars=180
Address line 2.
optional, string, max chars=150
Address line 3.
optional, string, max chars=150
The name of the city.
optional, string, max chars=50
The
ISO 3166-2 state/province code without the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set
state_code
as
AZ
(not
US-AZ
). For Tamil Nadu (India), set as
TN
(not
IN-TN
). For British Columbia (Canada), set as
BC
(not
CA-BC
).
optional, string, max chars=50
The state/province name.
optional, string, max chars=50
Zip or Postal code.
optional, string, max chars=20
The address verification status.
optional, enumerated string, default=not_validatedPossible values are
not_validatedAddress is not yet validated.validAddress was validated successfully.partially_validAddress is verified but only partially.invalidAddress is invalid.
Billing address for the quote.
optional, billing_address
Billing addres attributes
The first name of the billing contact.
optional, string, max chars=150
The last name of the billing contact.
optional, string, max chars=150
The email address.
optional, string, max chars=70
The company name.
optional, string, max chars=250
The phone number.
optional, string, max chars=50
Address line 1.
optional, string, max chars=150
Address line 2.
optional, string, max chars=150
Address line 3.
optional, string, max chars=150
The name of the city.
optional, string, max chars=50
The
ISO 3166-2 state/province code without the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set
state_code
as
AZ
(not
US-AZ
). For Tamil Nadu (India), set as
TN
(not
IN-TN
). For British Columbia (Canada), set as
BC
(not
CA-BC
).
optional, string, max chars=50
State or Province.
optional, string, max chars=50
Zip or Postal code.
optional, string, max chars=20
The address verification status.
optional, enumerated string, default=not_validatedPossible values are
not_validatedAddress is not yet validated.validAddress was validated successfully.partially_validAddress is verified but only partially.invalidAddress is invalid.
Retrieves the quotes identified by the 'number' specified in the url.
Sample Request
curl https://{site}.chargebee.com/api/v2/quotes/10 \
-u {site_api_key}:
copy
curl https://{site}.chargebee.com/api/v2/quotes/10 \
-u {site_api_key}:
Sample Response [ JSON ]
Show more...
{"quote": {
"amount_due": 500,
"amount_paid": 0,
"billing_address": {
"first_name": "John",
"last_name": "Doe",
"object": "billing_address",
"validation_status": "not_validated"
},
"charge_on_acceptance": 500,
"credits_applied": 0,
"currency_code": "USD",
"customer_id": "__test__KyVnHhSBWTO25CR",
"date": 1517501504,
"id": "10",
"line_item_discounts": [],
"line_item_taxes": [],
"line_items": [
{
"amount": 500,
"customer_id": "__test__KyVnHhSBWTO25CR",
"date_from": 1517501504,
"date_to": 1517501504,
"description": "Service Charge",
"discount_amount": 0,
"entity_type": "adhoc",
"id": "__test__KyVnHhSBWTO5pCa",
"is_taxed": false,
"item_level_discount_amount": 0,
"object": "line_item",
"pricing_model": "flat_fee",
"quantity": 1,
"tax_amount": 0,
"unit_amount": 500
},
{..}
],
"object": "quote",
"operation_type": "onetime_invoice",
"price_type": "tax_exclusive",
"resource_version": 1517501504000,
"status": "open",
"sub_total": 500,
"taxes": [],
"total": 500,
"total_payable": 500,
"updated_at": 1517501504,
"valid_till": 1517596199,
"version": 1
}}
URL Format GET
https://{site}.chargebee.com/api/v2/quotes/{quote_id}
Resource object representing quote.
always returned
Resource object representing quoted_subscription.
optional
Sample admin console URL
https://{site}.chargebee.com/admin-console/quotes/123x
Creates a quote for a new subscription under the customer specified.
To send this quote, use “Send Email” quote action in the Chargebee application.
Based on the customer’s reply, you can use Update quote status and Convert a quote APIs for changing quote status and invoicing the customer, respectively.
Sample Request
curl https://{site}.chargebee.com/api/v2/customers/__test__KyVnHhSBWTLzbAo/create_subscription_quote \
-u {site_api_key}:\
-d subscription[plan_id]="basic"
copy
curl https://{site}.chargebee.com/api/v2/customers/__test__KyVnHhSBWTLzbAo/create_subscription_quote \
-u {site_api_key}:\
-d subscription[plan_id]="basic"
Sample Response [ JSON ]
Show more...
{
"quote": {
"amount_due": 1000,
"amount_paid": 0,
"billing_address": {
"first_name": "John",
"last_name": "Doe",
"object": "billing_address",
"validation_status": "not_validated"
},
"charge_on_acceptance": 0,
"credits_applied": 0,
"currency_code": "USD",
"customer_id": "__test__KyVnHhSBWTLzbAo",
"date": 1517501496,
"id": "2",
"line_item_discounts": [],
"line_item_taxes": [],
"line_items": [
{
"amount": 1000,
"customer_id": "__test__KyVnHhSBWTLzbAo",
"date_from": 1517501496,
"date_to": 1519920696,
"description": "Basic",
"discount_amount": 0,
"entity_id": "basic",
"entity_type": "plan",
"id": "__test__KyVnHhSBWTM2nAy",
"is_taxed": false,
"item_level_discount_amount": 0,
"object": "line_item",
"pricing_model": "per_unit",
"quantity": 1,
"tax_amount": 0,
"unit_amount": 1000
},
{..}
],
"object": "quote",
"operation_type": "create_subscription_for_customer",
"price_type": "tax_exclusive",
"resource_version": 1517501496000,
"status": "open",
"sub_total": 1000,
"taxes": [],
"total": 1000,
"updated_at": 1517501496,
"valid_till": 1517596199,
"version": 1
},
"quoted_subscription": {
"object": "quoted_subscription",
"plan_id": "basic",
"plan_quantity": 1
}
}
URL Format POST
https://{site}.chargebee.com/api/v2/customers/{customer_id}/create_subscription_quote
The quote name will be used as the pdf name of the quote.
optional, string, max chars=100
Notes specific to this quote that you want customers to see on the quote PDF.
optional, string, max chars=2000
Quotes will be vaild till this date. After this quote will be marked as closed.
optional, timestamp(UTC) in seconds
Number of cycles(plan interval) this subscription should be charged. After the billing cycles exhausted, the subscription will be cancelled.
optional, integer, min=0
mandatory_addons_to_remove[0..n]
List of addons IDs that are mandatory to the plan and has to be removed from the subscription.
optional, list of string
The number of subscription billing cycles (including the first one) to
invoice in advance.
optional, integer, min=1
Override the
billing alignment mode for Calendar Billing. Only applicable when using Calendar Billing. The default value is that which has been configured for the site.
optional, enumerated stringPossible values are
immediateSubscription period will be aligned with the configured billing date immediately, with credits or charges raised accordingly..delayedSubscription period will be aligned with the configured billing date at the next renewal.
List of coupons to be applied to this subscription. You can provide coupon ids or coupon codes.
optional, list of string
Parameters for subscription
pass parameters as subscription[<param name>]
A unique and immutable identifier for the subscription. If not provided, it is autogenerated.
optional, string, max chars=50
subscription[auto_collection]
Defines whether payments need to be collected automatically for this subscription. Overrides customer's auto-collection property.
optional, enumerated stringPossible values are
onWhenever an invoice is created for this subscription, an automatic charge will be attempted on the payment method available.offAutomatic collection of charges will not be made for this subscription. Use this for offline payments.
Purchase order number for this subscription.
optional, string, max chars=100
subscription[plan_unit_price_in_decimal]
When
price overriding is enabled for the site, the price or per-unit price of the plan can be set here. The value
set for the plan is used by default. Provide the value as a decimal string in major units of the currency. Can be provided only when
multi-decimal pricing is enabled.
optional, string, max chars=33
subscription[plan_quantity_in_decimal]
The decimal representation of the quantity of the plan purchased. Can be provided for quantity-based plans and only when
multi-decimal pricing is enabled.
optional, string, max chars=33
Identifier of the plan for this subscription.
required, string, max chars=100
subscription[plan_quantity]
Plan quantity for this subscription.
optional, integer, default=1, min=1
subscription[plan_unit_price]
Amount that will override the Plan's default price.
optional, in cents, min=0
Amount that will override the default setup fee.
optional, in cents, min=0
The time at which the trial ends for this subscription. Can be specified to override the default trial period.If '0' is passed, the subscription will be activated immediately.
optional, timestamp(UTC) in seconds
The date/time at which the subscription is to start or has started. If not provided, the subscription starts immediately. If set to a value in the past then that date/time should not be more than a plan billing period into the past.
optional, timestamp(UTC) in seconds
subscription[offline_payment_method]
The preferred offline payment method for the subscription.
optional, enumerated stringPossible values are
no_preferenceNo Preference.cashCash.checkCheck.bank_transferBank Transfer.ach_creditACH Credit.sepa_creditSEPA Credit.
subscription[contract_term_billing_cycle_on_renewal]
Number of billing cycles the new contract term should run for, on contract renewal. The default value is the same as
billing_cycles
or a custom value depending on the
site configuration.
optional, integer, min=1, max=100
Parameters for shipping_address
pass parameters as shipping_address[<param name>]
shipping_address[first_name]
The first name of the contact.
optional, string, max chars=150
shipping_address[last_name]
The last name of the contact.
optional, string, max chars=150
The email address.
optional, string, max chars=70
shipping_address[company]
The company name.
optional, string, max chars=250
The phone number.
optional, string, max chars=50
Address line 1.
optional, string, max chars=180
Address line 2.
optional, string, max chars=150
Address line 3.
optional, string, max chars=150
The name of the city.
optional, string, max chars=50
shipping_address[state_code]
The
ISO 3166-2 state/province code without the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set
state_code
as
AZ
(not
US-AZ
). For Tamil Nadu (India), set as
TN
(not
IN-TN
). For British Columbia (Canada), set as
BC
(not
CA-BC
).
optional, string, max chars=50
The state/province name. Is set by Chargebee automatically for US, Canada and India If state_code
is provided.
optional, string, max chars=50
Zip or Postal code.
optional, string, max chars=20
shipping_address[country]
shipping_address[validation_status]
The address verification status.
optional, enumerated string, default=not_validatedPossible values are
not_validatedAddress is not yet validated.validAddress was validated successfully.partially_validAddress is verified but only partially.invalidAddress is invalid.
Parameters for contract_term
pass parameters as contract_term[<param name>]
contract_term[action_at_term_end]
Action to be taken when the contract term completes.
optional, enumerated string, default=cancelPossible values are
renewContract term completes and a new contract term is started for the number of billing cycles specified in contract_billing_cycle_on_renewal
.The action_at_term_end
for the new contract term is set to renew
.evergreenContract term completes and the subscription renews.cancelContract term completes and subscription is canceled.
contract_term[cancellation_cutoff_period]
The number of days before
contract_end
, during which the customer is barred from canceling the contract term. The customer is allowed to cancel the contract term via the Self-Serve Portal only before this period. This allows you to have sufficient time for processing the contract term closure.
optional, integer, default=0
Parameters for addons. Multiple addons can be passed by specifying unique indices.
pass parameters as addons[<param name>][<idx:0..n>]
Identifier of the addon. Multiple addons can be passed.
optional, string, max chars=100
Addon quantity. Applicable only for the quantity based addons. Should be passed with the same index as that of associated addon id.
optional, integer, default=1, min=1
addons[quantity_in_decimal][0..n]
The decimal representation of the quantity of the addon. Can be provided for quantity-based addons and only when
multi-decimal pricing is enabled.
optional, string, max chars=33
Amount that will override the Addon's default price. The Plan's billing frequency will not be considered for overriding. E.g. If the Plan's billing frequency is every 3 months, and if the price override amount is $10, $10 will be used, and not $30 (i.e $10*3).
optional, in cents, min=0
addons[unit_price_in_decimal][0..n]
When
price overriding is enabled for the site, the price or per-unit price of the addon can be set here. The value
set for the addon is used by default. However, the price provided here is considered as the price of the addon for an entire billing cycle of the subscription regardless of the value of the addon
period
. Provide the value as a decimal string in major units of the currency. Can be provided only when
multi-decimal pricing is enabled.
optional, string, max chars=33
addons[billing_cycles][0..n]
Number of billing cycles the addon will be charged for. When not set, the addon is attached to the subscription for an indefinite number of billing cycles. While updating a subscription to a plan with a different billing period, set this parameter again or its value will be lost. And so, the addon will be attached indefinitely.
optional, integer, min=1
The time at which the trial ends for the addon. This value can only be set for subscriptions that start with an
active
or
non-renewing
status. Once set, the value can't be changed. (Addon trial periods must be enabled by
Chargebee Support.).
optional, timestamp(UTC) in seconds
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]
A unique 'id' used to identify the addon.
optional, string, max chars=100
event_based_addons[quantity][0..n]
Addon quantity. Applicable only for the quantity based addons. Should be passed with the same index as that of associated addon id.
optional, integer, min=0
event_based_addons[unit_price][0..n]
Amount that will override the Addon's default price.
optional, in cents, min=0
event_based_addons[quantity_in_decimal][0..n]
The decimal representation of the quantity of the addon. Can be provided for quantity-based addons and only when
multi-decimal pricing is enabled.
optional, string, max chars=33
event_based_addons[unit_price_in_decimal][0..n]
When
price overriding is enabled for the site, the price or per-unit price of the addon can be set here. The value
set for the addon is used by default. Provide the value as a decimal string in major units of the currency. Can be provided only when
multi-decimal pricing is enabled.
optional, string, max chars=33
event_based_addons[service_period_in_days][0..n]
Defines service period of the addon in days from the day of charge.
optional, integer, min=1, max=730
event_based_addons[on_event][0..n]
Event on which this addon will be charged.
optional, enumerated stringPossible 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]
If enabled, the addon will be charged only at the first occurrence of the event. Applicable only for non-recurring add-ons.
optional, boolean, default=true
event_based_addons[charge_on][0..n]
Indicates when the non-recurring addon will be charged.
optional, enumerated stringPossible values are
immediatelyCharges for the addon will be applied immediately.on_eventCharge for the addon will be applied on the occurrence of a specified event.
Resource object representing quote.
always returned
Resource object representing quoted_subscription.
optional
Edits a quote. This endpoint is for quotes that are for new subscriptions. To edit a quote that is for updating a subscription, use Edit quote for updating a subscription.
Sample Request
curl https://{site}.chargebee.com/api/v2/quotes/1/edit_create_subscription_quote \
-u {site_api_key}:\
-d subscription[plan_id]="basic"
copy
curl https://{site}.chargebee.com/api/v2/quotes/1/edit_create_subscription_quote \
-u {site_api_key}:\
-d subscription[plan_id]="basic"
Sample Response [ JSON ]
Show more...
{"quote": {
"id": "5",
"customer_id": "__dev__KyVlEuRpeT0m25",
"status": "open",
"operation_type": "create_subscription_for_customer",
"price_type": "tax_exclusive",
"valid_till": 1581791399,
"date": 1580927607,
"total_payable": 1395,
"charge_on_acceptance": 1395,
"sub_total": 1395,
"total": 1395,
"credits_applied": 0,
"amount_paid": 0,
"amount_due": 1395,
"updated_at": 1580927607,
"resource_version": 1580927607468,
"object": "quote",
"line_items": [
{
"id": "__dev__KyVl9ORpeV7yI7",
"date_from": 1580927606,
"date_to": 1583433206,
"unit_amount": 900,
"quantity": 1,
"amount": 900,
"pricing_model": "per_unit",
"is_taxed": false,
"tax_amount": 0,
"object": "line_item",
"customer_id": "__dev__KyVlEuRpeT0m25",
"description": "No Trial",
"entity_type": "plan",
"entity_id": "no-trial",
"discount_amount": 0,
"item_level_discount_amount": 0
},
{..}
],
"line_item_discounts": [],
"taxes": [],
"line_item_taxes": [],
"currency_code": "USD"
}}
URL Format POST
https://{site}.chargebee.com/api/v2/quotes/{quote_id}/edit_create_subscription_quote
Notes specific to this quote that you want customers to see on the quote PDF.
optional, string, max chars=2000
Quotes will be vaild till this date. After this quote will be marked as closed.
optional, timestamp(UTC) in seconds
Number of cycles(plan interval) this subscription should be charged. After the billing cycles exhausted, the subscription will be cancelled.
optional, integer, min=0
mandatory_addons_to_remove[0..n]
List of addons IDs that are mandatory to the plan and has to be removed from the subscription.
optional, list of string
The number of subscription billing cycles (including the first one) to
invoice in advance.
optional, integer, min=1
Override the
billing alignment mode for Calendar Billing. Only applicable when using Calendar Billing. The default value is that which has been configured for the site.
optional, enumerated stringPossible values are
immediateSubscription period will be aligned with the configured billing date immediately, with credits or charges raised accordingly..delayedSubscription period will be aligned with the configured billing date at the next renewal.
List of coupons to be applied to this subscription. You can provide coupon ids or coupon codes.
optional, list of string
Parameters for subscription
pass parameters as subscription[<param name>]
A unique and immutable identifier for the subscription. If not provided, it is autogenerated.
optional, string, max chars=50
subscription[plan_unit_price_in_decimal]
When
price overriding is enabled for the site, the price or per-unit price of the plan can be set here. The value
set for the plan is used by default. Provide the value as a decimal string in major units of the currency. Can be provided only when
multi-decimal pricing is enabled.
optional, string, max chars=33
subscription[plan_quantity_in_decimal]
The decimal representation of the quantity of the plan purchased. Can be provided for quantity-based plans and only when
multi-decimal pricing is enabled.
optional, string, max chars=33
Identifier of the plan for this subscription.
required, string, max chars=100
subscription[plan_quantity]
Plan quantity for this subscription.
optional, integer, default=1, min=1
subscription[plan_unit_price]
Amount that will override the Plan's default price.
optional, in cents, min=0
Amount that will override the default setup fee.
optional, in cents, min=0
The time at which the trial ends for this subscription. Can be specified to override the default trial period.If '0' is passed, the subscription will be activated immediately.
optional, timestamp(UTC) in seconds
The date/time at which the subscription is to start or has started. If not provided, the subscription starts immediately. If set to a value in the past then that date/time should not be more than a plan billing period into the past.
optional, timestamp(UTC) in seconds
subscription[offline_payment_method]
The preferred offline payment method for the subscription.
optional, enumerated stringPossible values are
no_preferenceNo Preference.cashCash.checkCheck.bank_transferBank Transfer.ach_creditACH Credit.sepa_creditSEPA Credit.
subscription[contract_term_billing_cycle_on_renewal]
Number of billing cycles the new contract term should run for, on contract renewal. The default value is the same as
billing_cycles
or a custom value depending on the
site configuration.
optional, integer, min=1, max=100
Parameters for shipping_address
pass parameters as shipping_address[<param name>]
shipping_address[first_name]
The first name of the contact.
optional, string, max chars=150
shipping_address[last_name]
The last name of the contact.
optional, string, max chars=150
The email address.
optional, string, max chars=70
shipping_address[company]
The company name.
optional, string, max chars=250
The phone number.
optional, string, max chars=50
Address line 1.
optional, string, max chars=180
Address line 2.
optional, string, max chars=150
Address line 3.
optional, string, max chars=150
The name of the city.
optional, string, max chars=50
shipping_address[state_code]
The
ISO 3166-2 state/province code without the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set
state_code
as
AZ
(not
US-AZ
). For Tamil Nadu (India), set as
TN
(not
IN-TN
). For British Columbia (Canada), set as
BC
(not
CA-BC
).
optional, string, max chars=50
The state/province name. Is set by Chargebee automatically for US, Canada and India If state_code
is provided.
optional, string, max chars=50
Zip or Postal code.
optional, string, max chars=20
shipping_address[country]
shipping_address[validation_status]
The address verification status.
optional, enumerated string, default=not_validatedPossible values are
not_validatedAddress is not yet validated.validAddress was validated successfully.partially_validAddress is verified but only partially.invalidAddress is invalid.
Parameters for contract_term
pass parameters as contract_term[<param name>]
contract_term[action_at_term_end]
Action to be taken when the contract term completes.
optional, enumerated string, default=cancelPossible values are
renewContract term completes and a new contract term is started for the number of billing cycles specified in contract_billing_cycle_on_renewal
.The action_at_term_end
for the new contract term is set to renew
.evergreenContract term completes and the subscription renews.cancelContract term completes and subscription is canceled.
contract_term[cancellation_cutoff_period]
The number of days before
contract_end
, during which the customer is barred from canceling the contract term. The customer is allowed to cancel the contract term via the Self-Serve Portal only before this period. This allows you to have sufficient time for processing the contract term closure.
optional, integer, default=0
Parameters for addons. Multiple addons can be passed by specifying unique indices.
pass parameters as addons[<param name>][<idx:0..n>]
Identifier of the addon. Multiple addons can be passed.
optional, string, max chars=100
Addon quantity. Applicable only for the quantity based addons. Should be passed with the same index as that of associated addon id.
optional, integer, default=1, min=1
addons[quantity_in_decimal][0..n]
The decimal representation of the quantity of the addon. Can be provided for quantity-based addons and only when
multi-decimal pricing is enabled.
optional, string, max chars=33
Amount that will override the Addon's default price. The Plan's billing frequency will not be considered for overriding. E.g. If the Plan's billing frequency is every 3 months, and if the price override amount is $10, $10 will be used, and not $30 (i.e $10*3).
optional, in cents, min=0
addons[unit_price_in_decimal][0..n]
When
price overriding is enabled for the site, the price or per-unit price of the addon can be set here. The value
set for the addon is used by default. However, the price provided here is considered as the price of the addon for an entire billing cycle of the subscription regardless of the value of the addon
period
. Provide the value as a decimal string in major units of the currency. Can be provided only when
multi-decimal pricing is enabled.
optional, string, max chars=33
addons[billing_cycles][0..n]
Number of billing cycles the addon will be charged for. When not set, the addon is attached to the subscription for an indefinite number of billing cycles. While updating a subscription to a plan with a different billing period, set this parameter again or its value will be lost. And so, the addon will be attached indefinitely.
optional, integer, min=1
The time at which the trial ends for the addon. This value can only be set for subscriptions that start with an
active
or
non-renewing
status. Once set, the value can't be changed. (Addon trial periods must be enabled by
Chargebee Support.).
optional, timestamp(UTC) in seconds
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]
A unique 'id' used to identify the addon.
optional, string, max chars=100
event_based_addons[quantity][0..n]
Addon quantity. Applicable only for the quantity based addons. Should be passed with the same index as that of associated addon id.
optional, integer, min=0
event_based_addons[unit_price][0..n]
Amount that will override the Addon's default price.
optional, in cents, min=0
event_based_addons[quantity_in_decimal][0..n]
The decimal representation of the quantity of the addon. Can be provided for quantity-based addons and only when
multi-decimal pricing is enabled.
optional, string, max chars=33
event_based_addons[unit_price_in_decimal][0..n]
When
price overriding is enabled for the site, the price or per-unit price of the addon can be set here. The value
set for the addon is used by default. Provide the value as a decimal string in major units of the currency. Can be provided only when
multi-decimal pricing is enabled.
optional, string, max chars=33
event_based_addons[service_period_in_days][0..n]
Defines service period of the addon in days from the day of charge.
optional, integer, min=1, max=730
event_based_addons[on_event][0..n]
Event on which this addon will be charged.
optional, enumerated stringPossible 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]
If enabled, the addon will be charged only at the first occurrence of the event. Applicable only for non-recurring add-ons.
optional, boolean, default=true
event_based_addons[charge_on][0..n]
Indicates when the non-recurring addon will be charged.
optional, enumerated stringPossible values are
immediatelyCharges for the addon will be applied immediately.on_eventCharge for the addon will be applied on the occurrence of a specified event.
Resource object representing quote.
always returned
Resource object representing quoted_subscription.
optional
Creates a quote for updating a subscription under the customer specified.
To send this quote, use “Send Email” quote action in the Chargebee application.
Based on the customer’s reply, you can use Update quote status and Convert a quote APIs for changing quote status and invoicing the customer, respectively.
Sample Request
curl https://{site}.chargebee.com/api/v2/quotes/update_subscription_quote \
-u {site_api_key}:\
-d subscription[id]="__test__KyVnHhSBWTMBNBB" \
-d subscription[plan_id]="no_trial" \
-d billing_address[first_name]="John" \
-d billing_address[last_name]="Doe" \
-d billing_address[line1]="PO Box 9999" \
-d billing_address[city]="Walnut" \
-d billing_address[state]="California" \
-d billing_address[zip]="91789" \
-d billing_address[country]="US"
copy
curl https://{site}.chargebee.com/api/v2/quotes/update_subscription_quote \
-u {site_api_key}:\
-d subscription[id]="__test__KyVnHhSBWTMBNBB" \
-d subscription[plan_id]="no_trial" \
-d billing_address[first_name]="John" \
-d billing_address[last_name]="Doe" \
-d billing_address[line1]="PO Box 9999" \
-d billing_address[city]="Walnut" \
-d billing_address[state]="California" \
-d billing_address[zip]="91789" \
-d billing_address[country]="US"
Sample Response [ JSON ]
Show more...
{
"quote": {
"amount_due": 895,
"amount_paid": 0,
"billing_address": {
"city": "Walnut",
"country": "US",
"first_name": "John",
"last_name": "Doe",
"line1": "PO Box 9999",
"object": "billing_address",
"state": "California",
"validation_status": "not_validated",
"zip": "91789"
},
"charge_on_acceptance": 0,
"credits_applied": 0,
"currency_code": "USD",
"customer_id": "__test__KyVnHhSBWTMBNBB",
"date": 1517501497,
"id": "4",
"line_item_discounts": [],
"line_item_taxes": [],
"line_items": [
{
"amount": 895,
"customer_id": "__test__KyVnHhSBWTMBNBB",
"date_from": 1517501497,
"date_to": 1519920697,
"description": "No Trial - Prorated Charges",
"discount_amount": 0,
"entity_id": "no_trial",
"entity_type": "plan",
"id": "__test__KyVnHhSBWTMHrBN",
"is_taxed": false,
"item_level_discount_amount": 0,
"object": "line_item",
"pricing_model": "per_unit",
"quantity": 1,
"tax_amount": 0,
"unit_amount": 895
},
{..}
],
"object": "quote",
"operation_type": "change_subscription",
"price_type": "tax_exclusive",
"resource_version": 1517501497000,
"status": "open",
"sub_total": 895,
"subscription_id": "__test__KyVnHhSBWTMBNBB",
"taxes": [],
"total": 895,
"updated_at": 1517501497,
"valid_till": 1517596199,
"version": 1
},
"quoted_subscription": {
"id": "__test__KyVnHhSBWTMBNBB",
"object": "quoted_subscription",
"plan_id": "no_trial",
"plan_quantity": 1
}
}
URL Format POST
https://{site}.chargebee.com/api/v2/quotes/update_subscription_quote
The quote name will be used as the pdf name of the quote.
optional, string, max chars=100
Notes specific to this quote that you want customers to see on the quote PDF.
optional, string, max chars=2000
Quotes will be vaild till this date. After this quote will be marked as closed.
optional, timestamp(UTC) in seconds
Should be true if the existing addons should be replaced with the ones that are being passed.
optional, boolean, default=false
mandatory_addons_to_remove[0..n]
List of addons IDs that are mandatory to the plan and has to be removed from the subscription.
optional, list of string
The number of billing cycles the subscription runs before canceling. If not provided, then the billing cycles set for the plan is used. For Product Catalog v2, billing cycles set for plan-item price is used by default.
optional, integer, min=0
The number of subscription billing cycles to
invoice in advance. If a new term is started for the subscription due to this API call, then
terms_to_charge
is inclusive of this new term. See description for the
force_term_reset
parameter to learn more about when a subscription term is reset.
optional, integer, min=1
When the subscription is reactivated as described under the reactivate
parameter, this is the date/time at which the subscription should be reactivated.
optional, timestamp(UTC) in seconds
Override the
billing alignment mode chosen for the site for calendar billing. Only applicable when using calendar billing.
optional, enumerated stringPossible values are
immediateSubscription period will be aligned with the configured billing date immediately, with credits or charges raised accordingly..delayedSubscription period will be aligned with the configured billing date at the next renewal.
List of coupons to be applied to this subscription. You can provide coupon ids or coupon codes.
optional, list of string
Should be true if the existing coupons should be replaced with the ones that are being passed.
optional, boolean, default=false
Applicable for 'Active' & 'Non Renewing' states alone. Generally, subscription's term will be reset (i.e current term is ended and a new term starts immediately) when a new plan having different billing frequency is specified in the input. For all the other cases, the subscription's term will remain intact. Now for this later scenario, if you want to force a term reset you can specify this param as 'true'. Note: Specifying this value as 'false' has no impact on the default behaviour.
optional, boolean, default=false
Applicable only for cancelled subscriptions. Once this is passed as true, cancelled subscription will become active; otherwise subscription changes will be made but the the subscription state will remain cancelled. If not passed, subscription will be activated only if there is any change in subscription data.
optional, boolean
Parameters for subscription
pass parameters as subscription[<param name>]
A unique and immutable identifier for the subscription. If not provided, it is autogenerated.
required, string, max chars=50
Identifier of the plan for this subscription.
optional, string, max chars=100
subscription[plan_quantity]
Represents the plan quantity for this subscription.
optional, integer, default=1, min=1
subscription[plan_unit_price]
Amount that will override the Plan's default price.
optional, in cents, min=0
Amount that will override the default setup fee.
optional, in cents, min=0
subscription[plan_quantity_in_decimal]
The decimal representation of the quantity of the plan purchased. Can be provided for quantity-based plans and only when
multi-decimal pricing is enabled.
optional, string, max chars=33
subscription[plan_unit_price_in_decimal]
When price overriding is enabled for the site, the price or per-unit price of the plan can be set here. The value
set for the plan is used by default. Provide the value as a decimal string in major units of the currency. Can be provided only when
multi-decimal pricing is enabled.
optional, string, max chars=33
The new start date of a future
subscription. Applicable only for future
subscriptions.
optional, timestamp(UTC) in seconds
End of the trial period for the subscription. This overrides the trial period set for the plan. In Product Catalog v2 this overrides trial period set for the plan-item. Set it to 0
to have no trial period.
optional, timestamp(UTC) in seconds
subscription[auto_collection]
Defines whether payments need to be collected automatically for this subscription. Overrides customer's auto-collection property.
optional, enumerated stringPossible values are
onWhenever an invoice is created for this subscription, an automatic charge will be attempted on the payment method available.offAutomatic collection of charges will not be made for this subscription. Use this for offline payments.
subscription[offline_payment_method]
The preferred offline payment method for the subscription.
optional, enumerated stringPossible values are
no_preferenceNo Preference.cashCash.checkCheck.bank_transferBank Transfer.ach_creditACH Credit.sepa_creditSEPA Credit.
subscription[contract_term_billing_cycle_on_renewal]
Number of billing cycles the new contract term should run for, on contract renewal. The default value is the same as
billing_cycles
or a custom value depending on the
site configuration.
optional, integer, min=1, max=100
Parameters for billing_address
pass parameters as billing_address[<param name>]
billing_address[first_name]
The first name of the billing contact.
optional, string, max chars=150
billing_address[last_name]
The last name of the billing contact.
optional, string, max chars=150
The email address.
optional, string, max chars=70
The company name.
optional, string, max chars=250
The phone number.
optional, string, max chars=50
Address line 1.
optional, string, max chars=150
Address line 2.
optional, string, max chars=150
Address line 3.
optional, string, max chars=150
The name of the city.
optional, string, max chars=50
billing_address[state_code]
The
ISO 3166-2 state/province code without the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set
state_code
as
AZ
(not
US-AZ
). For Tamil Nadu (India), set as
TN
(not
IN-TN
). For British Columbia (Canada), set as
BC
(not
CA-BC
).
optional, string, max chars=50
The state/province name. Is set by Chargebee automatically for US, Canada and India If state_code
is provided.
optional, string, max chars=50
Zip or Postal code.
optional, string, max chars=20
billing_address[validation_status]
The address verification status.
optional, enumerated string, default=not_validatedPossible values are
not_validatedAddress is not yet validated.validAddress was validated successfully.partially_validAddress is verified but only partially.invalidAddress is invalid.
Parameters for shipping_address
pass parameters as shipping_address[<param name>]
shipping_address[first_name]
The first name of the contact.
optional, string, max chars=150
shipping_address[last_name]
The last name of the contact.
optional, string, max chars=150
The email address.
optional, string, max chars=70
shipping_address[company]
The company name.
optional, string, max chars=250
The phone number.
optional, string, max chars=50
Address line 1.
optional, string, max chars=180
Address line 2.
optional, string, max chars=150
Address line 3.
optional, string, max chars=150
The name of the city.
optional, string, max chars=50
shipping_address[state_code]
The
ISO 3166-2 state/province code without the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set
state_code
as
AZ
(not
US-AZ
). For Tamil Nadu (India), set as
TN
(not
IN-TN
). For British Columbia (Canada), set as
BC
(not
CA-BC
).
optional, string, max chars=50
The state/province name. Is set by Chargebee automatically for US, Canada and India If state_code
is provided.
optional, string, max chars=50
Zip or Postal code.
optional, string, max chars=20
shipping_address[country]
shipping_address[validation_status]
The address verification status.
optional, enumerated string, default=not_validatedPossible values are
not_validatedAddress is not yet validated.validAddress was validated successfully.partially_validAddress is verified but only partially.invalidAddress is invalid.
Parameters for customer
pass parameters as customer[<param name>]
VAT number of this customer. If not provided then taxes are not calculated for the estimate. Applicable only when taxes are configured for the EU or UK region. VAT validation is not done for this.
optional, string, max chars=20
customer[registered_for_gst]
Confirms that a customer is registered under GST. If set to
true
then the
Reverse Charge Mechanism is applicable. This field is applicable only when Australian GST is configured for your site.
optional, boolean
Parameters for contract_term
pass parameters as contract_term[<param name>]
contract_term[action_at_term_end]
Action to be taken when the contract term completes.
optional, enumerated string, default=renewPossible values are
renewContract term completes and a new contract term is started for the number of billing cycles specified in contract_billing_cycle_on_renewal
.The action_at_term_end
for the new contract term is set to renew
.evergreenContract term completes and the subscription renews.cancelContract term completes and subscription is canceled.renew_onceUsed when you want to renew the contract term just once. Does the following: Contract term completes and a new contract term is started for the number of billing cycles specified in contract_billing_cycle_on_renewal
.The action_at_term_end
for the new contract term is set to cancel
..
contract_term[cancellation_cutoff_period]
The number of days before
contract_end
, during which the customer is barred from canceling the contract term. The customer is allowed to cancel the contract term via the Self-Serve Portal only before this period. This allows you to have sufficient time for processing the contract term closure.
optional, integer
Parameters for addons. Multiple addons can be passed by specifying unique indices.
pass parameters as addons[<param name>][<idx:0..n>]
Identifier of the addon. Multiple addons can be passed.
optional, string, max chars=100
Addon quantity. Applicable only for the quantity based addons. Should be passed with the same index as that of associated addon id.
optional, integer, default=1, min=1
Amount that will override the Addon's default price. The Plan's billing frequency will not be considered for overriding. E.g. If the Plan's billing frequency is every 3 months, and if the price override amount is $10, $10 will be used, and not $30 (i.e $10*3).
optional, in cents, min=0
addons[billing_cycles][0..n]
Number of billing cycles the addon will be charged for. When not set, the addon is attached to the subscription for an indefinite number of billing cycles. While updating a subscription to a plan with a different billing period, set this parameter again or its value will be lost. And so, the addon will be attached indefinitely.
optional, integer, min=1
addons[quantity_in_decimal][0..n]
The decimal representation of the quantity of the addon. Can be provided for quantity-based addons and only when
multi-decimal pricing is enabled.
optional, string, max chars=33
addons[unit_price_in_decimal][0..n]
When
price overriding is enabled for the site, the price or per-unit price of the addon can be set here. The value
set for the addon is used by default. However, the price provided here is considered as the price of the addon for an entire billing cycle of the subscription regardless of the value of the addon
period
. Provide the value as a decimal string in major units of the currency. Can be provided only when
multi-decimal pricing is enabled.
optional, string, max chars=33
The time at which the trial ends for the addon. To update this value, redo the complete addon set using
replace_addon_list
. (Addon trial periods must be enabled by
Chargebee Support.).
optional, timestamp(UTC) in seconds
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]
A unique 'id' used to identify the addon.
optional, string, max chars=100
event_based_addons[quantity][0..n]
Addon quantity. Applicable only for the quantity based addons. Should be passed with the same index as that of associated addon id.
optional, integer, min=0
event_based_addons[unit_price][0..n]
Amount that will override the Addon's default price.
optional, in cents, min=0
event_based_addons[service_period_in_days][0..n]
Defines service period of the addon in days from the day of charge.
optional, integer, min=1, max=730
event_based_addons[charge_on][0..n]
Indicates when the non-recurring addon will be charged.
optional, enumerated stringPossible values are
immediatelyCharges for the addon will be applied immediately.on_eventCharge for the addon will be applied on the occurrence of a specified event.
event_based_addons[on_event][0..n]
Event on which this addon will be charged.
optional, enumerated stringPossible 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]
If enabled, the addon will be charged only at the first occurrence of the event. Applicable only for non-recurring add-ons.
optional, boolean, default=true
event_based_addons[quantity_in_decimal][0..n]
The decimal representation of the quantity of the addon. Can be provided for quantity-based addons and only when
multi-decimal pricing is enabled.
optional, string, max chars=33
event_based_addons[unit_price_in_decimal][0..n]
When
price overriding is enabled for the site, the price or per-unit price of the addon can be set here. The value
set for the addonis used by default. Provide the value as a decimal string in major units of the currency. Can be provided only when
multi-decimal pricing is enabled.
optional, string, max chars=33
Resource object representing quote.
always returned
Resource object representing quoted_subscription.
optional
Edits a quote. This endpoint is for editing quotes that are for updating a subscription. To edit a quote for a new subscription, use Edit quote for a new subscription.”
Sample Request
curl https://{site}.chargebee.com/api/v2/quotes/1/edit_update_subscription_quote \
-u {site_api_key}:\
-d subscription[id]="__test__KyVnJjRnFYaT75pr" \
-d subscription[plan_id]="no_trial" \
-d billing_address[first_name]="John" \
-d billing_address[last_name]="Doe" \
-d billing_address[line1]="PO Box 9999" \
-d billing_address[city]="Walnut" \
-d billing_address[state]="California" \
-d billing_address[zip]="91789" \
-d billing_address[country]="US"
copy
curl https://{site}.chargebee.com/api/v2/quotes/1/edit_update_subscription_quote \
-u {site_api_key}:\
-d subscription[id]="__test__KyVnJjRnFYaT75pr" \
-d subscription[plan_id]="no_trial" \
-d billing_address[first_name]="John" \
-d billing_address[last_name]="Doe" \
-d billing_address[line1]="PO Box 9999" \
-d billing_address[city]="Walnut" \
-d billing_address[state]="California" \
-d billing_address[zip]="91789" \
-d billing_address[country]="US"
Sample Response [ JSON ]
Show more...
{"quote": {
"id": "5",
"customer_id": "__dev__KyVlEuRpeT0m25",
"status": "open",
"operation_type": "change_subscription",
"price_type": "tax_exclusive",
"valid_till": 1581791399,
"date": 1580927607,
"total_payable": 1395,
"charge_on_acceptance": 1395,
"sub_total": 1395,
"total": 1395,
"credits_applied": 0,
"amount_paid": 0,
"amount_due": 1395,
"updated_at": 1580927607,
"resource_version": 1580927607468,
"object": "quote",
"line_items": [
{
"id": "__dev__KyVl9ORpeV7yI7",
"date_from": 1580927606,
"date_to": 1583433206,
"unit_amount": 900,
"quantity": 1,
"amount": 900,
"pricing_model": "per_unit",
"is_taxed": false,
"tax_amount": 0,
"object": "line_item",
"customer_id": "__dev__KyVlEuRpeT0m25",
"description": "No Trial",
"entity_type": "plan",
"entity_id": "no-trial",
"discount_amount": 0,
"item_level_discount_amount": 0
},
{..}
],
"line_item_discounts": [],
"taxes": [],
"line_item_taxes": [],
"currency_code": "USD"
}}
URL Format POST
https://{site}.chargebee.com/api/v2/quotes/{quote_id}/edit_update_subscription_quote
Notes specific to this quote that you want customers to see on the quote PDF.
optional, string, max chars=2000
Quotes will be vaild till this date. After this quote will be marked as closed.
optional, timestamp(UTC) in seconds
Should be true if the existing addons should be replaced with the ones that are being passed.
optional, boolean, default=false
mandatory_addons_to_remove[0..n]
List of addons IDs that are mandatory to the plan and has to be removed from the subscription.
optional, list of string
The number of billing cycles the subscription runs before canceling. If not provided, then the billing cycles set for the plan is used. For Product Catalog v2, billing cycles set for plan-item price is used by default.
optional, integer, min=0
The number of subscription billing cycles to
invoice in advance. If a new term is started for the subscription due to this API call, then
terms_to_charge
is inclusive of this new term. See description for the
force_term_reset
parameter to learn more about when a subscription term is reset.
optional, integer, min=1
When the subscription is reactivated as described under the reactivate
parameter, this is the date/time at which the subscription should be reactivated.
optional, timestamp(UTC) in seconds
Override the
billing alignment mode chosen for the site for calendar billing. Only applicable when using calendar billing.
optional, enumerated stringPossible values are
immediateSubscription period will be aligned with the configured billing date immediately, with credits or charges raised accordingly..delayedSubscription period will be aligned with the configured billing date at the next renewal.
List of coupons to be applied to this subscription. You can provide coupon ids or coupon codes.
optional, list of string
Should be true if the existing coupons should be replaced with the ones that are being passed.
optional, boolean, default=false
Applicable for 'Active' & 'Non Renewing' states alone. Generally, subscription's term will be reset (i.e current term is ended and a new term starts immediately) when a new plan having different billing frequency is specified in the input. For all the other cases, the subscription's term will remain intact. Now for this later scenario, if you want to force a term reset you can specify this param as 'true'. Note: Specifying this value as 'false' has no impact on the default behaviour.
optional, boolean, default=false
Applicable only for cancelled subscriptions. Once this is passed as true, cancelled subscription will become active; otherwise subscription changes will be made but the the subscription state will remain cancelled. If not passed, subscription will be activated only if there is any change in subscription data.
optional, boolean
Parameters for subscription
pass parameters as subscription[<param name>]
Identifier of the plan for this subscription.
optional, string, max chars=100
subscription[plan_quantity]
Represents the plan quantity for this subscription.
optional, integer, default=1, min=1
subscription[plan_unit_price]
Amount that will override the Plan's default price.
optional, in cents, min=0
Amount that will override the default setup fee.
optional, in cents, min=0
subscription[plan_quantity_in_decimal]
The decimal representation of the quantity of the plan purchased. Can be provided for quantity-based plans and only when
multi-decimal pricing is enabled.
optional, string, max chars=33
subscription[plan_unit_price_in_decimal]
When price overriding is enabled for the site, the price or per-unit price of the plan can be set here. The value
set for the plan is used by default. Provide the value as a decimal string in major units of the currency. Can be provided only when
multi-decimal pricing is enabled.
optional, string, max chars=33
The new start date of a future
subscription. Applicable only for future
subscriptions.
optional, timestamp(UTC) in seconds
End of the trial period for the subscription. This overrides the trial period set for the plan. In Product Catalog v2 this overrides trial period set for the plan-item. Set it to 0
to have no trial period.
optional, timestamp(UTC) in seconds
subscription[auto_collection]
Defines whether payments need to be collected automatically for this subscription. Overrides customer's auto-collection property.
optional, enumerated stringPossible values are
onWhenever an invoice is created for this subscription, an automatic charge will be attempted on the payment method available.offAutomatic collection of charges will not be made for this subscription. Use this for offline payments.
subscription[offline_payment_method]
The preferred offline payment method for the subscription.
optional, enumerated stringPossible values are
no_preferenceNo Preference.cashCash.checkCheck.bank_transferBank Transfer.ach_creditACH Credit.sepa_creditSEPA Credit.
subscription[contract_term_billing_cycle_on_renewal]
Number of billing cycles the new contract term should run for, on contract renewal. The default value is the same as
billing_cycles
or a custom value depending on the
site configuration.
optional, integer, min=1, max=100
Parameters for billing_address
pass parameters as billing_address[<param name>]
billing_address[first_name]
The first name of the billing contact.
optional, string, max chars=150
billing_address[last_name]
The last name of the billing contact.
optional, string, max chars=150
The email address.
optional, string, max chars=70
The company name.
optional, string, max chars=250
The phone number.
optional, string, max chars=50
Address line 1.
optional, string, max chars=150
Address line 2.
optional, string, max chars=150
Address line 3.
optional, string, max chars=150
The name of the city.
optional, string, max chars=50
billing_address[state_code]
The
ISO 3166-2 state/province code without the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set
state_code
as
AZ
(not
US-AZ
). For Tamil Nadu (India), set as
TN
(not
IN-TN
). For British Columbia (Canada), set as
BC
(not
CA-BC
).
optional, string, max chars=50
The state/province name. Is set by Chargebee automatically for US, Canada and India If state_code
is provided.
optional, string, max chars=50
Zip or Postal code.
optional, string, max chars=20
billing_address[validation_status]
The address verification status.
optional, enumerated string, default=not_validatedPossible values are
not_validatedAddress is not yet validated.validAddress was validated successfully.partially_validAddress is verified but only partially.invalidAddress is invalid.
Parameters for shipping_address
pass parameters as shipping_address[<param name>]
shipping_address[first_name]
The first name of the contact.
optional, string, max chars=150
shipping_address[last_name]
The last name of the contact.
optional, string, max chars=150
The email address.
optional, string, max chars=70
shipping_address[company]
The company name.
optional, string, max chars=250
The phone number.
optional, string, max chars=50
Address line 1.
optional, string, max chars=180
Address line 2.
optional, string, max chars=150
Address line 3.
optional, string, max chars=150
The name of the city.
optional, string, max chars=50
shipping_address[state_code]
The
ISO 3166-2 state/province code without the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set
state_code
as
AZ
(not
US-AZ
). For Tamil Nadu (India), set as
TN
(not
IN-TN
). For British Columbia (Canada), set as
BC
(not
CA-BC
).
optional, string, max chars=50
The state/province name. Is set by Chargebee automatically for US, Canada and India If state_code
is provided.
optional, string, max chars=50
Zip or Postal code.
optional, string, max chars=20
shipping_address[country]
shipping_address[validation_status]
The address verification status.
optional, enumerated string, default=not_validatedPossible values are
not_validatedAddress is not yet validated.validAddress was validated successfully.partially_validAddress is verified but only partially.invalidAddress is invalid.
Parameters for customer
pass parameters as customer[<param name>]
VAT number of this customer. If not provided then taxes are not calculated for the estimate. Applicable only when taxes are configured for the EU or UK region. VAT validation is not done for this.
optional, string, max chars=20
customer[registered_for_gst]
Confirms that a customer is registered under GST. If set to
true
then the
Reverse Charge Mechanism is applicable. This field is applicable only when Australian GST is configured for your site.
optional, boolean
Parameters for contract_term
pass parameters as contract_term[<param name>]
contract_term[action_at_term_end]
Action to be taken when the contract term completes.
optional, enumerated string, default=renewPossible values are
renewContract term completes and a new contract term is started for the number of billing cycles specified in contract_billing_cycle_on_renewal
.The action_at_term_end
for the new contract term is set to renew
.evergreenContract term completes and the subscription renews.cancelContract term completes and subscription is canceled.renew_onceUsed when you want to renew the contract term just once. Does the following: Contract term completes and a new contract term is started for the number of billing cycles specified in contract_billing_cycle_on_renewal
.The action_at_term_end
for the new contract term is set to cancel
..
contract_term[cancellation_cutoff_period]
The number of days before
contract_end
, during which the customer is barred from canceling the contract term. The customer is allowed to cancel the contract term via the Self-Serve Portal only before this period. This allows you to have sufficient time for processing the contract term closure.
optional, integer
Parameters for addons. Multiple addons can be passed by specifying unique indices.
pass parameters as addons[<param name>][<idx:0..n>]
Identifier of the addon. Multiple addons can be passed.
optional, string, max chars=100
Addon quantity. Applicable only for the quantity based addons. Should be passed with the same index as that of associated addon id.
optional, integer, default=1, min=1
Amount that will override the Addon's default price. The Plan's billing frequency will not be considered for overriding. E.g. If the Plan's billing frequency is every 3 months, and if the price override amount is $10, $10 will be used, and not $30 (i.e $10*3).
optional, in cents, min=0
addons[billing_cycles][0..n]
Number of billing cycles the addon will be charged for. When not set, the addon is attached to the subscription for an indefinite number of billing cycles. While updating a subscription to a plan with a different billing period, set this parameter again or its value will be lost. And so, the addon will be attached indefinitely.
optional, integer, min=1
addons[quantity_in_decimal][0..n]
The decimal representation of the quantity of the addon. Can be provided for quantity-based addons and only when
multi-decimal pricing is enabled.
optional, string, max chars=33
addons[unit_price_in_decimal][0..n]
When
price overriding is enabled for the site, the price or per-unit price of the addon can be set here. The value
set for the addon is used by default. However, the price provided here is considered as the price of the addon for an entire billing cycle of the subscription regardless of the value of the addon
period
. Provide the value as a decimal string in major units of the currency. Can be provided only when
multi-decimal pricing is enabled.
optional, string, max chars=33
The time at which the trial ends for the addon. To update this value, redo the complete addon set using
replace_addon_list
. (Addon trial periods must be enabled by
Chargebee Support.).
optional, timestamp(UTC) in seconds
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]
A unique 'id' used to identify the addon.
optional, string, max chars=100
event_based_addons[quantity][0..n]
Addon quantity. Applicable only for the quantity based addons. Should be passed with the same index as that of associated addon id.
optional, integer, min=0
event_based_addons[unit_price][0..n]
Amount that will override the Addon's default price.
optional, in cents, min=0
event_based_addons[service_period_in_days][0..n]
Defines service period of the addon in days from the day of charge.
optional, integer, min=1, max=730
event_based_addons[charge_on][0..n]
Indicates when the non-recurring addon will be charged.
optional, enumerated stringPossible values are
immediatelyCharges for the addon will be applied immediately.on_eventCharge for the addon will be applied on the occurrence of a specified event.
event_based_addons[on_event][0..n]
Event on which this addon will be charged.
optional, enumerated stringPossible 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]
If enabled, the addon will be charged only at the first occurrence of the event. Applicable only for non-recurring add-ons.
optional, boolean, default=true
event_based_addons[quantity_in_decimal][0..n]
The decimal representation of the quantity of the addon. Can be provided for quantity-based addons and only when
multi-decimal pricing is enabled.
optional, string, max chars=33
event_based_addons[unit_price_in_decimal][0..n]
When
price overriding is enabled for the site, the price or per-unit price of the addon can be set here. The value
set for the addonis used by default. Provide the value as a decimal string in major units of the currency. Can be provided only when
multi-decimal pricing is enabled.
optional, string, max chars=33
Resource object representing quote.
always returned
Resource object representing quoted_subscription.
optional
Creates a quote for one-time charges and non-recurring addons. This is applicable only for one-time payment. Recurring charges are not permitted in this quote; use Create quote for a new subscription or Create quote for updating a subscription instead.
To send this quote, use “Send Email” quote action in the Chargebee application.
Based on the customer’s reply, you can use Update quote status and Convert a quote APIs for changing quote status and invoicing the customer, respectively.
Sample Request
curl https://{site}.chargebee.com/api/v2/quotes/create_for_onetime_charges \
-u {site_api_key}:\
-d customer_id="__test__KyVnHhSBWTM5WB0" \
-d charges[amount][0]=1000 \
-d charges[description][0]="Service Charge"
copy
curl https://{site}.chargebee.com/api/v2/quotes/create_for_onetime_charges \
-u {site_api_key}:\
-d customer_id="__test__KyVnHhSBWTM5WB0" \
-d charges[amount][0]=1000 \
-d charges[description][0]="Service Charge"
Sample Response [ JSON ]
Show more...
{"quote": {
"amount_due": 1000,
"amount_paid": 0,
"billing_address": {
"first_name": "John",
"last_name": "Doe",
"object": "billing_address",
"validation_status": "not_validated"
},
"charge_on_acceptance": 1000,
"credits_applied": 0,
"currency_code": "USD",
"customer_id": "__test__KyVnHhSBWTM5WB0",
"date": 1517501496,
"id": "3",
"line_item_discounts": [],
"line_item_taxes": [],
"line_items": [
{
"amount": 1000,
"customer_id": "__test__KyVnHhSBWTM5WB0",
"date_from": 1517501496,
"date_to": 1517501496,
"description": "Service Charge",
"discount_amount": 0,
"entity_type": "adhoc",
"id": "__test__KyVnHhSBWTM8HB9",
"is_taxed": false,
"item_level_discount_amount": 0,
"object": "line_item",
"pricing_model": "flat_fee",
"quantity": 1,
"tax_amount": 0,
"unit_amount": 1000
},
{..}
],
"object": "quote",
"operation_type": "onetime_invoice",
"price_type": "tax_exclusive",
"resource_version": 1517501496000,
"status": "open",
"sub_total": 1000,
"taxes": [],
"total": 1000,
"total_payable": 1000,
"updated_at": 1517501496,
"valid_till": 1517596199,
"version": 1
}}
URL Format POST
https://{site}.chargebee.com/api/v2/quotes/create_for_onetime_charges
The quote name will be used as the pdf name of the quote.
optional, string, max chars=100
Identifier of the customer for which the quote needs to be created.
required, string, max chars=50
Purchase Order Number for this quote.
optional, string, max chars=100
Notes specific to this quote that you want customers to see on the quote PDF.
optional, string, max chars=2000
Quotes will be vaild till this date. After this quote will be marked as closed.
optional, timestamp(UTC) in seconds
The currency code (ISO 4217 format) of the quote.
required if Multicurrency is enabled, string, max chars=3
The 'One Time' coupon to be applied.
optional, string, max chars=50
Parameters for shipping_address
pass parameters as shipping_address[<param name>]
shipping_address[first_name]
The first name of the contact.
optional, string, max chars=150
shipping_address[last_name]
The last name of the contact.
optional, string, max chars=150
The email address.
optional, string, max chars=70
shipping_address[company]
The company name.
optional, string, max chars=250
The phone number.
optional, string, max chars=50
Address line 1.
optional, string, max chars=180
Address line 2.
optional, string, max chars=150
Address line 3.
optional, string, max chars=150
The name of the city.
optional, string, max chars=50
shipping_address[state_code]
The
ISO 3166-2 state/province code without the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set
state_code
as
AZ
(not
US-AZ
). For Tamil Nadu (India), set as
TN
(not
IN-TN
). For British Columbia (Canada), set as
BC
(not
CA-BC
).
optional, string, max chars=50
The state/province name. Is set by Chargebee automatically for US, Canada and India If state_code
is provided.
optional, string, max chars=50
Zip or Postal code.
optional, string, max chars=20
shipping_address[country]
shipping_address[validation_status]
The address verification status.
optional, enumerated string, default=not_validatedPossible values are
not_validatedAddress is not yet validated.validAddress was validated successfully.partially_validAddress is verified but only partially.invalidAddress is invalid.
Parameters for addons. Multiple addons can be passed by specifying unique indices.
pass parameters as addons[<param name>][<idx:0..n>]
Identifier of the addon. Multiple addons can be passed.
optional, string, max chars=100
Addon quantity. Applicable only for the quantity based addons. Should be passed with the same index as that of associated addon id.
optional, integer, default=1, min=1
addons[quantity_in_decimal][0..n]
The decimal representation of the quantity of the addon. Returned for quantity-based plans when
multi-decimal pricing is enabled.
optional, string, max chars=33
Amount that will override the Addon's default price. The Plan's billing frequency will not be considered for overriding. E.g. If the Plan's billing frequency is every 3 months, and if the price override amount is $10, $10 will be used, and not $30 (i.e $10*3).
optional, in cents, min=0
addons[unit_price_in_decimal][0..n]
The decimal representation of the price or per-unit price of the addon. The value is in major units of the currency. Always returned when
multi-decimal pricing is enabled.
optional, string, max chars=33
addons[service_period][0..n]
Service period for addon.
optional, integer
Parameters for charges. Multiple charges can be passed by specifying unique indices.
pass parameters as charges[<param name>][<idx:0..n>]
The amount to be charged.
optional, in cents, min=1
charges[amount_in_decimal][0..n]
optional, string, max chars=33
charges[description][0..n]
Description for this charge.
optional, string, max chars=250
charges[avalara_sale_type][0..n]
Indicates the type of sale carried out. This is applicable only if you use
Chargebee’s AvaTax for Communications integration.
optional, enumerated stringPossible 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.
charges[avalara_transaction_type][0..n]
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.
optional, integer
charges[avalara_service_type][0..n]
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.
optional, integer
charges[service_period][0..n]
Service period for charge.
optional, integer
Resource object representing quote.
always returned
Edits a quote. The quote must be for one-time charges or non-recurring addons.
To edit quotes created for subscriptions, use:
Sample Request
curl https://{site}.chargebee.com/api/v2/quotes/6/edit_one_time_quote \
-u {site_api_key}:\
-d charges[amount][0]=1000 \
-d charges[description][0]="Service Charge"
copy
curl https://{site}.chargebee.com/api/v2/quotes/6/edit_one_time_quote \
-u {site_api_key}:\
-d charges[amount][0]=1000 \
-d charges[description][0]="Service Charge"
Sample Response [ JSON ]
Show more...
{"quote": {
"amount_due": 1000,
"amount_paid": 0,
"billing_address": {
"first_name": "John",
"last_name": "Doe",
"object": "billing_address",
"validation_status": "not_validated"
},
"charge_on_acceptance": 1000,
"credits_applied": 0,
"currency_code": "USD",
"customer_id": "__test__KyVnHhSBWTMR3Bb",
"date": 1517501498,
"id": "6",
"line_item_discounts": [],
"line_item_taxes": [],
"line_items": [
{
"amount": 1000,
"customer_id": "__test__KyVnHhSBWTMR3Bb",
"date_from": 1517501498,
"date_to": 1517501498,
"description": "Service Charge",
"discount_amount": 0,
"entity_type": "adhoc",
"id": "__test__KyVnHhSBWTMVyBp",
"is_taxed": false,
"item_level_discount_amount": 0,
"object": "line_item",
"pricing_model": "flat_fee",
"quantity": 1,
"tax_amount": 0,
"unit_amount": 1000
},
{..}
],
"object": "quote",
"operation_type": "onetime_invoice",
"price_type": "tax_exclusive",
"resource_version": 1517501498000,
"status": "open",
"sub_total": 1000,
"taxes": [],
"total": 1000,
"total_payable": 1000,
"updated_at": 1517501498,
"valid_till": 1517596199,
"version": 2
}}
URL Format POST
https://{site}.chargebee.com/api/v2/quotes/{quote_id}/edit_one_time_quote
Purchase Order Number for this quote.
optional, string, max chars=100
Notes specific to this quote that you want customers to see on the quote PDF.
optional, string, max chars=2000
Quotes will be vaild till this date. After this quote will be marked as closed.
optional, timestamp(UTC) in seconds
The currency code (ISO 4217 format) of the quote.
required if Multicurrency is enabled, string, max chars=3
The 'One Time' coupon to be applied.
optional, string, max chars=50
Parameters for shipping_address
pass parameters as shipping_address[<param name>]
shipping_address[first_name]
The first name of the contact.
optional, string, max chars=150
shipping_address[last_name]
The last name of the contact.
optional, string, max chars=150
The email address.
optional, string, max chars=70
shipping_address[company]
The company name.
optional, string, max chars=250
The phone number.
optional, string, max chars=50
Address line 1.
optional, string, max chars=180
Address line 2.
optional, string, max chars=150
Address line 3.
optional, string, max chars=150
The name of the city.
optional, string, max chars=50
shipping_address[state_code]
The
ISO 3166-2 state/province code without the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set
state_code
as
AZ
(not
US-AZ
). For Tamil Nadu (India), set as
TN
(not
IN-TN
). For British Columbia (Canada), set as
BC
(not
CA-BC
).
optional, string, max chars=50
The state/province name. Is set by Chargebee automatically for US, Canada and India If state_code
is provided.
optional, string, max chars=50
Zip or Postal code.
optional, string, max chars=20
shipping_address[country]
shipping_address[validation_status]
The address verification status.
optional, enumerated string, default=not_validatedPossible values are
not_validatedAddress is not yet validated.validAddress was validated successfully.partially_validAddress is verified but only partially.invalidAddress is invalid.
Parameters for addons. Multiple addons can be passed by specifying unique indices.
pass parameters as addons[<param name>][<idx:0..n>]
Identifier of the addon. Multiple addons can be passed.
optional, string, max chars=100
Addon quantity. Applicable only for the quantity based addons. Should be passed with the same index as that of associated addon id.
optional, integer, default=1, min=1
addons[quantity_in_decimal][0..n]
The decimal representation of the quantity of the addon. Returned for quantity-based plans when
multi-decimal pricing is enabled.
optional, string, max chars=33
Amount that will override the Addon's default price. The Plan's billing frequency will not be considered for overriding. E.g. If the Plan's billing frequency is every 3 months, and if the price override amount is $10, $10 will be used, and not $30 (i.e $10*3).
optional, in cents, min=0
addons[unit_price_in_decimal][0..n]
The decimal representation of the price or per-unit price of the addon. The value is in major units of the currency. Always returned when
multi-decimal pricing is enabled.
optional, string, max chars=33
addons[service_period][0..n]
Service period for addon.
optional, integer
Parameters for charges. Multiple charges can be passed by specifying unique indices.
pass parameters as charges[<param name>][<idx:0..n>]
The amount to be charged.
optional, in cents, min=1
charges[amount_in_decimal][0..n]
optional, string, max chars=33
charges[description][0..n]
Description for this charge.
optional, string, max chars=250
charges[avalara_sale_type][0..n]
Indicates the type of sale carried out. This is applicable only if you use
Chargebee’s AvaTax for Communications integration.
optional, enumerated stringPossible 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.
charges[avalara_transaction_type][0..n]
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.
optional, integer
charges[avalara_service_type][0..n]
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.
optional, integer
charges[service_period][0..n]
Service period for charge.
optional, integer
Resource object representing quote.
always returned
List all quotes.
Sample Request
curl https://{site}.chargebee.com/api/v2/quotes \
-G \
-u {site_api_key}:\
--data-urlencode limit=3 \
--data-urlencode status[in]="["accepted"]" \
--data-urlencode sort_by[asc]="date"
copy
curl https://{site}.chargebee.com/api/v2/quotes \
-G \
-u {site_api_key}:\
--data-urlencode limit=3 \
--data-urlencode status[in]="["accepted"]" \
--data-urlencode sort_by[asc]="date"
Sample Response [ JSON ]
Show more...
{"list": [
{"quote": {
"amount_due": 500,
"amount_paid": 0,
"billing_address": {
"first_name": "John",
"last_name": "Doe",
"object": "billing_address",
"validation_status": "not_validated"
},
"charge_on_acceptance": 500,
"credits_applied": 0,
"currency_code": "USD",
"customer_id": "__test__KyVnHhSBWTMYaBr",
"date": 1517501498,
"id": "7",
"line_item_discounts": [],
"line_item_taxes": [],
"line_items": [
{
"amount": 500,
"customer_id": "__test__KyVnHhSBWTMYaBr",
"date_from": 1517501498,
"date_to": 1517501498,
"description": "Service Charge",
"discount_amount": 0,
"entity_type": "adhoc",
"id": "__test__KyVnHhSBWTMbVC0",
"is_taxed": false,
"item_level_discount_amount": 0,
"object": "line_item",
"pricing_model": "flat_fee",
"quantity": 1,
"tax_amount": 0,
"unit_amount": 500
},
{..}
],
"object": "quote",
"operation_type": "onetime_invoice",
"price_type": "tax_exclusive",
"resource_version": 1517501498000,
"status": "accepted",
"sub_total": 500,
"taxes": [],
"total": 500,
"total_payable": 500,
"updated_at": 1517501498,
"valid_till": 1517596199,
"version": 1
}},
{..}
]}
URL Format GET
https://{site}.chargebee.com/api/v2/quotes
The number of resources to be returned.
optional, integer, default=10, min=1, max=100
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.
optional, string, max chars=1000
If set to true, includes the deleted resources in the response. For the deleted resources in the response, the 'deleted' attribute will be 'true'.
optional, boolean, default=false
Sorts based on the specified attribute.
Supported attributes : date
Supported sort-orders : asc, desc
Example → sort_by[asc] = "date"
This will sort the result based on the 'date' attribute in ascending(earliest first) order.
optional, string filter
The quote number. Acts as a identifier for quote and typically generated sequentially.
Supported operators : is, is_not, starts_with, in, not_in
Example → id[is] = "123"
optional, string filter
The identifier of the customer this quote belongs to.
Supported operators : is, is_not, starts_with, in, not_in
Example → customer_id[is] = "4gmiXbsjdm"
optional, string filter
subscription_id[<operator>]
To filter based on subscription_id. NOTE: Not to be used if consolidated invoicing feature is enabled.
Supported operators : is, is_not, starts_with, is_present, in, not_in
Example → subscription_id[is] = "4gmiXbsjdm"
optional, string filter
Current status of this quote. Possible values are : open, accepted, declined, invoiced, closed.
Supported operators : is, is_not, in, not_in
Example → status[is] = "open"
optional, enumerated string filter
Creation date of the quote. Typically this is the date on which quote is generated.
Supported operators : after, before, on, between
Example → date[after] = "1435054328"
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-09-28.
Supported operators : after, before, on, between
Example → updated_at[after] = "1243545465"
optional, timestamp(UTC) in seconds filter
Resource object representing quote.
always returned
Resource object representing quoted_subscription.
optional
next_offset
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”.
optional, string, max chars=1000
This API retrieves all the quote line groups and lineitems for a quote.
Sample Request
curl https://{site}.chargebee.com/api/v2/quotes/9/quote_line_groups \
-G \
-u {site_api_key}:
copy
curl https://{site}.chargebee.com/api/v2/quotes/9/quote_line_groups \
-G \
-u {site_api_key}:
Sample Response [ JSON ]
Show more...
{"list": [
{"quote_line_group": {
"id": "qlg___dev__XpbSss5Rp3qHPdF",
"sub_total": 67,
"total": 67,
"credits_applied": 0,
"amount_paid": 0,
"amount_due": 67,
"charge_event": "subscription_change",
"object": "quote_line_group",
"line_items": [
{
"id": "__dev__XpbSss5Rp3qHPeG",
"date_from": 1580385923,
"date_to": 1582199436,
"unit_amount": 67,
"quantity": 1,
"amount": 67,
"pricing_model": "per_unit",
"is_taxed": false,
"tax_amount": 0,
"object": "line_item",
"customer_id": "active_direct",
"description": "SMS Credits - Prorated Charges",
"entity_type": "addon",
"entity_id": "sms-credits",
"discount_amount": 0,
"item_level_discount_amount": 0
},
{..}
],
"line_item_discounts": [],
"taxes": [],
"line_item_taxes": []
}},
{..}
]}
URL Format GET
https://{site}.chargebee.com/api/v2/quotes/{quote_id}/quote_line_groups
The number of resources to be returned.
optional, integer, default=10, min=1, max=100
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.
optional, string, max chars=1000
Resource object representing quote_line_group.
always returned
next_offset
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”.
optional, string, max chars=1000
This API is to convert a quote to an invoice.
Sample Request
curl https://{site}.chargebee.com/api/v2/quotes/1/convert \
-X POST \
-u {site_api_key}:
copy
curl https://{site}.chargebee.com/api/v2/quotes/1/convert \
-X POST \
-u {site_api_key}:
Sample Response [ JSON ]
Show more...
{
"customer": {
"allow_direct_debit": false,
"auto_collection": "on",
"card_status": "valid",
"created_at": 1517501494,
"deleted": false,
"excess_payments": 0,
"first_name": "John",
"id": "__test__KyVnHhSBWTLXiAV",
"last_name": "Doe",
"net_term_days": 0,
"object": "customer",
"payment_method": {
"gateway": "chargebee",
"gateway_account_id": "gw___test__KyVnGlSBWTLQFYI",
"object": "payment_method",
"reference_id": "tok___test__KyVnHhSBWTLYlAW",
"status": "valid",
"type": "card"
},
"pii_cleared": "active",
"preferred_currency_code": "USD",
"primary_payment_source_id": "pm___test__KyVnHhSBWTLYpAX",
"promotional_credits": 0,
"refundable_credits": 0,
"resource_version": 1517501494000,
"taxability": "taxable",
"unbilled_charges": 0,
"updated_at": 1517501494
},
"invoice": {
"adjustment_credit_notes": [],
"amount_adjusted": 0,
"amount_due": 0,
"amount_paid": 500,
"amount_to_collect": 0,
"applied_credits": [],
"base_currency_code": "USD",
"billing_address": {
"first_name": "John",
"last_name": "Doe",
"object": "billing_address",
"validation_status": "not_validated"
},
"credits_applied": 0,
"currency_code": "USD",
"customer_id": "__test__KyVnHhSBWTLXiAV",
"date": 1517501496,
"deleted": false,
"due_date": 1517501496,
"dunning_attempts": [],
"exchange_rate": 1,
"first_invoice": true,
"has_advance_charges": false,
"id": "__demo_inv__1",
"is_gifted": false,
"issued_credit_notes": [],
"line_items": [
{
"amount": 500,
"customer_id": "__test__KyVnHhSBWTLXiAV",
"date_from": 1517501495,
"date_to": 1517501495,
"description": "Service Charge",
"discount_amount": 0,
"entity_type": "adhoc",
"id": "li___test__KyVnHhSBWTLvMAi",
"is_taxed": false,
"item_level_discount_amount": 0,
"object": "line_item",
"pricing_model": "flat_fee",
"quantity": 1,
"tax_amount": 0,
"tax_exempt_reason": "tax_not_configured",
"unit_amount": 500
},
{..}
],
"linked_orders": [],
"linked_payments": [
{
"applied_amount": 500,
"applied_at": 1517501496,
"txn_amount": 500,
"txn_date": 1517501496,
"txn_id": "txn___test__KyVnHhSBWTLvqAj",
"txn_status": "success"
},
{..}
],
"net_term_days": 0,
"new_sales_amount": 500,
"object": "invoice",
"paid_at": 1517501496,
"price_type": "tax_exclusive",
"recurring": false,
"resource_version": 1517501496000,
"round_off_amount": 0,
"status": "paid",
"sub_total": 500,
"tax": 0,
"term_finalized": true,
"total": 500,
"updated_at": 1517501496,
"write_off_amount": 0
},
"quote": {
"amount_due": 500,
"amount_paid": 0,
"billing_address": {
"first_name": "John",
"last_name": "Doe",
"object": "billing_address",
"validation_status": "not_validated"
},
"charge_on_acceptance": 500,
"credits_applied": 0,
"currency_code": "USD",
"customer_id": "__test__KyVnHhSBWTLXiAV",
"date": 1517501495,
"id": "1",
"invoice_id": "__demo_inv__1",
"line_item_discounts": [],
"line_item_taxes": [],
"line_items": [
{
"amount": 500,
"customer_id": "__test__KyVnHhSBWTLXiAV",
"date_from": 1517501495,
"date_to": 1517501495,
"description": "Service Charge",
"discount_amount": 0,
"entity_type": "adhoc",
"id": "__test__KyVnHhSBWTLsvAe",
"is_taxed": false,
"item_level_discount_amount": 0,
"object": "line_item",
"pricing_model": "flat_fee",
"quantity": 1,
"tax_amount": 0,
"unit_amount": 500
},
{..}
],
"object": "quote",
"operation_type": "onetime_invoice",
"price_type": "tax_exclusive",
"resource_version": 1517501496000,
"status": "invoiced",
"sub_total": 500,
"taxes": [],
"total": 500,
"total_payable": 500,
"updated_at": 1517501496,
"valid_till": 1517596199,
"version": 1
}
}
URL Format POST
https://{site}.chargebee.com/api/v2/quotes/{quote_id}/convert
If there are charges raised immediately for the subscription, this parameter specifies whether those charges are to be invoiced immediately or added to
unbilled charges. The default value is as per the
site settings.
optional, boolean
Parameters for subscription
pass parameters as subscription[<param name>]
Applicable only for create subscription quote.
optional, string, max chars=50
subscription[auto_collection]
Applicable only for create subscription quote.
optional, enumerated stringPossible values are
onWhenever an invoice is created for this subscription, an automatic charge will be attempted on the payment method available.offAutomatic collection of charges will not be made for this subscription. Use this for offline payments.
Purchase order number for this subscription.
optional, string, max chars=100
Resource object representing quote.
always returned
Resource object representing quoted_subscription.
optional
Resource object representing customer.
always returned
Resource object representing subscription.
optional
Resource object representing invoice.
optional
Resource object representing credit_note.
optional
Resource object representing unbilled_charge.
optional
Updates the status of the quote. Status can be updated to Accepted, Declined, and Closed.
Sample Request
curl https://{site}.chargebee.com/api/v2/quotes/11/update_status \
-X POST \
-u {site_api_key}:\
-d status="accepted"
copy
curl https://{site}.chargebee.com/api/v2/quotes/11/update_status \
-X POST \
-u {site_api_key}:\
-d status="accepted"
Sample Response [ JSON ]
Show more...
{"quote": {
"amount_due": 500,
"amount_paid": 0,
"billing_address": {
"first_name": "John",
"last_name": "Doe",
"object": "billing_address",
"validation_status": "not_validated"
},
"charge_on_acceptance": 500,
"credits_applied": 0,
"currency_code": "USD",
"customer_id": "__test__KyVnHhSBWTO9dCc",
"date": 1517501504,
"id": "11",
"line_item_discounts": [],
"line_item_taxes": [],
"line_items": [
{
"amount": 500,
"customer_id": "__test__KyVnHhSBWTO9dCc",
"date_from": 1517501504,
"date_to": 1517501504,
"description": "Service Charge",
"discount_amount": 0,
"entity_type": "adhoc",
"id": "__test__KyVnHhSBWTOCyCl",
"is_taxed": false,
"item_level_discount_amount": 0,
"object": "line_item",
"pricing_model": "flat_fee",
"quantity": 1,
"tax_amount": 0,
"unit_amount": 500
},
{..}
],
"object": "quote",
"operation_type": "onetime_invoice",
"price_type": "tax_exclusive",
"resource_version": 1517501504000,
"status": "accepted",
"sub_total": 500,
"taxes": [],
"total": 500,
"total_payable": 500,
"updated_at": 1517501504,
"valid_till": 1517596199,
"version": 1
}}
URL Format POST
https://{site}.chargebee.com/api/v2/quotes/{quote_id}/update_status
Status to update for the quote.
required, enumerated stringPossible values are
acceptedAccepted.declinedDeclined.closedClosed.
An internal
comment to be added for this operation, to the quote. This comment is displayed on the Chargebee UI. It is not displayed on any customer-facing
Hosted Page or any document such as the
Quote PDF.
optional, string, max chars=300
Resource object representing quote.
always returned
Resource object representing quoted_subscription.
optional
Can be used to extend the expiry date of a quote.
Sample Request
curl https://{site}.chargebee.com/api/v2/quotes/10/extend_expiry_date \
-X POST \
-u {site_api_key}:\
-d valid_till=1581791399
copy
curl https://{site}.chargebee.com/api/v2/quotes/10/extend_expiry_date \
-X POST \
-u {site_api_key}:\
-d valid_till=1581791399
Sample Response [ JSON ]
Show more...
{"quote": {
"id": "5",
"customer_id": "__dev__KyVlEuRpeT0m25",
"status": "open",
"operation_type": "create_subscription_for_customer",
"price_type": "tax_exclusive",
"valid_till": 1581791399,
"date": 1580927607,
"total_payable": 1395,
"charge_on_acceptance": 1395,
"sub_total": 1395,
"total": 1395,
"credits_applied": 0,
"amount_paid": 0,
"amount_due": 1395,
"updated_at": 1580927607,
"resource_version": 1580927607468,
"object": "quote",
"line_items": [
{
"id": "__dev__KyVl9ORpeV7yI7",
"date_from": 1580927606,
"date_to": 1583433206,
"unit_amount": 900,
"quantity": 1,
"amount": 900,
"pricing_model": "per_unit",
"is_taxed": false,
"tax_amount": 0,
"object": "line_item",
"customer_id": "__dev__KyVlEuRpeT0m25",
"description": "No Trial",
"entity_type": "plan",
"entity_id": "no-trial",
"discount_amount": 0,
"item_level_discount_amount": 0
},
{..}
],
"line_item_discounts": [],
"taxes": [],
"line_item_taxes": [],
"currency_code": "USD"
}}
URL Format POST
https://{site}.chargebee.com/api/v2/quotes/{quote_id}/extend_expiry_date
Quote will be valid till this date. After this date quote will be marked as closed.
required, timestamp(UTC) in seconds
Resource object representing quote.
always returned
Resource object representing quoted_subscription.
optional
Sample Request
curl https://{site}.chargebee.com/api/v2/quotes/5/delete \
-X POST \
-u {site_api_key}:
copy
curl https://{site}.chargebee.com/api/v2/quotes/5/delete \
-X POST \
-u {site_api_key}:
Sample Response [ JSON ]
Show more...
{"quote": {
"amount_due": 500,
"amount_paid": 0,
"billing_address": {
"first_name": "John",
"last_name": "Doe",
"object": "billing_address",
"validation_status": "not_validated"
},
"charge_on_acceptance": 500,
"credits_applied": 0,
"currency_code": "USD",
"customer_id": "__test__KyVnHhSBWTMKSBP",
"date": 1517501497,
"id": "5",
"line_item_discounts": [],
"line_item_taxes": [],
"line_items": [
{
"amount": 500,
"customer_id": "__test__KyVnHhSBWTMKSBP",
"date_from": 1517501497,
"date_to": 1517501497,
"description": "Service Charge",
"discount_amount": 0,
"entity_type": "adhoc",
"id": "__test__KyVnHhSBWTMNIBY",
"is_taxed": false,
"item_level_discount_amount": 0,
"object": "line_item",
"pricing_model": "flat_fee",
"quantity": 1,
"tax_amount": 0,
"unit_amount": 500
},
{..}
],
"object": "quote",
"operation_type": "onetime_invoice",
"price_type": "tax_exclusive",
"resource_version": 1517501497000,
"status": "open",
"sub_total": 500,
"taxes": [],
"total": 500,
"total_payable": 500,
"updated_at": 1517501497,
"valid_till": 1517596199,
"version": 1
}}
URL Format POST
https://{site}.chargebee.com/api/v2/quotes/{quote_id}/delete
Reason for deleting quote. This comment will be added to the subscription entity if the quote belongs to a subscription or added to the customer entity if the quote is associated only with a customer.
optional, string, max chars=300
Resource object representing quote.
always returned
Resource object representing quoted_subscription.
optional
Retrieves the quote as a PDF. The returned URL is secure, allows download and expires in 60 minutes.
Sample Request
curl https://{site}.chargebee.com/api/v2/quotes/9/pdf \
-X POST \
-u {site_api_key}:
copy
curl https://{site}.chargebee.com/api/v2/quotes/9/pdf \
-X POST \
-u {site_api_key}:
Sample Response [ JSON ]
Show more...
{"download": {
"download_url": "https://cb-local-downloads.s3.amazonaws.com/yourapp/quote/__test__KyVnHhSBWTNJvCQ.pdf?response-content-disposition=attachment%3Bfilename%3Dyourapp%2Fquote%2F__test__KyVnHhSBWTNJvCQ.pdf&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20200924T161144Z&X-Amz-SignedHeaders=host&X-Amz-Expires=59&X-Amz-Credential=AKIAJI4SN7ONHAOGLOGA%2F20200924%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=1f84cec770673dee4fab2bdfa55168a3b4010b0e3ba628a0dd42245e4ef64b29",
"object": "download",
"valid_till": 1600963964
}}
URL Format POST
https://{site}.chargebee.com/api/v2/quotes/{quote_id}/pdf
When true, the quote PDF has summary of all charges on the quote. When false, the quote PDF has a detailed view of charges grouped by charge event. This parameter does not affect one-time quotes.
optional, boolean, default=false
Determines the pdf should be rendered as inline or attachment in the browser.
optional, enumerated string, default=attachmentPossible values are
attachmentpdf is rendered as attachment in the browser.inlinepdf is rendered as inline in the browser.
Resource object representing download.
always returned