Release notes
What’s new in V2
V2 is the current version of the Recharge API. It was previously called 2021-11: the same API under a new name.
7new resources
41new endpoints
259new attributes
440new parameters
12new webhook topics
18new batch types
364corrections
Already sending 2021-11?
You don’t need to change anything. X-Recharge-Version: v2 and X-Recharge-Version: 2021-11 both work and behave identically, so everything on this page is available with either value. You can switch the header to v2 whenever you like.
No request or response fields were removed or renamed. Everything marked New in this reference is listed below, grouped by resource.
curl 'https://api.rechargeapps.com/subscriptions' \
-H 'X-Recharge-Version: v2' \
-H 'X-Recharge-Access-Token: your_api_token'curl 'https://api.rechargeapps.com/subscriptions' \
-H 'X-Recharge-Version: 2021-11' \
-H 'X-Recharge-Access-Token: your_api_token'Addresses1 endpoint14 attributes19 parameters3 corrections
New endpoints
- Validate an address
POST /addresses/validate
New attributes
- is_giftThe address objectWhether the Address is a gift address.
- includeThe address objectAn object containing the related resources requested with the include query parameter.
- include.customerThe address objectThe Customer associated with the Address . Returned when include contains customer .
- include.payment_methodsThe address objectThe Payment Methods associated with the Address . Returned when include contains payment_methods . Requires the read_payment_methods scope.
- include.subscriptionsThe address objectThe Subscriptions on the Address . Returned when include contains subscriptions . Requires the read_subscriptions scope.
- include.onetimesThe address objectThe Onetimes on the Address . Returned when include contains onetimes . Requires the read_subscriptions scope.
- include.discountThe address objectThe Discount applied to the Address , or null if the Address has no discount. Returned when include contains discount . Requires the read_discounts scope.
- include.discount.idThe address objectUnique numeric identifier for the Discount .
- include.discount.codeThe address objectThe code used to apply the Discount .
- include.discount.valueThe address objectThe discounted value to be applied.
- include.discount.value_typeThe address objectThe type of the Discount value.
- include.discount.titleThe address objectThe title of the Discount .
- include.discount.application_methodThe address objectHow the Discount is applied.
- include.charge_activitiesThe address objectThe charge activity records created for the Address in the last 90 days. Returned when include contains charge_activities . Requires the read_orders scope.
New parameters
- discountsCreate an address · body parameterA discount to apply to the Address . While the discounts parameter is an array, only the first discount is applied.
- discounts[].idCreate an address · body parameterThe id of the Discount to apply to the Address .
- discounts[].codeCreate an address · body parameterThe code of the Discount to apply to the Address . Used when id is not passed.
- is_giftCreate an address · body parameterWhether the Address is a gift address.
- custom_event_attributesCreate an address · body parameterA list of up to 10 custom attributes to attach to the Event created by this request. They are returned in the custom_attributes of that Event .
- custom_event_attributes[].keyCreate an address · body parameterA user-defined key for the custom attribute.
- custom_event_attributes[].valueCreate an address · body parameterA user-defined value for the custom attribute. Maximum length is 255 characters.
- includeRetrieve an address · query parameterA comma-separated list of related resources to embed in the include attribute of each Address .
- commitUpdate an address · query parameterControls when the queued charges on the Address are updated after the request applies or removes a discount. If true , the charges are updated before the response is returned. If false , they are updated asynchronously. The default depends on the store's configuration.
- discounts[].codeUpdate an address · body parameterThe code of the Discount to apply to the Address . Used when id is not passed.
- custom_event_attributesUpdate an address · body parameterA list of up to 10 custom attributes to attach to the Event created by this request. They are returned in the custom_attributes of that Event .
- custom_event_attributes[].keyUpdate an address · body parameterA user-defined key for the custom attribute.
- custom_event_attributes[].valueUpdate an address · body parameterA user-defined value for the custom attribute. Maximum length is 255 characters.
- includeList addresses · query parameterA comma-separated list of related resources to embed in the include attribute of each Address . onetimes can only be requested together with the customer_id filter.
- payment_method_idList addresses · query parameterReturns addresses associated with the given Payment Method .
- orders_countList addresses · query parameterReturns addresses that have exactly the given number of processed charges. A value of 0 is ignored.
- sort_byList addresses · query parameterSort order of the results. Default is id-desc .
- cursorList addresses · query parameterThe next_cursor or previous_cursor value from a previous response, used to retrieve the next or previous page of results. When cursor is passed, only limit can be passed with it.
- source_addresses[].idMerge addresses · body parameterThe id of the address.
Corrections
- phoneCreate an addressOptional.
- discount_idList addressesType: integer.
- dateSkip future chargeType: date.
Bundle productsNew resource1 object2 endpoints
New objects
New endpoints
- List bundle products
GET /bundle_products - Retrieve a bundle product
GET /bundle_products/{id}
Bundle Selections5 attributes20 parameters9 corrections
New attributes
- charge_idThe bundle selection objectThe ID of the Charge associated with the BundleSelection , when the selection applies to a specific upcoming charge.
- order_idThe bundle selection objectThe ID of the Order associated with the BundleSelection .
- items_countThe bundle selection objectThe item count of the BundleVariant associated with the BundleSelection .
- is_fallbackThe bundle selection objectWhether the selection is the default selection of the BundleVariant , returned because no selection has been made for the PurchaseItem . Fallback selections have a null id .
- items[].priceThe bundle selection objectThe price of the item.
New parameters
- updated_at_minList bundle selections · query parameterShow BundleSelections updated after the given date.
- updated_at_maxList bundle selections · query parameterShow BundleSelections updated before the given date.
- cursorList bundle selections · query parameterReturn either the next or previous page of bundle selections using the next_cursor or previous_cursor value from a previous response. Only limit can be passed together with cursor .
- charge_idsList bundle selections · query parameterFilter BundleSelections by Charge ID. If passing multiple values, must be comma separated.
- item_external_product_idsList bundle selections · query parameterFilter BundleSelections that contain an item with one of the given external product IDs. If passing multiple values, must be comma separated.
- item_external_variant_idsList bundle selections · query parameterFilter BundleSelections that contain an item with one of the given external variant IDs. If passing multiple values, must be comma separated.
- commitCreate a bundle selection · query parameterControls whether the QUEUED charges linked to the purchase item are regenerated before the response is returned ( true , default) or in the background ( false ).
- skip_remote_validationCreate a bundle selection · query parameterIf true , the selected items are not validated against the external e-commerce platform.
- charge_idCreate a bundle selection · body parameterThe ID of the upcoming Charge the BundleSelection applies to. The charge must be in QUEUED status.
- order_idCreate a bundle selection · body parameterThe ID of the Order the BundleSelection applies to. Requires charge_id , and the order must belong to that charge.
- items[].priceCreate a bundle selection · body parameterThe price of the item. Must not be negative.
- commitUpdate a bundle selection · query parameterControls whether the QUEUED charges linked to the purchase item are regenerated before the response is returned ( true , default) or in the background ( false ).
- skip_remote_validationUpdate a bundle selection · query parameterIf true , the selected items are not validated against the external e-commerce platform.
- items[].idUpdate a bundle selection · body parameterThe unique numeric identifier of an existing item selection to update. Items sent without an id are created.
- items[].collection_idUpdate a bundle selection · body parameterThe collection id as it appears in the external e-commerce platform.
- items[].external_product_idUpdate a bundle selection · body parameterThe product id as it appears in the external e-commerce platform.
- items[].external_variant_idUpdate a bundle selection · body parameterThe variant id as it appears in the external e-commerce platform.
- items[].quantityUpdate a bundle selection · body parameterThe quantity of this product.
- items[].priceUpdate a bundle selection · body parameterThe price of the item. Must not be negative.
- commitDelete a bundle selection · query parameterControls whether the QUEUED charges linked to the purchase item are regenerated before the response is returned ( true , default) or in the background ( false ).
Corrections
- items[].collection_idCreate a bundle selectionRequired.
- items[].external_product_idCreate a bundle selectionRequired.
- items[].external_variant_idCreate a bundle selectionRequired.
- items[].quantityCreate a bundle selectionRequired.
- purchase_item_idUpdate a bundle selectionRemoved from the reference: the API ignores this parameter.
- items[].collection_idUpdate a bundle selectionRequired.
- items[].external_product_idUpdate a bundle selectionRequired.
- items[].external_variant_idUpdate a bundle selectionRequired.
- items[].quantityUpdate a bundle selectionRequired.
Charge activitiesNew resource1 object1 endpoint
New objects
New endpoints
- List charge activities
GET /charge_activities
Charges52 attributes23 parameters19 corrections
New attributes
- has_uncommitted_changesThe charge objectSpecifies whether the Charge is scheduled for a regeneration (if the Subscription related to the charge was updated in the last 5 seconds using commit=false ).
- external_variant_not_foundThe charge objectThe ID of the variant, as it appears in the external e-commerce platform, that could not be found when the Charge was processed.
- last_charge_attemptThe charge objectThe date and time of the most recent attempt to process the Charge .
- merged_atThe charge objectThe date and time when the Charge was last merged with another Charge .
- original_scheduled_atThe charge objectThe date the Charge was scheduled to process when it was first created. This value does not change if the Charge is rescheduled.
- total_dutiesThe charge objectThe sum of all duties applied to the Charge .
- discounts[].titleThe charge objectThe title of the Discount .
- discounts[].application_methodThe charge objectHow the Discount is applied, either through a code or automatically.
- line_items[].offer_attributesThe charge objectAn object describing the offer that added the line_item to the Charge , such as a free gift. null when the line_item was not added by an offer.
- line_items[].offer_attributes.typeThe charge objectThe type of offer that added the line_item , such as free_gift .
- line_items[].offer_attributes.sourceThe charge objectThe source of the offer that added the line_item .
- line_items[].external_line_item_idThe charge objectAn object containing the ID of the associated line item as it appears in the external system.
- line_items[].external_line_item_id.ecommerceThe charge objectThe line item ID as it appears in the external e-commerce platform.
- line_items[].tax_lines[].unit_priceThe charge objectThe tax per unit of the line_item associated with the listed jurisdiction.
- shipping_lines[].rateThe charge objectThe rate associated with the shipping_line .
- shipping_lines[].statusThe charge objectThe status of the shipping rate used for the shipping_line . Defaults to active .
- shipping_lines[].retrieved_atThe charge objectThe date and time when the shipping rate of the shipping_line was last retrieved.
- includeThe charge objectAn object containing the related resources requested with the include query parameter.
- include.addressThe charge objectThe Address associated with the Charge .
- include.customerThe charge objectThe Customer associated with the Charge .
- include.metafieldsThe charge objectAn array of Metafields attached to the Charge .
- include.payment_methodsThe charge objectAn array of PaymentMethods associated with the Charge .
- include.subscriptionsThe charge objectAn array of the Subscriptions contained in the Charge .
- include.charge_activitiesThe charge objectAn array of charge activity objects recorded for the Charge in the last 90 days.
- include.transactionsThe charge objectAn array of the payment transactions recorded for the Charge .
- include.transactions[].external_transaction_idThe charge objectThe ID of the transaction in the payment processor system.
- include.transactions[].processor_nameThe charge objectThe payment processor used for the transaction.
- include.transactions[].amountThe charge objectThe amount of the transaction.
- include.transactions[].kindThe charge objectThe kind of transaction, such as sale or refund .
- include.transactions[].payment_method_idThe charge objectThe ID of the PaymentMethod used for the transaction.
- include.transactions[].is_primaryThe charge objectWhether the transaction is the primary transaction of the Charge .
- include.transactions[].created_atThe charge objectThe date and time when the transaction was created.
- include.order_modificationsThe charge objectAn array of the modifications, such as added free gifts, applied to the Charge .
- include.order_modifications[].idThe charge objectThe unique numeric identifier for the order modification.
- include.order_modifications[].charge_idThe charge objectThe ID of the Charge the modification applies to.
- include.order_modifications[].order_idThe charge objectThe ID of the Order the modification applies to.
- include.order_modifications[].customer_idThe charge objectThe ID of the Customer the modification belongs to.
- include.order_modifications[].modificationsThe charge objectAn object containing the changes applied to the Charge .
- include.order_modifications[].modifications.line_itemsThe charge objectAn array of line item modifications. Each item contains line_item_id , subscription_id , modification_type , source , source_id , reason , reason_id and a modifications array of changed attributes ( attribute , value , previous_value , reason , created_at ).
- include.order_modifications[].modifications.move_is_allowedThe charge objectWhether the modification can be carried over to the new queued Charge when this Charge is replaced.
- include.order_modifications[].modifications.order_wide_changesThe charge objectAn array of modifications that apply to the whole Charge rather than to a single line item.
- include.order_modifications[].created_atThe charge objectThe date and time when the order modification was created.
- include.order_modifications[].updated_atThe charge objectThe date and time when the order modification was last updated.
- include.bundle_selectionsThe charge objectThe BundleSelection associated with the Charge .
- include.credit_projectionThe charge objectThe credits the Charge is projected to redeem when it processes, in the currency of the Charge . null when the Charge does not have a status of queued or error , or when the projection could not be built.
- include.credit_projection.currency_codeThe charge objectThe code of the currency the projected amounts are expressed in.
- include.credit_projection.gift_to_applyThe charge objectThe amount of gift credit the Charge is projected to redeem.
- include.credit_projection.non_gift_to_applyThe charge objectThe amount of non-gift credit the Charge is projected to redeem.
- include.credit_projection.total_to_applyThe charge objectThe total amount of credit the Charge will redeem if nothing changes.
- include.credit_projection.total_to_apply_if_opted_inThe charge objectThe total amount of credit the Charge would redeem if the Customer had apply_credit_to_next_recurring_charge set to true .
- include.credit_projection.capped_by_redemption_limitThe charge objectWhether the store's maximum redemption limit would hold back non-gift credit if the Customer opted in to applying credit.
- include.credit_projection.blocked_by_exclusionThe charge objectAn object keyed by credit type. Each value contains amount , the additional credit that type would have contributed if no products were excluded, and excluded_product_ids , the external product IDs on the Charge that the credit type cannot be spent on.
New parameters
- includeRetrieve a charge · query parameterA comma-separated list of related resources to return under the include attribute of the Charge . Each value also requires the read scope of the included resource ( credit_projection requires read_credit_summary ).
- includeList charges · query parameterA comma-separated list of related resources to return under the include attribute of each Charge . Each value also requires the read scope of the included resource.
- cursorList charges · query parameterThe next_cursor or previous_cursor value returned by a previous call, used to retrieve the next or previous page of results. When passed, the only other parameter that can be passed is limit .
- error_typeList charges · query parameterFilter Charges in error status by a comma-separated list of error types, such as CARD_DECLINED . Requires status to include error .
- not_error_typeList charges · query parameterExclude Charges whose error_type matches one of the given comma-separated values. Only Charges that have an error_type are returned.
- customer_emailList charges · query parameterFilter Charges by the email address of the Customer .
- external_product_idsList charges · query parameterFilter Charges by a comma-separated list of product IDs, as they appear in the external e-commerce platform, contained in the Charge .
- external_variant_idsList charges · query parameterFilter Charges by a comma-separated list of variant IDs, as they appear in the external e-commerce platform, contained in the Charge .
- commitSkip a charge · query parameterIf set to false , the remaining queued Charge is regenerated asynchronously instead of before the response is returned. Defaults to true .
- update_membership_expires_atSkip a charge · query parameterIf set to true , the expiration date of the Membership associated with the Charge is moved to the new charge date. Defaults to false .
- purchase_item_idsSkip a charge · body parameterA list of the Subscription or Onetime IDs to skip on the Charge .
- purchase_item_idSkip a charge · body parameterThe ID of a single Subscription or Onetime to skip on the Charge . Cannot be passed together with purchase_item_ids .
- update_membership_expires_atUnskip a charge · query parameterIf set to true , the expiration date of the Membership associated with the Charge is moved to the new charge date. Defaults to false .
- purchase_item_idsUnskip a charge · body parameterA list of the Subscription or Onetime IDs to unskip on the Charge .
- purchase_item_idUnskip a charge · body parameterThe ID of a single Subscription or Onetime to unskip on the Charge . Cannot be passed together with purchase_item_ids .
- line_itemsRefund a charge · body parameterA list of the line items to refund. Cannot be passed together with amount . If passed with full_refund , all line items of the Charge must be listed with their full quantities.
- line_items[].purchase_item_idRefund a charge · body parameterThe Subscription or Onetime ID of the line item to refund. Required for each line item.
- line_items[].quantityRefund a charge · body parameterThe quantity of the line item to refund. Must be at least 1. Required for each line item.
- custom_gatewayProcess a charge · body parameterThe outcome of a payment taken outside of Recharge. Must be passed, and can only be passed, when the Charge uses a payment method with a custom payment gateway.
- custom_gateway.external_statusProcess a charge · body parameterThe result of the external payment. Required when custom_gateway is passed.
- custom_gateway.external_transaction_idProcess a charge · body parameterThe ID of the transaction in the external payment system. Required when external_status is success .
- custom_gateway.external_error_typeProcess a charge · body parameterThe structured reason why the external payment failed, such as CARD_DECLINED . Must be a valid Charge error type. Required when external_status is error and not allowed when it is success .
- custom_gateway.external_error_messageProcess a charge · body parameterThe error message returned by the external payment system. Required when external_status is error and not allowed when it is success .
Corrections
- retry_dateThe charge objectType: datetime.
- external_transaction_id.payment_processorThe charge objectType: string.
- shipping_lines[].taxableThe charge objectType: boolean.
- shipping_lines[].tax_linesThe charge objectType: array.
- discounts[].value_typeThe charge objectPossible values: percentage, fixed_amount, shipping.
- charge_attemptsThe charge objectDescription updated.
- has_uncommited_changesThe charge objectRemoved from the reference: the API does not return this attribute.
- external_variant_id_not_foundThe charge objectRemoved from the reference: the API does not return this attribute.
- line_items[].images.sort_orderThe charge objectRemoved from the reference: the API does not return this attribute.
- sort_byList chargesPossible values: id-asc, id-desc, created_at-asc, created_at-desc, updated_at-asc, updated_at-desc, scheduled_at-asc, scheduled_at-desc.
- statusList chargesPossible values: success, queued, error, refunded, partially_refunded, skipped, pending_manual_payment, pending_manual_payment_overdue, pending.
- amountRefund a chargeType: float.
- error_typeRefund a chargePossible values: insufficient_inventory, bc_rejected.
- errorRefund a chargeDescription updated.
- amountRefund a chargeOptional.
- Required scopesRefund a chargeScopes: write_orders, write_payments.
- Required scopesCapture a chargeScopes: write_payments, write_orders, write_subscriptions, write_customers.
- free_giftsAdd a free giftRequired.
- free_gifts[].quantityAdd a free giftRequired.
Checkouts8 endpoints36 attributes44 parameters98 corrections
New endpoints
- List line items of a checkout
GET /checkouts/{token}/line_items - Add line items to a checkout
POST /checkouts/{token}/line_items - Update line items of a checkout
PUT /checkouts/{token}/line_items - Remove line items from a checkout
DELETE /checkouts/{token}/line_items - Retrieve a line item of a checkout
GET /checkouts/{token}/line_items/{line_item_id} - Update a line item of a checkout
PUT /checkouts/{token}/line_items/{line_item_id} - Remove a line item from a checkout
DELETE /checkouts/{token}/line_items/{line_item_id} - Import a checkout
POST /checkouts/import
New attributes
- custom_shipping_rate_optionsThe checkout objectCustom shipping rates that were supplied for the Checkout and can be selected with applied_shipping_rate .
- custom_shipping_rate_options[].codeThe checkout objectCode for the shipping rate.
- custom_shipping_rate_options[].handleThe checkout objectUnique identifier for the shipping rate.
- custom_shipping_rate_options[].priceThe checkout objectPrice for the shipping rate.
- custom_shipping_rate_options[].titleThe checkout objectTitle for the shipping rate.
- external_customer_id.payment_processorThe checkout objectThe customer ID as it appears in the payment processor, populated once the Checkout has been processed.
- line_items[].external_inventory_policyThe checkout objectThe inventory policy configured for the store that applies to the line_item .
- line_items[].external_line_item_idThe checkout objectAn object containing the ID of the line item as it appears in the external system.
- line_items[].external_line_item_id.ecommerceThe checkout objectThe line item ID as it appears in the external e-commerce platform.
- line_items[].tax_lines[].unit_priceThe checkout objectThe tax for a single unit of the line_item for the listed jurisdiction.
- applied_shipping_rate.tax_linesThe checkout objectAn array of tax_line objects for the tax charged on the shipping rate.
- applied_shipping_rate.tax_lines[].priceThe checkout objectThe total tax associated with the listed jurisdiction.
- applied_shipping_rate.tax_lines[].rateThe checkout objectThe tax rate associated with the listed jurisdiction.
- applied_shipping_rate.tax_lines[].titleThe checkout objectThe title/name of the taxing jurisdiction.
- available_shipping_rates[].tax_linesThe checkout objectAn array of tax_line objects for the tax charged on the shipping rate.
- available_shipping_rates[].tax_lines[].priceThe checkout objectThe total tax associated with the listed jurisdiction.
- available_shipping_rates[].tax_lines[].rateThe checkout objectThe tax rate associated with the listed jurisdiction.
- available_shipping_rates[].tax_lines[].titleThe checkout objectThe title/name of the taxing jurisdiction.
- paymentsThe checkout objectAdditional payment methods, such as store credits or gift cards, that are applied to the Checkout total before the main payment method is charged.
- payments[].payment_typeThe checkout objectThe type of the additional payment method. Store credits are returned as STORED_VALUE .
- payments[].payment_processorThe checkout objectThe processor of the additional payment method, e.g. recharge_credits for store credits.
- payments[].payment_tokenThe checkout objectThe token identifying the payment method. For store credits this is the ID of the credit account; for a gift card it is the gift card code.
- payments[].authorization_tokenThe checkout objectThe authorization token supplied for the payment method.
- payments[].amount_appliedThe checkout objectThe amount from this payment method that is applied to the Checkout total.
- payments[].amount_availableThe checkout objectThe balance available on the payment method. For store credits this is the balance remaining after amount_applied .
- shipping_address.shipping_lines_overrideThe checkout objectShipping lines that will be set as the shipping lines override of the Address created when the Checkout is processed.
- shipping_lines[].codeThe checkout objectThe code associated with the shipping_line .
- shipping_lines[].priceThe checkout objectThe price of the shipping_line .
- shipping_lines[].titleThe checkout objectThe title of the shipping_line .
- shipping_lines[].taxableThe checkout objectWhether tax was charged on the shipping_line .
- shipping_lines[].tax_linesThe checkout objectAn array of tax lines associated with the shipping_line .
- shipping_lines[].tax_lines[].priceThe checkout objectThe total tax associated with the listed jurisdiction.
- shipping_lines[].tax_lines[].rateThe checkout objectThe tax rate associated with the listed jurisdiction.
- shipping_lines[].tax_lines[].titleThe checkout objectThe title/name of the taxing jurisdiction.
- shipping_lines[].sourceThe checkout objectThe source of the shipping_line .
- shipping_lines[].rateThe checkout objectThe rate of the shipping_line .
New parameters
- partial_shippingCreate a checkout · query parameterWhen set to true , shipping address validation is reduced so that only the country and zip are required, e.g. for the partial addresses provided by wallet payments. In this mode the country must be sent as shipping_address.country (full country name) instead of shipping_address.country_code .
- paymentsCreate a checkout · body parameterAdditional payment methods, such as store credits or gift cards, to apply to the Checkout total before the main payment method is charged. Duplicate entries are rejected.
- payments[].payment_typeCreate a checkout · body parameterThe type of the additional payment method: stored_value for store credits or gift_card for a gift card.
- payments[].payment_processorCreate a checkout · body parameterThe processor of the additional payment method. Must be recharge_credits when payment_type is stored_value and rise.ai when it is gift_card .
- payments[].payment_tokenCreate a checkout · body parameterThe token identifying the payment method. For store credits this is the ID of the credit account; for a gift card it is the gift card code.
- payments[].authorization_tokenCreate a checkout · body parameterAn authorization token for the payment method.
- line_items[].recurring_unit_priceCreate a checkout · body parameterThe price of a single unit of the line_item that will be charged on recurring orders. Only applies to subscription line items and defaults to unit_price .
- line_items[].requires_shippingCreate a checkout · body parameterWhether the item requires shipping. Defaults to the value of the product in the catalog.
- line_items[].taxableCreate a checkout · body parameterWhether tax is to be applied to the line_item .
- line_items[].external_line_item_idCreate a checkout · body parameterAn object containing the ID of the line item as it appears in the external system.
- line_items[].external_line_item_id.ecommerceCreate a checkout · body parameterThe line item ID as it appears in the external e-commerce platform.
- shipping_address.shipping_lines_overrideCreate a checkout · body parameterShipping lines to set as the shipping lines override of the Address created when the Checkout is processed.
- partial_shippingUpdate a checkout · query parameterWhen set to true , shipping address validation is reduced so that only the country and zip are required, e.g. for the partial addresses provided by wallet payments. In this mode the country must be sent as shipping_address.country (full country name) instead of shipping_address.country_code .
- applied_discountsUpdate a checkout · body parameterDiscount to apply to the Checkout . Send an empty array to remove the applied discount.
- applied_discounts[].discount_codeUpdate a checkout · body parameterThe code for the Discount , e.g. 25_PERCENT_OFF .
- custom_shipping_rate_optionsUpdate a checkout · body parameterList of available shipping rates to use when selecting a shipping rate with applied_shipping_rate .
- custom_shipping_rate_options[].codeUpdate a checkout · body parameterCode for the shipping rate.
- custom_shipping_rate_options[].priceUpdate a checkout · body parameterPrice for the shipping rate.
- custom_shipping_rate_options[].titleUpdate a checkout · body parameterTitle for the shipping rate.
- custom_shipping_rate_options[].handleUpdate a checkout · body parameterUnique identifier for the shipping rate.
- paymentsUpdate a checkout · body parameterAdditional payment methods, such as store credits or gift cards, to apply to the Checkout total before the main payment method is charged. Duplicate entries are rejected.
- payments[].payment_typeUpdate a checkout · body parameterThe type of the additional payment method: stored_value for store credits or gift_card for a gift card.
- payments[].payment_processorUpdate a checkout · body parameterThe processor of the additional payment method. Must be recharge_credits when payment_type is stored_value and rise.ai when it is gift_card .
- payments[].payment_tokenUpdate a checkout · body parameterThe token identifying the payment method. For store credits this is the ID of the credit account; for a gift card it is the gift card code.
- payments[].authorization_tokenUpdate a checkout · body parameterAn authorization token for the payment method.
- line_items[].recurring_unit_priceUpdate a checkout · body parameterThe price of a single unit of the line_item that will be charged on recurring orders. Only applies to subscription line items and defaults to unit_price .
- line_items[].requires_shippingUpdate a checkout · body parameterWhether the item requires shipping. Defaults to the value of the product in the catalog.
- line_items[].taxableUpdate a checkout · body parameterWhether tax is to be applied to the line_item .
- line_items[].external_line_item_idUpdate a checkout · body parameterAn object containing the ID of the line item as it appears in the external system.
- line_items[].external_line_item_id.ecommerceUpdate a checkout · body parameterThe line item ID as it appears in the external e-commerce platform.
- shipping_address.shipping_lines_overrideUpdate a checkout · body parameterShipping lines to set as the shipping lines override of the Address created when the Checkout is processed.
- processor_payment_method_tokenProcess a checkout · body parameterPayment method token from the payment processor that will be used in the transaction. Either this or authorization_token is required unless free is true .
- authorization_tokenProcess a checkout · body parameterToken of a payment authorization that was already created with the payment processor (for example a Stripe intent ID) and should be confirmed instead of creating a new payment.
- processor_customer_tokenProcess a checkout · body parameterThe ID of the customer in the payment processor.
- freeProcess a checkout · body parameterSet to true to process the Checkout without taking a payment. payment_processor and processor_payment_method_token must not be sent when true .
- enable_upsell_opportunityProcess a checkout · body parameterWhether to hold the payment as an authorization so that post-purchase upsell items can be added before it is captured.
- mandate_dataProcess a checkout · body parameterMandate acceptance details for bank debit payments.
- mandate_data.customer_acceptanceProcess a checkout · body parameterDetails of how the customer accepted the mandate.
- mandate_data.customer_acceptance.typeProcess a checkout · body parameterThe type of acceptance, e.g. online . Required when customer_acceptance is sent.
- mandate_data.customer_acceptance.accepted_atProcess a checkout · body parameterTimestamp of when the customer accepted the mandate. Required when customer_acceptance is sent.
- mandate_data.customer_acceptance.onlineProcess a checkout · body parameterDetails of an online mandate acceptance.
- mandate_data.customer_acceptance.online.ip_addressProcess a checkout · body parameterThe IP address from which the customer accepted the mandate.
- mandate_data.customer_acceptance.online.user_agentProcess a checkout · body parameterThe user agent of the browser from which the customer accepted the mandate.
- payment_processor_return_urlProcess a checkout · body parameterThe URL the customer is returned to after authorizing the payment with their bank.
Corrections
- shipping_linesThe checkout objectType: array.
- line_items[].propertiesThe checkout objectType: array.
- applied_shipping_rate.phone_requiredThe checkout objectType: boolean.
- available_shipping_rates[].phone_requiredThe checkout objectType: boolean.
- applied_shipping_rate.delivery_rangeThe checkout objectType: array.
- available_shipping_rates[].delivery_rangeThe checkout objectType: array.
- external_transaction_id.payment_processorThe checkout objectType: string.
- applied_discounts[].value_typeThe checkout objectPossible values: fixed_amount, shipping.
- external_checkout_sourceThe checkout objectPossible values: big_commerce, headless, magento, shopify.
- taxableThe checkout objectDescription updated.
- line_items[].weightThe checkout objectDescription updated.
- line_items[].weight_unitThe checkout objectDescription updated.
- notification_preferences.email.promotional.last_opt_in_sourceThe checkout objectPossible values: api, bulk_update, concierge, customer_portal, customer_sms, merchant_portal, recharge_checkout, rechargesms_app, sci_cart, script, shopify_checkout, sms_reminder, store_opt_in_widget, subscription_checkout_extension, thank_you_page.
- notification_preferences.email.promotional.last_opt_out_sourceThe checkout objectPossible values: api, bulk_update, concierge, customer_portal, customer_sms, merchant_portal, recharge_checkout, rechargesms_app, sci_cart, script, shopify_checkout, sms_reminder, store_opt_in_widget, subscription_checkout_extension, thank_you_page.
- notification_preferences.email.replenishment.last_opt_in_sourceThe checkout objectPossible values: api, bulk_update, concierge, customer_portal, customer_sms, merchant_portal, recharge_checkout, rechargesms_app, sci_cart, script, shopify_checkout, sms_reminder, store_opt_in_widget, subscription_checkout_extension, thank_you_page.
- notification_preferences.email.replenishment.last_opt_out_sourceThe checkout objectPossible values: api, bulk_update, concierge, customer_portal, customer_sms, merchant_portal, recharge_checkout, rechargesms_app, sci_cart, script, shopify_checkout, sms_reminder, store_opt_in_widget, subscription_checkout_extension, thank_you_page.
- notification_preferences.email.transactional.last_opt_in_sourceThe checkout objectPossible values: api, bulk_update, concierge, customer_portal, customer_sms, merchant_portal, recharge_checkout, rechargesms_app, sci_cart, script, shopify_checkout, sms_reminder, store_opt_in_widget, subscription_checkout_extension, thank_you_page.
- notification_preferences.email.transactional.last_opt_out_sourceThe checkout objectPossible values: api, bulk_update, concierge, customer_portal, customer_sms, merchant_portal, recharge_checkout, rechargesms_app, sci_cart, script, shopify_checkout, sms_reminder, store_opt_in_widget, subscription_checkout_extension, thank_you_page.
- notification_preferences.sms.promotional.last_opt_in_sourceThe checkout objectPossible values: api, bulk_update, concierge, customer_portal, customer_sms, merchant_portal, recharge_checkout, rechargesms_app, sci_cart, script, shopify_checkout, sms_reminder, store_opt_in_widget, subscription_checkout_extension, thank_you_page.
- notification_preferences.sms.promotional.last_opt_out_sourceThe checkout objectPossible values: api, bulk_update, concierge, customer_portal, customer_sms, merchant_portal, recharge_checkout, rechargesms_app, sci_cart, script, shopify_checkout, sms_reminder, store_opt_in_widget, subscription_checkout_extension, thank_you_page.
- notification_preferences.sms.replenishment.last_opt_in_sourceThe checkout objectPossible values: api, bulk_update, concierge, customer_portal, customer_sms, merchant_portal, recharge_checkout, rechargesms_app, sci_cart, script, shopify_checkout, sms_reminder, store_opt_in_widget, subscription_checkout_extension, thank_you_page.
- notification_preferences.sms.replenishment.last_opt_out_sourceThe checkout objectPossible values: api, bulk_update, concierge, customer_portal, customer_sms, merchant_portal, recharge_checkout, rechargesms_app, sci_cart, script, shopify_checkout, sms_reminder, store_opt_in_widget, subscription_checkout_extension, thank_you_page.
- notification_preferences.sms.transactional.last_opt_in_sourceThe checkout objectPossible values: api, bulk_update, concierge, customer_portal, customer_sms, merchant_portal, recharge_checkout, rechargesms_app, sci_cart, script, shopify_checkout, sms_reminder, store_opt_in_widget, subscription_checkout_extension, thank_you_page.
- notification_preferences.sms.transactional.last_opt_out_sourceThe checkout objectPossible values: api, bulk_update, concierge, customer_portal, customer_sms, merchant_portal, recharge_checkout, rechargesms_app, sci_cart, script, shopify_checkout, sms_reminder, store_opt_in_widget, subscription_checkout_extension, thank_you_page.
- shipping_lines.address1The checkout objectRemoved from the reference: the API does not return this attribute.
- shipping_lines.address2The checkout objectRemoved from the reference: the API does not return this attribute.
- shipping_lines.cityThe checkout objectRemoved from the reference: the API does not return this attribute.
- shipping_lines.companyThe checkout objectRemoved from the reference: the API does not return this attribute.
- shipping_lines.country_codeThe checkout objectRemoved from the reference: the API does not return this attribute.
- shipping_lines.first_nameThe checkout objectRemoved from the reference: the API does not return this attribute.
- shipping_lines.last_nameThe checkout objectRemoved from the reference: the API does not return this attribute.
- shipping_lines.phoneThe checkout objectRemoved from the reference: the API does not return this attribute.
- shipping_lines.provinceThe checkout objectRemoved from the reference: the API does not return this attribute.
- shipping_lines.zipThe checkout objectRemoved from the reference: the API does not return this attribute.
- line_items[].subscription_preferences.apply_cutoff_date_to_checkoutThe checkout objectRemoved from the reference: the API does not return this attribute.
- line_items[].properties.nameThe checkout objectRemoved from the reference: the API does not return this attribute.
- line_items[].properties.valueThe checkout objectRemoved from the reference: the API does not return this attribute.
- external_checkout_sourceCreate a checkoutPossible values: big_commerce, headless, magento, shopify.
- external_transaction_idCreate a checkoutRemoved from the reference: the API ignores this parameter.
- line_items[].purchase_item_typeCreate a checkoutRemoved from the reference: the API ignores this parameter.
- line_items[].images.sort_orderCreate a checkoutRemoved from the reference: the API ignores this parameter.
- line_items[].external_variant_idCreate a checkoutRequired.
- line_items[].external_variant_id.ecommerceCreate a checkoutRequired.
- line_items[].external_product_id.ecommerceCreate a checkoutRequired.
- line_items[].quantityCreate a checkoutRequired.
- shipping_address.address1Create a checkoutRequired.
- shipping_address.cityCreate a checkoutRequired.
- shipping_address.country_codeCreate a checkoutRequired.
- shipping_address.last_nameCreate a checkoutRequired.
- billing_address.address1Create a checkoutRequired.
- billing_address.cityCreate a checkoutRequired.
- billing_address.country_codeCreate a checkoutRequired.
- billing_address.last_nameCreate a checkoutRequired.
- custom_shipping_rate_options[].codeCreate a checkoutRequired.
- custom_shipping_rate_options[].handleCreate a checkoutRequired.
- custom_shipping_rate_options[].priceCreate a checkoutRequired.
- custom_shipping_rate_options[].titleCreate a checkoutRequired.
- payments[].payment_typeCreate a checkoutRequired.
- payments[].payment_processorCreate a checkoutRequired.
- payments[].payment_tokenCreate a checkoutRequired.
- analytics_data.utm_params[].utm_data_sourceCreate a checkoutRequired.
- analytics_data.utm_params[].utm_timestampCreate a checkoutRequired.
- analytics_dataUpdate a checkoutType: object.
- external_checkout_sourceUpdate a checkoutPossible values: big_commerce, headless, magento, shopify.
- line_itemsUpdate a checkoutDescription updated.
- partial_shippingUpdate a checkoutRemoved from the reference: the API ignores this parameter.
- buyer_accepts_marketingUpdate a checkoutRemoved from the reference: the API ignores this parameter.
- discount_codeUpdate a checkoutRemoved from the reference: the API ignores this parameter.
- phoneUpdate a checkoutRemoved from the reference: the API ignores this parameter.
- shipping_lineUpdate a checkoutRemoved from the reference: the API ignores this parameter.
- applied_shipping_rate.checkoutUpdate a checkoutRemoved from the reference: the API ignores this parameter.
- line_items[].purchase_item_typeUpdate a checkoutRemoved from the reference: the API ignores this parameter.
- line_items[].images.sort_orderUpdate a checkoutRemoved from the reference: the API ignores this parameter.
- line_items[].external_variant_idUpdate a checkoutRequired.
- line_items[].external_variant_id.ecommerceUpdate a checkoutRequired.
- line_items[].external_product_id.ecommerceUpdate a checkoutRequired.
- line_items[].quantityUpdate a checkoutRequired.
- shipping_address.address1Update a checkoutRequired.
- shipping_address.cityUpdate a checkoutRequired.
- shipping_address.country_codeUpdate a checkoutRequired.
- shipping_address.last_nameUpdate a checkoutRequired.
- billing_address.address1Update a checkoutRequired.
- billing_address.cityUpdate a checkoutRequired.
- billing_address.country_codeUpdate a checkoutRequired.
- billing_address.last_nameUpdate a checkoutRequired.
- custom_shipping_rate_options[].codeUpdate a checkoutRequired.
- custom_shipping_rate_options[].handleUpdate a checkoutRequired.
- custom_shipping_rate_options[].priceUpdate a checkoutRequired.
- custom_shipping_rate_options[].titleUpdate a checkoutRequired.
- payments[].payment_typeUpdate a checkoutRequired.
- payments[].payment_processorUpdate a checkoutRequired.
- payments[].payment_tokenUpdate a checkoutRequired.
- analytics_data.utm_params[].utm_data_sourceUpdate a checkoutRequired.
- analytics_data.utm_params[].utm_timestampUpdate a checkoutRequired.
- payment_processorProcess a checkoutPossible values: authorize, braintree, stripe, mollie.
- payment_typeProcess a checkoutPossible values: CREDIT_CARD, PAYPAL, APPLE_PAY, GOOGLE_PAY, SEPA_DEBIT, IDEAL, SHOP_PAY, PAYPAL_EXPRESS, SOFORT, GIROPAY, STORED_VALUE, AMAZON_PAY, INVOICE, AFTERPAY_CLEARPAY, KLARNA.
- payment_tokenProcess a checkoutRemoved from the reference: the API ignores this parameter.
- Process a checkoutProcess a checkoutThe endpoint path is /checkouts/{token}/process.
Collections1 endpoint1 attribute13 parameters6 corrections
New endpoints
- Reorder collection products
POST /collections/{id}/modify_sort
New attributes
- manual_sort_orderThe collection objectThe manual order of the Products in the Collection , as an array of external_product_id values.
New parameters
- typeCreate a collection · body parameterThe type of the Collection . Defaults to manual . It cannot be changed after the collection is created.
- manual_sort_orderUpdate a collection · body parameterAn array of external_product_id values to move to the top of the manual order of the Collection , in the order given. Products that are not in the collection are ignored and products left out keep their relative order.
- idsList collections · query parameterFilter collections by id. If passing multiple values, must be comma separated.
- typeList collections · query parameterReturn the collections of a specific type.
- sort_byList collections · query parameterThe order in which the collections are returned. Defaults to id-desc .
- limitList collections · query parameterThe number of results to return. Defaults to 50; the maximum is 250.
- cursorList collections · query parameterThe cursor of the page to return, taken from next_cursor or previous_cursor in a previous response. Only limit can be sent together with cursor .
- pageList collections · query parameterThe page of results to show. Page-based pagination is deprecated in favor of cursor .
- external_product_idList collections products · query parameterReturn only the collection products with the given external_product_id , which shows the collections a product belongs to.
- sort_byList collections products · query parameterThe order in which the results are returned. Defaults to id-desc .
- limitList collections products · query parameterThe number of results to return. Defaults to 50; the maximum is 250.
- cursorList collections products · query parameterThe cursor of the page to return, taken from next_cursor or previous_cursor in a previous response. Only limit can be sent together with cursor .
- pageList collections products · query parameterThe page of results to show. Page-based pagination is deprecated in favor of cursor .
Corrections
- sort_orderThe collection objectPossible values: id-asc, id-desc, created_at-asc, created_at-desc, updated_at-asc, updated_at-desc, title-asc, title-desc, manual.
- typeThe collection objectPossible values: automatic, manual.
- sort_orderCreate a collectionPossible values: id-asc, id-desc, created_at-asc, created_at-desc, updated_at-asc, updated_at-desc, title-asc, title-desc, manual.
- sort_orderUpdate a collectionPossible values: id-asc, id-desc, created_at-asc, created_at-desc, updated_at-asc, updated_at-desc, title-asc, title-desc, manual.
- collection_products[].external_product_idAdd collection productsRequired.
- collection_products[].external_product_idDelete collection productsRequired.
Credits2 objects4 endpoints2 attributes18 parameters9 corrections
New endpoints
- Retrieve a credit account summary
GET /credit_accounts/{id}/summary - Retrieve a credit adjustment
GET /credit_adjustments/{id} - Retrieve a credit adjustment for a credit account
GET /credit_accounts/{id}/credit_adjustments/{credit_adjustment_id} - Update a credit adjustment
PUT /credit_accounts/{id}/credit_adjustments/{credit_adjustment_id}
New attributes
- includeThe credit account objectAn object containing the related resources requested with the include query parameter.
- include.customerThe credit account objectThe Customer associated with the credit account.
New parameters
- includeRetrieve a credit account · query parameterOnly supported value is customer . If customer is included, the response will include the customer object.
- idsList credit accounts · query parameterFilter credit accounts by id. If passing multiple values, must be comma separated.
- includeList credit accounts · query parameterOnly supported value is customer . If customer is included, the response will include the customer object.
- sort_byList credit accounts · query parameterSort the listed credit accounts in a specific order. Available sort options: id-asc , id-desc , expires_at-asc , expires_at-desc . Defaults to id-desc .
- pageList credit accounts · query parameterThe page to show. Cursor pagination is recommended instead.
- cursorList credit accounts · query parameterReturn either the next or previous page of credit accounts using the next_cursor or previous_cursor value from a previous response. Only limit can be passed together with cursor .
- reference_typeCreate a credit adjustment · body parameterThe type of record the credit adjustment refers to. Defaults to external . The value is stored but is not returned in the response.
- idsList Credit Adjustments for a Credit Account · query parameterReturn the list of credit adjustments linked to the given Recharge ids . If passing multiple values, must be comma separated.
- created_at_minList Credit Adjustments for a Credit Account · query parameterReturn the list of credit adjustments created after the given date.
- created_at_maxList Credit Adjustments for a Credit Account · query parameterReturn the list of credit adjustments created before the given date.
- updated_at_minList Credit Adjustments for a Credit Account · query parameterReturn the list of credit adjustments updated after the given date.
- updated_at_maxList Credit Adjustments for a Credit Account · query parameterReturn the list of credit adjustments updated before the given date.
- sort_byList Credit Adjustments for a Credit Account · query parameterSort the listed credit adjustments in a specific order. Available sort options: id-asc , id-desc , updated_at-asc , updated_at-desc . Defaults to id-desc .
- pageList Credit Adjustments for a Credit Account · query parameterThe page to show. Cursor pagination is recommended instead.
- cursorList Credit Adjustments for a Credit Account · query parameterReturn either the next or previous page of credit adjustments using the next_cursor or previous_cursor value from a previous response. Only limit can be passed together with cursor .
- sort_byList credit adjustments · query parameterSort the listed credit adjustments in a specific order. Available sort options: id-asc , id-desc , updated_at-asc , updated_at-desc . Defaults to id-desc .
- pageList credit adjustments · query parameterThe page to show. Cursor pagination is recommended instead.
- cursorList credit adjustments · query parameterReturn either the next or previous page of credit adjustments using the next_cursor or previous_cursor value from a previous response. Only limit can be passed together with cursor .
Corrections
- typeThe credit account objectPossible values: manual, reward, referral, gift.
- typeCreate a credit accountPossible values: manual, reward.
- customer_idCreate a credit accountOptional.
- nameCreate a credit accountOptional.
- typeCreate a credit accountOptional.
- customer_idUpdate a credit accountType: integer.
- Required scopesCreate a credit adjustmentScopes: write_credit_adjustments_credit, write_credit_adjustments_debit.
- undefinedList credit adjustmentsRemoved from the reference: the API ignores this parameter.
- includeList credit adjustmentsRemoved from the reference: the API ignores this parameter.
Customer notification preferencesNew resource1 object2 endpoints
New objects
New endpoints
- Retrieve a customer's notification preferences
GET /customers/{id}/notification_preferences - Update a customer's notification preferences
PUT /customers/{id}/notification_preferences
Customer sessionsNew resource1 object1 endpoint
New objects
New endpoints
- Create a customer session
POST /customers/{id}/sessions
Customers29 attributes35 parameters1 correction
New attributes
- apply_credit_to_next_checkout_chargeThe customer objectA boolean that indicates whether Recharge credits will be applied to the next checkout charge.
- backup_payment_methods_enabledThe customer objectA boolean that indicates whether backup payment methods can be used for the customer when a charge fails. null when no preference has been set for the customer, in which case the store's default applies.
- can_add_payment_methodThe customer objectA boolean that indicates whether a payment method can be added to the customer in Recharge.
- payment_method_fallback_on_failure_disabledThe customer objectA boolean that indicates whether falling back to the customer's default payment method with the payment processor is disabled when a charge on the assigned payment method fails.
- total_processed_charge_countThe customer objectThe total number of charges successfully processed for the customer.
- recharge_lifetime_value_total_amount_store_default_currencyThe customer objectThe lifetime value of the customer in Recharge, expressed in the store's default currency.
- memberships_active_countThe customer objectThe number of active memberships the customer has.
- memberships_total_countThe customer objectThe total number of memberships created for the customer.
- includeThe customer objectAn object containing the related resources requested with the include query parameter.
- include.addressesThe customer objectThe Addresses associated with the Customer . Returned when include contains addresses .
- include.announcementsThe customer objectThe most recent customer portal announcement for the Customer . Returned when include contains announcements .
- include.announcements[].idThe customer objectUnique numeric identifier for the announcement.
- include.announcements[].customer_idThe customer objectUnique numeric identifier for the Customer the announcement is for.
- include.announcements[].flow_idThe customer objectUnique numeric identifier for the flow that created the announcement.
- include.announcements[].view_schemaThe customer objectAn object describing the content of the announcement shown in the customer portal.
- include.announcements[].created_atThe customer objectThe date and time when the announcement was created.
- include.announcements[].updated_atThe customer objectThe date and time when the announcement was last updated.
- include.gift_purchasesThe customer objectThe gift purchases for which the Customer is the recipient. Returned when include contains gift_purchases . Requires the read_gift_purchases scope.
- include.membershipsThe customer objectThe memberships of the Customer . Returned when include contains memberships . Requires the read_memberships scope.
- include.memberships[].membership_program_nameThe customer objectThe name of the membership program the membership belongs to.
- include.memberships[].membership_program_typeThe customer objectThe type of the membership program the membership belongs to.
- include.metafieldsThe customer objectThe Metafields owned by the Customer . Returned when include contains metafields .
- include.payment_methodsThe customer objectThe Payment Methods of the Customer . Returned when include contains payment_methods . Requires the read_payment_methods scope.
- include.subscriptionsThe customer objectThe Subscriptions of the Customer . Returned when include contains subscriptions . Requires the read_subscriptions scope.
- include.referral_infoThe customer objectAn object containing referral information for the Customer . Returned when include contains referral_info .
- include.referral_info.referral_urlThe customer objectThe referral link of the Customer . Empty when the store has no active referral program.
- include.referral_info.referral_url.urlThe customer objectThe URL the Customer can share to refer others.
- include.referral_info.referral_url.slugThe customer objectThe unique identifier of the Customer used in the referral URL.
- include.punch_card_progressThe customer objectAn object keyed by punch card id that contains the progress of the Customer in each punch card: punch_card_order_count , punch_card_streak_count , punch_card_total_order_value_in_store_currency and the punch_card_previous_* values recorded before the latest order. Returned when include contains punch_card_progress .
New parameters
- analytics_dataCreate a customer · body parameterAn object containing analytics data associated with the customer.
- analytics_data.utm_paramsCreate a customer · body parameterAn array containing utm_param objects.
- analytics_data.utm_params[].utm_data_sourceCreate a customer · body parameterThe source of the campaign parameter. Required for each utm_param object.
- analytics_data.utm_params[].utm_sourceCreate a customer · body parameterThe UTM source.
- analytics_data.utm_params[].utm_mediumCreate a customer · body parameterThe UTM medium.
- analytics_data.utm_params[].utm_campaignCreate a customer · body parameterThe UTM campaign.
- analytics_data.utm_params[].utm_termCreate a customer · body parameterThe UTM term.
- analytics_data.utm_params[].utm_contentCreate a customer · body parameterThe UTM content.
- analytics_data.utm_params[].utm_timestampCreate a customer · body parameterThe UTM timestamp. Required for each utm_param object.
- custom_event_attributesCreate a customer · body parameterA list of up to 10 custom attributes to attach to the Event created by this request. They are returned in the custom_attributes of that Event .
- custom_event_attributes[].keyCreate a customer · body parameterA user-defined key for the custom attribute.
- custom_event_attributes[].valueCreate a customer · body parameterA user-defined value for the custom attribute. Maximum length is 255 characters.
- includeRetrieve a customer · query parameterA comma-separated list of related resources to embed in the include attribute of each Customer .
- analytics_dataUpdate a customer · body parameterAn object containing analytics data associated with the customer. UTM parameters passed in the request are added to the customer's existing utm_params .
- analytics_data.utm_paramsUpdate a customer · body parameterAn array containing utm_param objects.
- analytics_data.utm_params[].utm_data_sourceUpdate a customer · body parameterThe source of the campaign parameter. Required for each utm_param object.
- analytics_data.utm_params[].utm_sourceUpdate a customer · body parameterThe UTM source.
- analytics_data.utm_params[].utm_mediumUpdate a customer · body parameterThe UTM medium.
- analytics_data.utm_params[].utm_campaignUpdate a customer · body parameterThe UTM campaign.
- analytics_data.utm_params[].utm_termUpdate a customer · body parameterThe UTM term.
- analytics_data.utm_params[].utm_contentUpdate a customer · body parameterThe UTM content.
- analytics_data.utm_params[].utm_timestampUpdate a customer · body parameterThe UTM timestamp. Required for each utm_param object.
- apply_credit_to_next_checkout_chargeUpdate a customer · body parameterA boolean that indicates whether Recharge credits will be applied to the next checkout charge. Cannot be changed when the store's credit settings always or never apply credits to checkout charges.
- apply_credit_to_next_recurring_charge_channelUpdate a customer · body parameterThe channel recorded as the origin of the change when apply_credit_to_next_recurring_charge is set to true . Default is api .
- backup_payment_methods_enabledUpdate a customer · body parameterA boolean that indicates whether backup payment methods can be used for the customer when a charge fails.
- payment_method_fallback_on_failure_disabledUpdate a customer · body parameterA boolean that indicates whether falling back to the customer's default payment method with the payment processor is disabled when a charge on the assigned payment method fails.
- custom_event_attributesUpdate a customer · body parameterA list of up to 10 custom attributes to attach to the Event created by this request. They are returned in the custom_attributes of that Event .
- custom_event_attributes[].keyUpdate a customer · body parameterA user-defined key for the custom attribute.
- custom_event_attributes[].valueUpdate a customer · body parameterA user-defined value for the custom attribute. Maximum length is 255 characters.
- includeList customers · query parameterA comma-separated list of related resources to embed in the include attribute of each Customer .
- phoneList customers · query parameterReturns the customer linked to the given phone number. Must be in E.164 format, including the country code.
- sort_byList customers · query parameterSort order of the results. Default is id-desc .
- cursorList customers · query parameterThe next_cursor or previous_cursor value from a previous response, used to retrieve the next or previous page of results. When cursor is passed, only limit can be passed with it.
- includeRetrieve a customer's credit summary · query parameterIf credit_details is passed, the response includes the individual credit accounts of the customer in include.credit_details .
- presentment_currency_codeRetrieve a customer's credit summary · query parameterA 3-letter currency code. When passed, the response also includes the balances converted to this currency.
Corrections
- Required scopesCreate a customerScopes: write_customers.
Discounts7 attributes17 parameters16 corrections
New attributes
- application_methodThe discount objectHow the discount is applied. code discounts are applied with a discount code and automatic discounts are applied without one.
- applies_to_existing_addressesThe discount objectWhether the discount applies to addresses that already exist. Can only be false for automatic discounts.
- customer_segmentsThe discount objectA list of the customer segments linked to the discount. Empty when the discount is not linked to any customer segment.
- customer_segments[].customer_segment_idThe discount objectUnique numeric identifier for the customer segment.
- external_discount_sourceThe discount objectThe external platform that the external_discount_id belongs to.
- titleThe discount objectThe title of the discount. For automatic discounts the title is also returned as the code .
- usage_limits.automatic_redemptions_per_customerThe discount objectThe total number of Charges the Discount applies to for a given Customer . 0 means the discount is single use and null means it applies to all future charges.
New parameters
- external_discount_idCreate a discount · body parameterAn object containing external ids of the discount.
- external_discount_id.ecommerceCreate a discount · body parameterThe discount id as it appears in the external e-commerce platform. Maximum 188 characters.
- external_discount_sourceCreate a discount · body parameterThe external platform that the external_discount_id belongs to. The combination of external_discount_source and external_discount_id must be unique.
- titleCreate a discount · body parameterThe title of the discount. Maximum 255 characters.
- usage_limits.automatic_redemptions_per_customerCreate a discount · body parameterThe total number of Charges the Discount applies to for a given Customer . 0 or 1 makes the discount single use and null applies it to all future charges. Ignored when max_subsequent_redemptions is also passed.
- external_discount_idUpdate a discount · body parameterAn object containing external ids of the discount.
- external_discount_id.ecommerceUpdate a discount · body parameterThe discount id as it appears in the external e-commerce platform. Maximum 188 characters.
- external_discount_sourceUpdate a discount · body parameterThe external platform that the external_discount_id belongs to. The combination of external_discount_source and external_discount_id must be unique.
- usage_limits.automatic_redemptions_per_customerUpdate a discount · body parameterThe total number of Charges the Discount applies to for a given Customer . 0 or 1 makes the discount single use and null applies it to all future charges. Ignored when max_subsequent_redemptions is also passed.
- commitUpdate a discount · body parameterOnly used when status is set to fully_disabled . If true , the discount is removed from the addresses and queued charges it is applied to before the response is returned. Defaults to false , which removes it in the background.
- commitDelete a discount · body parameterControls how the discount is removed from the addresses and queued charges it is applied to. If true (default), it is removed before the response is returned. If false , it is removed in the background.
- discount_typeList discounts · query parameterFilter based on type of discount.
- sort_byList discounts · query parameterSort listed Discounts in a specific order. Available sort options: id-asc , id-desc , created_at-asc , created_at-desc , updated_at-asc , updated_at-desc . Defaults to id-desc .
- wildcard_searchList discounts · query parameterIf true , discount_code returns all discounts whose code starts with the given value instead of requiring an exact match.
- cursorList discounts · query parameterReturn either the next or previous page of discounts using the next_cursor or previous_cursor value from a previous response. Only limit can be passed together with cursor .
- application_methodList discounts · query parameterFilter discounts by how they are applied.
- discount_titleList discounts · query parameterSearch for a particular discount title. Combine with wildcard_search to match titles that start with the given value.
Corrections
- applies_to.resourceThe discount objectPossible values: shopify_product, shopify_collection_id, collection_id.
- usage_limits.redemptionsThe discount objectDescription updated.
- first_time_customer_restrictionThe discount objectRemoved from the reference: the API does not return this attribute.
- prerequisite_subtotal_minCreate a discountType: string.
- statusCreate a discountPossible values: enabled, disabled.
- applies_to.resourceCreate a discountPossible values: shopify_product, shopify_collection_id, collection_id.
- usage_limits.redemptionsCreate a discountDescription updated.
- Required scopesCreate a discountScopes: write_discounts.
- Required scopesRetrieve a discountScopes: read_discounts.
- prerequisite_subtotal_minUpdate a discountType: string.
- applies_to.resourceUpdate a discountPossible values: shopify_product, shopify_collection_id, collection_id.
- usage_limits.redemptionsUpdate a discountDescription updated.
- Required scopesUpdate a discountScopes: write_discounts.
- Required scopesDelete a discountScopes: write_discounts.
- value_typeList discountsRemoved from the reference: the API ignores this parameter.
- Required scopesList discountsScopes: read_discounts.
Entitlements9 attributes3 parameters2 corrections
New attributes
- includeThe customer entitlement objectAn object containing the related resources requested with the include query parameter.
- include.entitlement_featureThe customer entitlement objectThe entitlement feature granted by the customer entitlement.
- include.entitlement_feature.idThe customer entitlement objectUnique numeric identifier for the entitlement feature.
- include.entitlement_feature.lookup_keyThe customer entitlement objectA unique key that identifies the entitlement feature.
- include.entitlement_feature.nameThe customer entitlement objectThe name of the entitlement feature.
- include.entitlement_feature.descriptionThe customer entitlement objectThe description of the entitlement feature.
- include.entitlement_feature.created_atThe customer entitlement objectThe date and time at which the entitlement feature was created.
- include.entitlement_feature.updated_atThe customer entitlement objectThe date and time at which the entitlement feature was last updated.
- include.entitlement_feature.deleted_atThe customer entitlement objectThe date and time at which the entitlement feature was deleted. If null, the entitlement feature has not been deleted.
New parameters
- limitList customer entitlements · query parameterThe amount of results. Default is 50 while the maximum is 250.
- pageList customer entitlements · query parameterThe page to show. Cursor pagination is recommended instead.
- cursorList customer entitlements · query parameterReturn either the next or previous page of customer entitlements using the next_cursor or previous_cursor value from a previous response. Only limit can be passed together with cursor .
Corrections
- granted_by_typeThe customer entitlement objectPossible values: purchase_item, api, user, store_owner, recharge_staff_user_email, internal.
- expires_atCreate a customer entitlementRequired.
Gift purchasesNew resource1 object3 endpoints
New objects
New endpoints
- List gift purchases
GET /gift_purchases - Retrieve a gift purchase
GET /gift_purchases/{id} - Cancel a gift purchase
DELETE /gift_purchases/{id}
Metafields2 parameters9 corrections
New parameters
- sort_byList metafields · query parameterSort listed Metafields in a specific order. Available sort options: id-asc , id-desc , updated_at-asc , updated_at-desc . Defaults to updated_at-desc .
- cursorList metafields · query parameterReturn either the next or previous page of metafields using the next_cursor or previous_cursor value from a previous response. Only limit can be passed together with cursor .
Corrections
- owner_idThe metafield objectType: integer.
- owner_idCreate a metafieldType: integer.
- Required scopesCreate a metafieldScopes: write_customers, write_subscriptions, write_orders, write_stores.
- Required scopesRetrieve a metafieldScopes: read_customers, read_subscriptions, read_orders, store_info.
- owner_idUpdate a metafieldType: integer.
- Required scopesUpdate a metafieldScopes: write_customers, write_subscriptions, write_orders, write_stores.
- Required scopesDelete a metafieldScopes: write_customers, write_subscriptions, write_orders, write_stores.
- owner_idList metafieldsType: integer.
- Required scopesList metafieldsScopes: read_customers, read_subscriptions, read_orders, store_info.
Notifications15 parameters3 corrections
New parameters
- template_vars.payment_method_idSend email notification · body parameterThe payment_method_id of the PaymentMethod of the Customer that the notification is about. Used by the shopify_update_payment_information and shopify_migrate_payment_information template types.
- template_vars.include_deletedSend email notification · body parameterWhether a deleted PaymentMethod may be referenced by payment_method_id . Defaults to false . Used by the shopify_update_payment_information template type.
- template_vars.apply_to_all_subscription_addressesSend email notification · body parameterWhether the updated payment information should be applied to all of the customer's addresses. Defaults to false . Used by the shopify_migrate_payment_information template type.
- template_vars.should_update_all_subsSend email notification · body parameterDeprecated. Use apply_to_all_subscription_addresses instead.
- template_vars.order_idSend email notification · body parameterThe order_id of an Order on the given address. Optional; used by the subscription_activation template type.
- template_vars.membership_idSend email notification · body parameterThe membership_id of the Membership for which the notification should be sent. Required by the membership_enrollment , membership_cancellation , membership_expiration , membership_reactivation and membership_renewal_confirmation template types.
- template_vars.line_itemsSend email notification · body parameterThe line items to feature in the notification. Required (at least one item) by the repurchase_reminder and repurchase_welcome template types.
- template_vars.line_items[].idSend email notification · body parameterUnique numeric identifier of the line item.
- template_vars.line_items[].product_idSend email notification · body parameterIdentifier of the product of the line item.
- template_vars.line_items[].variant_idSend email notification · body parameterIdentifier of the product variant of the line item.
- template_vars.line_items[].quantitySend email notification · body parameterQuantity of the line item.
- template_vars.line_items[].order_idSend email notification · body parameterIdentifier of the order the line item was purchased in.
- template_vars.notificationSend email notification · body parameterThe repurchase notification the email is sent for. Required by the repurchase_reminder and repurchase_welcome template types.
- template_vars.notification.idSend email notification · body parameterUnique numeric identifier of the repurchase notification.
- template_vars.notification.tokenSend email notification · body parameterToken of the repurchase notification, used to build the unsubscribe link.
Corrections
- typeSend email notificationType: string.
- typeSend email notificationPossible values: email, sms.
- template_typeSend email notificationPossible values: delayed_checkout_payment_failed, get_account_access, subscription_activation, upcoming_charge, repurchase_reminder, repurchase_welcome, membership_enrollment, membership_cancellation, membership_expiration, repurchase_reminder_sms, repurchase_welcome_sms, membership_upcoming_charge, membership_reactivation, membership_renewal_confirmation, membership_advanced_notice_upcoming_renewal_charge, membership_pricing_removed, gift_skipped_shipment, shopify_update_payment_information, shopify_migrate_payment_information.
Onetimes14 attributes25 parameters9 corrections
New attributes
- presentment_currencyThe onetime objectThe presentment currency of the Onetime .
- includeThe onetime objectAn object containing the related objects requested with the include query parameter.
- include.addressThe onetime objectThe Address the Onetime is associated with.
- include.bundle_productThe onetime objectThe bundle product that matches the product of the Onetime . null if the product is not a bundle.
- include.bundle_selectionsThe onetime objectThe BundleSelection linked to the Onetime . null if there is none.
- include.charge_activitiesThe onetime objectThe charge activity records created in the last 90 days for the Charges that contain the Onetime .
- include.customerThe onetime objectThe Customer the Onetime is tied to.
- include.customer_entitlementsThe onetime objectThe entitlements granted to the Customer by the Onetime .
- include.customer_entitlements[].idThe onetime objectUnique numeric identifier for the customer entitlement.
- include.customer_entitlements[].descriptionThe onetime objectThe description of the entitlement feature.
- include.customer_entitlements[].expires_atThe onetime objectThe time the entitlement expires. null if it does not expire.
- include.customer_entitlements[].lookup_keyThe onetime objectThe lookup key of the entitlement feature.
- include.customer_entitlements[].nameThe onetime objectThe name of the entitlement feature.
- include.metafieldsThe onetime objectThe Metafields attached to the Onetime .
New parameters
- custom_event_attributesCreate a onetime · body parameterA list of up to 10 custom key-value pairs to attach to the Events generated by this request. They are returned in the custom_attributes of those Events .
- custom_event_attributes[].keyCreate a onetime · body parameterThe name of the custom attribute.
- custom_event_attributes[].valueCreate a onetime · body parameterThe value of the custom attribute. Maximum length is 255 characters.
- plan_idCreate a onetime · body parameterUnique numeric identifier of a Plan of the product. When price is not provided, the discount of this Plan is used to calculate the price of the Onetime .
- presentment_currencyCreate a onetime · body parameterThe presentment currency of the price . It must match the currency of the Address . Required when price is provided and the currency of the Address is not the store's default currency.
- price_manually_setCreate a onetime · body parameterSet to true to indicate that the price in the request was explicitly chosen by the caller instead of being calculated by Recharge.
- properties[].nameCreate a onetime · body parameterThe name of the property.
- properties[].valueCreate a onetime · body parameterThe value of the property.
- sku_overrideCreate a onetime · body parameterWhen true , the sku stored on the Onetime is used instead of the SKU of the product variant.
- variant_titleCreate a onetime · body parameterThe name of the product variant.
- includeRetrieve a onetime · query parameterA comma-separated list of related objects to return in the include attribute of the Onetime . address , customer and customer_entitlements also require the read_customers scope, and charge_activities also requires the read_orders scope.
- include_deletedRetrieve a onetime · query parameterIf true , the Onetime is returned even if it has been deleted.
- custom_event_attributesUpdate a onetime · body parameterA list of up to 10 custom key-value pairs to attach to the Events generated by this request. They are returned in the custom_attributes of those Events .
- custom_event_attributes[].keyUpdate a onetime · body parameterThe name of the custom attribute.
- custom_event_attributes[].valueUpdate a onetime · body parameterThe value of the custom attribute. Maximum length is 255 characters.
- external_product_idUpdate a onetime · body parameterAn object containing the product id as it appears in external platforms.
- external_product_id.ecommerceUpdate a onetime · body parameterThe product id as it appears in the external e-commerce platform.
- presentment_currencyUpdate a onetime · body parameterThe presentment currency of the price . It must match the currency of the Onetime . Required when price is provided and the currency of the Onetime is not the store's default currency.
- price_manually_setUpdate a onetime · body parameterSet to true to indicate that the price in the request was explicitly chosen by the caller instead of being calculated by Recharge.
- sku_overrideUpdate a onetime · body parameterWhen true , the sku stored on the Onetime is used instead of the SKU of the product variant.
- cursorList onetimes · query parameterReturn either the next or previous page of onetimes using the next_cursor or previous_cursor attributes in the response.
- external_customer_idList onetimes · query parameterReturn the onetimes linked to the customer with the given id in the external e-commerce platform.
- includeList onetimes · query parameterA comma-separated list of related objects to return in the include attribute of the Onetimes . address , customer and customer_entitlements also require the read_customers scope, and charge_activities also requires the read_orders scope.
- include_deletedList onetimes · query parameterIf true the response will include the deleted Onetimes as well as the others.
- sort_byList onetimes · query parameterSort the results by the given attribute and direction. Defaults to id-desc .
Corrections
- next_charge_scheduled_atThe onetime objectType: date.
- updated_atThe onetime objectType: datetime.
- external_product_idThe onetime objectType: object.
- external_variant_idThe onetime objectType: object.
- next_charge_scheduled_atCreate a onetimeType: date.
- propertiesCreate a onetimeType: array.
- next_charge_scheduled_atCreate a onetimeOptional.
- next_charge_scheduled_atUpdate a onetimeType: date.
- idsList onetimesType: string.
Orders20 attributes20 parameters27 corrections
New attributes
- charge.payment_processor_nameThe order objectThe name of the payment processor used to process the Charge .
- charge.statusThe order objectThe status of the Charge associated with the Order .
- discounts[].application_methodThe order objectHow the Discount is applied. Returned as null unless automatic discounts are enabled for the store.
- discounts[].titleThe order objectThe title of the Discount . Returned as null unless automatic discounts are enabled for the store.
- errorThe order objectThe error message recorded when the Order could not be submitted to the external e-commerce platform.
- external_order_nameThe order objectAn object containing the external order names.
- external_order_name.ecommerceThe order objectThe order name as it appears in the external e-commerce platform, for example #1001 .
- includeThe order objectAn object containing the related resources requested with the include query parameter.
- include.addressThe order objectThe Address associated with the Order .
- include.customerThe order objectThe Customer associated with the Order .
- include.metafieldsThe order objectThe Metafields associated with the Order .
- include.order_modificationsThe order objectA list of the modifications made to the line items of the Order .
- include.subscriptionsThe order objectThe Subscriptions on the Charge associated with the Order .
- line_items[].external_inventory_policyThe order objectThe inventory behavior applied to the line_item when the Order is created in the external e-commerce platform.
- line_items[].external_line_item_idThe order objectAn object containing the ID of the line_item as it appears in the external system.
- line_items[].external_line_item_id.ecommerceThe order objectThe ID of the line_item as it appears in the external e-commerce platform.
- line_items[].offer_attributesThe order objectAn object describing the offer that added the line_item to the Order . Returned as null when the line_item was not added by an offer.
- line_items[].offer_attributes.typeThe order objectThe type of the offer, for example free_gift .
- line_items[].offer_attributes.sourceThe order objectThe source of the offer.
- line_items[].tax_lines[].unit_priceThe order objectThe tax amount per unit of the line_item for the listed jurisdiction. Defaults to 0.00 when not available.
New parameters
- includeRetrieve an order · query parameterA comma-separated list of related resources to return in the include object of the Order . Each value other than metafields requires the matching read scope on the token: read_customers for address and customer , read_subscriptions for subscriptions , read_orders for order_modifications .
- customer_emailList orders · query parameterFilter orders by the email of the Customer .
- external_order_numberList orders · query parameterFilter orders by the order number as it appears in the external e-commerce platform.
- external_order_idsList orders · query parameterFilter orders by external_order_id. Accepts a comma-separated list of up to 100 values.
- external_product_idsList orders · query parameterFilter orders that contain any of the given external product IDs. If passing multiple values, must be comma separated.
- external_variant_idsList orders · query parameterFilter orders that contain any of the given external variant IDs. If passing multiple values, must be comma separated.
- includeList orders · query parameterA comma-separated list of related resources to return in the include object of each Order . Each value other than metafields requires the matching read scope on the token: read_customers for address and customer , read_subscriptions for subscriptions , read_orders for order_modifications .
- is_prepaidList orders · query parameterPass true to return only orders generated from a prepaid purchase. Passing false does not filter the results.
- processed_at_maxList orders · query parameterShow orders processed before the given date.
- processed_at_minList orders · query parameterShow orders processed after the given date.
- sort_byList orders · query parameterSort the results. Default is id-desc .
- cursorList orders · query parameterThe cursor returned in next_cursor or previous_cursor of a previous response. When a cursor is passed, limit is the only other parameter that can be passed with it.
- force_updateClone an order · query parameterBy default the Charge used for the clone must have a status of success . Pass true to also allow a Charge with a status of refunded , partially_refunded or cancelled .
- charge_idClone an order · body parameterThe ID of the Charge the cloned Order is associated with. Defaults to the Charge of the original Order .
- typeClone an order · body parameterLimits the items copied to the cloned Order . Pass subscriptions to copy only subscription items or onetimes to copy only one-time items. When omitted, all items are copied.
- external_order_numberUpdate an order · body parameterAn object containing the external order numbers.
- external_order_number.ecommerceUpdate an order · body parameterThe order number as it appears in the external e-commerce platform.
- order_attributesUpdate an order · body parameterAn array of name value pairs of note attributes on the Order . Replaces the existing attributes.
- order_attributes[].nameUpdate an order · body parameterThe name for the attribute.
- order_attributes[].valueUpdate an order · body parameterThe value for the associated attribute.
Corrections
- charge.external_transaction_id.payment_processorThe order objectType: string.
- total_line_items_priceThe order objectType: string.
- shipping_lines[].taxableThe order objectType: boolean.
- shipping_lines[].tax_linesThe order objectType: array.
- external_order_numberThe order objectType: object.
- statusThe order objectPossible values: queued, success, error, cancelled, skipped, pending_fraud, pending_charge_status, merged.
- discounts[].value_typeThe order objectPossible values: percentage, fixed_amount, shipping.
- line_items[].images.sort_orderThe order objectRemoved from the reference: the API does not return this attribute.
- statusList ordersPossible values: cancelled, error, pending_charge_status, pending_fraud, queued, skipped, success.
- statusUpdate an orderPossible values: cancelled.
- line_items[].purchase_item_idUpdate an orderDescription updated.
- customer.idUpdate an orderRemoved from the reference: the API ignores this parameter.
- customer.hashUpdate an orderRemoved from the reference: the API ignores this parameter.
- customer.external_customer_idUpdate an orderRemoved from the reference: the API ignores this parameter.
- line_items[].handleUpdate an orderRemoved from the reference: the API ignores this parameter.
- line_items[].imagesUpdate an orderRemoved from the reference: the API ignores this parameter.
- line_items[].original_priceUpdate an orderRemoved from the reference: the API ignores this parameter.
- line_items[].purchase_item_typeUpdate an orderRemoved from the reference: the API ignores this parameter.
- line_items[].tax_dueUpdate an orderRemoved from the reference: the API ignores this parameter.
- line_items[].tax_linesUpdate an orderRemoved from the reference: the API ignores this parameter.
- line_items[].taxableUpdate an orderRemoved from the reference: the API ignores this parameter.
- line_items[].taxable_amountUpdate an orderRemoved from the reference: the API ignores this parameter.
- line_items[].total_priceUpdate an orderRemoved from the reference: the API ignores this parameter.
- line_items[].unit_price_includes_taxUpdate an orderRemoved from the reference: the API ignores this parameter.
- line_items[].quantityUpdate an orderRequired.
- line_items[].external_product_idUpdate an orderRequired.
- line_items[].external_variant_idUpdate an orderRequired.
Payment methods8 attributes21 parameters12 corrections
New attributes
- billing_address.countryThe payment method objectThe full country name of the billing address.
- deleted_atThe payment method objectThe date and time when the payment method was deleted. null for payment methods that have not been deleted.
- includeThe payment method objectAn object containing the related resources requested with the include query parameter. Returned as an empty object when no related resources are requested.
- include.addressesThe payment method objectThe Addresses that use this payment method.
- include.customerThe payment method objectThe Customer the payment method belongs to.
- payment_details.bank_codeThe payment method objectThe bank code of the account.
- payment_details.countryThe payment method objectThe country of the bank account.
- payment_details.external_mandate_idThe payment method objectThe ID of the debit mandate at the processor.
New parameters
- address_idsCreate a payment method · body parameterA list of Address IDs to associate with the new payment method. IDs that do not belong to the customer are ignored.
- apply_to_all_subscription_addressesCreate a payment method · body parameterIf true , the new payment method is associated with all of the addresses of the customer.
- billing_address.countryCreate a payment method · body parameterThe full country name of the billing address. Either country or country_code is required when billing_address is passed.
- payment_detailsCreate a payment method · body parameterDetails about the specific payment method. Accepts brand , last4 , exp_month , exp_year , paypal_email , paypal_payer_id , wallet_type and funding_type . For other processors the details are retrieved from the processor and this value is ignored.
- includeRetrieve a payment method · query parameterA comma-separated list of related resources to return in the include object of the payment method. Both values require the read_customers scope.
- include_deletedRetrieve a payment method · query parameterIf true , a deleted payment method can be retrieved.
- billing_address.countryUpdate a payment method · body parameterThe full country name of the billing address.
- payment_detailsUpdate a payment method · body parameterDetails about the specific payment method. Accepts brand , last4 , exp_month , exp_year , paypal_email , paypal_payer_id , wallet_type and funding_type .
- payment_typeUpdate a payment method · body parameterThe type of payment. Must be supported by the processor of the payment method.
- processor_customer_tokenUpdate a payment method · body parameterThe customer token at the processor. Only applied when processor_payment_method_token is also passed.
- processor_payment_method_tokenUpdate a payment method · body parameterThe payment token at the processor. The token is validated with the processor and the payment details are refreshed from it.
- retry_chargesUpdate a payment method · body parameterWhether charges with a previous payment failure should be retried after the payment method is updated. Defaults to true .
- address_idList payment methods · query parameterGets all Payment methods associated with this Address .
- idsList payment methods · query parameterFilter payment methods by id. If passing multiple values, must be comma separated.
- includeList payment methods · query parameterA comma-separated list of related resources to return in the include object of each payment method. Both values require the read_customers scope.
- include_deletedList payment methods · query parameterIf true , deleted payment methods are also returned and each payment method includes a deleted_at attribute.
- processor_nameList payment methods · query parameterFilter payment methods by processor. Can only be passed together with customer_id .
- processor_payment_method_tokenList payment methods · query parameterFilter payment methods by the payment token at the processor. Only applied when customer_id is also passed.
- limitList payment methods · query parameterThe number of results. Default is 50, maximum is 250.
- pageList payment methods · query parameterThe page to show. Default is 1.
- cursorList payment methods · query parameterThe cursor returned in next_cursor or previous_cursor of a previous response. When a cursor is passed, limit is the only other parameter that can be passed with it.
Corrections
- payment_details.exp_monthThe payment method objectType: integer.
- payment_details.exp_yearThe payment method objectType: integer.
- payment_detailsThe payment method objectDescription updated.
- payment_typeThe payment method objectPossible values: CREDIT_CARD, PAYPAL, APPLE_PAY, GOOGLE_PAY, SEPA_DEBIT, IDEAL, SHOP_PAY, PAYPAL_EXPRESS, SOFORT, GIROPAY, AMAZON_PAY, INVOICE, AFTERPAY_CLEARPAY, KLARNA.
- processor_nameThe payment method objectPossible values: stripe, braintree, authorize, shopify_payments, mollie, custom_gateway.
- payment_typeCreate a payment methodPossible values: CREDIT_CARD, PAYPAL, APPLE_PAY, GOOGLE_PAY, SEPA_DEBIT, IDEAL, SHOP_PAY, PAYPAL_EXPRESS, SOFORT, GIROPAY, AMAZON_PAY, INVOICE, AFTERPAY_CLEARPAY, KLARNA.
- processor_nameCreate a payment methodPossible values: stripe, braintree, authorize, shopify_payments, mollie, custom_gateway.
- defaultCreate a payment methodRequired.
- billing_address.address1Create a payment methodRequired.
- billing_address.cityCreate a payment methodRequired.
- processor_customer_tokenCreate a payment methodOptional.
- processor_nameUpdate a payment methodRemoved from the reference: the API ignores this parameter.
Plans2 endpoints9 attributes56 parameters20 corrections
New endpoints
- Retrieve a plan
GET /plans/{id} - List plan charge frequencies
GET /plans/charge_frequencies
New attributes
- product_quantityThe plan objectThe quantity of the product that a subscriber receives when purchasing through this Plan . null when the plan does not set a quantity.
- translationsThe plan objectAn array of translated titles for the Plan .
- translations[].languageThe plan objectThe language code of the translation, for example fr .
- translations[].titleThe plan objectThe title of the Plan in that language.
- addon_settingsThe plan objectAn object containing the add-on configuration of the Plan . null when the plan is not an add-on plan. Add-on plans must be subscription plans charged and delivered every 1 month, and a product can have only one.
- addon_settings.expirationThe plan objectAn object describing when an add-on purchased through this plan expires. null when it does not expire.
- addon_settings.expiration.typeThe plan objectHow the expiration is expressed.
- addon_settings.expiration.valueThe plan objectThe expiration value. For relative , an object with offset (an integer of 1 or more) and unit ( day , week , month or year ). For absolute , a date string in YYYY-MM-DD format.
- addon_settings.parent_external_variant_idsThe plan objectAn array of the variant ids, as they appear in external platforms, of the parent products the add-on belongs to.
New parameters
- external_variant_idsCreate a plan · body parameterAn array of variant ids, as they appear in external platforms, that the plan applies to.
- has_variant_restrictionsCreate a plan · body parameterWhether this plan applies only to the variants listed in external_variant_ids . Defaults to false .
- product_quantityCreate a plan · body parameterThe quantity of the product that a subscriber receives when purchasing through this Plan . null when the plan does not set a quantity.
- translationsCreate a plan · body parameterAn array of translated titles for the Plan .
- translations[].languageCreate a plan · body parameterThe language code of the translation, for example fr .
- translations[].titleCreate a plan · body parameterThe title of the Plan in that language.
- addon_settingsCreate a plan · body parameterAn object containing the add-on configuration of the Plan . null when the plan is not an add-on plan. Add-on plans must be subscription plans charged and delivered every 1 month, and a product can have only one.
- addon_settings.expirationCreate a plan · body parameterAn object describing when an add-on purchased through this plan expires. null when it does not expire. The key is required when addon_settings is sent.
- addon_settings.expiration.typeCreate a plan · body parameterHow the expiration is expressed.
- addon_settings.expiration.valueCreate a plan · body parameterThe expiration value. For relative , an object with offset (an integer of 1 or more) and unit ( day , week , month or year ). For absolute , a date string in YYYY-MM-DD format.
- addon_settings.parent_external_variant_idsCreate a plan · body parameterAn array of the variant ids, as they appear in external platforms, of the parent products the add-on belongs to. At least one is required when addon_settings is sent.
- external_variant_idsUpdate a plan · body parameterAn array of variant ids, as they appear in external platforms, that the plan applies to.
- has_variant_restrictionsUpdate a plan · body parameterWhether this plan applies only to the variants listed in external_variant_ids . Defaults to false .
- product_quantityUpdate a plan · body parameterThe quantity of the product that a subscriber receives when purchasing through this Plan . null when the plan does not set a quantity.
- translationsUpdate a plan · body parameterAn array of translated titles for the Plan .
- translations[].languageUpdate a plan · body parameterThe language code of the translation, for example fr .
- translations[].titleUpdate a plan · body parameterThe title of the Plan in that language.
- addon_settingsUpdate a plan · body parameterAn object containing the add-on configuration of the Plan . null when the plan is not an add-on plan. Add-on plans must be subscription plans charged and delivered every 1 month, and a product can have only one.
- addon_settings.expirationUpdate a plan · body parameterAn object describing when an add-on purchased through this plan expires. null when it does not expire. The key is required when addon_settings is sent.
- addon_settings.expiration.typeUpdate a plan · body parameterHow the expiration is expressed.
- addon_settings.expiration.valueUpdate a plan · body parameterThe expiration value. For relative , an object with offset (an integer of 1 or more) and unit ( day , week , month or year ). For absolute , a date string in YYYY-MM-DD format.
- addon_settings.parent_external_variant_idsUpdate a plan · body parameterAn array of the variant ids, as they appear in external platforms, of the parent products the add-on belongs to. At least one is required when addon_settings is sent.
- cursorList plans · query parameterThe cursor of the page to return, taken from next_cursor or previous_cursor in a previous response. Only limit can be sent together with cursor .
- sort_byList plans · query parameterThe order in which the plans are returned. Defaults to id-desc .
- created_at_minList plans · query parameterReturn the plans created after the given date.
- created_at_maxList plans · query parameterReturn the plans created before the given date.
- external_product_idsList plans · query parameterReturn the Plans linked to any of the given external_product_id values. If passing multiple values, must be comma separated.
- external_variant_idList plans · query parameterReturn the Plans that can be used with the given variant: plans without variant restrictions and plans whose external_variant_ids contain it. Best combined with external_product_id .
- external_plan_idList plans · query parameterReturn the Plans with the given external_plan_id .
- external_plan_group_idList plans · query parameterReturn the Plans with the given external_plan_group_id .
- plans[].external_variant_idsBulk create plans · body parameterAn array of variant ids, as they appear in external platforms, that the plan applies to.
- plans[].has_variant_restrictionsBulk create plans · body parameterWhether this plan applies only to the variants listed in external_variant_ids . Defaults to false .
- plans[].product_quantityBulk create plans · body parameterThe quantity of the product that a subscriber receives when purchasing through this Plan . null when the plan does not set a quantity.
- plans[].translationsBulk create plans · body parameterAn array of translated titles for the Plan .
- plans[].translations[].languageBulk create plans · body parameterThe language code of the translation, for example fr .
- plans[].translations[].titleBulk create plans · body parameterThe title of the Plan in that language.
- plans[].addon_settingsBulk create plans · body parameterAn object containing the add-on configuration of the Plan . null when the plan is not an add-on plan. Add-on plans must be subscription plans charged and delivered every 1 month, and a product can have only one.
- plans[].addon_settings.expirationBulk create plans · body parameterAn object describing when an add-on purchased through this plan expires. null when it does not expire. The key is required when addon_settings is sent.
- plans[].addon_settings.expiration.typeBulk create plans · body parameterHow the expiration is expressed.
- plans[].addon_settings.expiration.valueBulk create plans · body parameterThe expiration value. For relative , an object with offset (an integer of 1 or more) and unit ( day , week , month or year ). For absolute , a date string in YYYY-MM-DD format.
- plans[].addon_settings.parent_external_variant_idsBulk create plans · body parameterAn array of the variant ids, as they appear in external platforms, of the parent products the add-on belongs to. At least one is required when addon_settings is sent.
- plans[].external_variant_idsBulk update plans · body parameterAn array of variant ids, as they appear in external platforms, that the plan applies to.
- plans[].has_variant_restrictionsBulk update plans · body parameterWhether this plan applies only to the variants listed in external_variant_ids . Defaults to false .
- plans[].product_quantityBulk update plans · body parameterThe quantity of the product that a subscriber receives when purchasing through this Plan . null when the plan does not set a quantity.
- plans[].translationsBulk update plans · body parameterAn array of translated titles for the Plan .
- plans[].translations[].languageBulk update plans · body parameterThe language code of the translation, for example fr .
- plans[].translations[].titleBulk update plans · body parameterThe title of the Plan in that language.
- plans[].addon_settingsBulk update plans · body parameterAn object containing the add-on configuration of the Plan . null when the plan is not an add-on plan. Add-on plans must be subscription plans charged and delivered every 1 month, and a product can have only one.
- plans[].addon_settings.expirationBulk update plans · body parameterAn object describing when an add-on purchased through this plan expires. null when it does not expire. The key is required when addon_settings is sent.
- plans[].addon_settings.expiration.typeBulk update plans · body parameterHow the expiration is expressed.
- plans[].addon_settings.expiration.valueBulk update plans · body parameterThe expiration value. For relative , an object with offset (an integer of 1 or more) and unit ( day , week , month or year ). For absolute , a date string in YYYY-MM-DD format.
- plans[].addon_settings.parent_external_variant_idsBulk update plans · body parameterAn array of the variant ids, as they appear in external platforms, of the parent products the add-on belongs to. At least one is required when addon_settings is sent.
- plans[].subscription_preferences.pricing_progressionBulk update plans · body parameterUsed to configure a plan with dynamic pricing. Only the first item of the array is used.
- plans[].subscription_preferences.pricing_progression[].recurring_discount_after_cycleBulk update plans · body parameterThe number of cycles after which this recurring discount should be applied.
- plans[].subscription_preferences.pricing_progression[].recurring_discount_amountBulk update plans · body parameterThe discount amount applied to the product price after the specified number of cycles.
- plans[].subscription_preferences.pricing_progression[].recurring_discount_typeBulk update plans · body parameterUsed in combination with the recurring discount amount to determine the discount applied after the specified number of cycles.
Corrections
- typeThe plan objectPossible values: subscription, prepaid, prepaid_v2, onetime, membership_subscription.
- subscription_preferences.pricing_progression[].recurring_discount_amountThe plan objectType: float.
- subscription_preferences.pricing_progressionThe plan objectDescription updated.
- channel_settingsCreate a planType: object.
- typeCreate a planPossible values: subscription, prepaid, prepaid_v2, onetime, membership_subscription.
- external_product_id.ecommerceCreate a planRequired.
- subscription_preferences.charge_interval_frequencyCreate a planRequired.
- subscription_preferences.order_interval_frequencyCreate a planRequired.
- subscription_preferences.interval_unitCreate a planRequired.
- sort_orderUpdate a planType: integer.
- typeList plansPossible values: subscription, prepaid, prepaid_v2, onetime, membership_subscription.
- plans[].sort_orderBulk create plansType: integer.
- plans[].typeBulk create plansPossible values: subscription, prepaid, prepaid_v2, onetime, membership_subscription.
- plans[].titleBulk create plansRequired.
- plans[].typeBulk create plansRequired.
- plans[].idBulk update plansType: integer.
- plans[].sort_orderBulk update plansType: integer.
- plans[].idBulk update plansRequired.
- plans[].idBulk delete plansType: integer.
- plans[].idBulk delete plansRequired.
Products6 attributes14 parameters48 corrections
New attributes
- descriptionThe product objectThe description of the product.
- variants[].prices.pricesThe product objectAn object containing the prices of the variant in other currencies.
- variants[].prices.prices.presentment_pricesThe product objectAn object containing the price of the variant in a presentment currency. When sent, currency , unit_price_currency and discounted_price_currency are all required.
- variants[].prices.prices.presentment_prices.currencyThe product objectThe three-letter currency code of the presentment price.
- variants[].prices.prices.presentment_prices.unit_price_currencyThe product objectThe unit price of the variant in the presentment currency.
- variants[].prices.prices.presentment_prices.discounted_price_currencyThe product objectThe discounted price of the variant in the presentment currency.
New parameters
- descriptionCreate a product · body parameterThe description of the product.
- variants[].prices.pricesCreate a product · body parameterAn object containing the prices of the variant in other currencies.
- variants[].prices.prices.presentment_pricesCreate a product · body parameterAn object containing the price of the variant in a presentment currency. When sent, currency , unit_price_currency and discounted_price_currency are all required.
- variants[].prices.prices.presentment_prices.currencyCreate a product · body parameterThe three-letter currency code of the presentment price.
- variants[].prices.prices.presentment_prices.unit_price_currencyCreate a product · body parameterThe unit price of the variant in the presentment currency.
- variants[].prices.prices.presentment_prices.discounted_price_currencyCreate a product · body parameterThe discounted price of the variant in the presentment currency.
- descriptionUpdate a product · body parameterThe description of the product.
- variants[].prices.pricesUpdate a product · body parameterAn object containing the prices of the variant in other currencies.
- variants[].prices.prices.presentment_pricesUpdate a product · body parameterAn object containing the price of the variant in a presentment currency. When sent, currency , unit_price_currency and discounted_price_currency are all required.
- variants[].prices.prices.presentment_prices.currencyUpdate a product · body parameterThe three-letter currency code of the presentment price.
- variants[].prices.prices.presentment_prices.unit_price_currencyUpdate a product · body parameterThe unit price of the variant in the presentment currency.
- variants[].prices.prices.presentment_prices.discounted_price_currencyUpdate a product · body parameterThe discounted price of the variant in the presentment currency.
- limitList products · query parameterThe number of results to return. Defaults to 50; the maximum is 250.
- cursorList products · query parameterThe cursor of the page to return, taken from next_cursor or previous_cursor in a previous response. Only limit can be sent together with cursor .
Corrections
- optionsThe product objectType: array.
- options.positionThe product objectType: integer.
- variants[].dimensions.weightThe product objectType: float.
- variants[].taxableThe product objectType: boolean.
- variants[].image.sort_orderThe product objectRemoved from the reference: the API does not return this attribute.
- external_product_idCreate a productType: string.
- requires_shippingCreate a productType: boolean.
- optionsCreate a productType: array.
- options.positionCreate a productType: integer.
- variants[].dimensions.weightCreate a productType: float.
- variants[].taxableCreate a productType: boolean.
- external_product_id.ecommerceCreate a productRemoved from the reference: the API ignores this parameter.
- external_created_atCreate a productRemoved from the reference: the API ignores this parameter.
- external_updated_atCreate a productRemoved from the reference: the API ignores this parameter.
- variants[].dimensions.weight_unitCreate a productRemoved from the reference: the API ignores this parameter.
- variants[].image.sort_orderCreate a productRemoved from the reference: the API ignores this parameter.
- options.nameCreate a productRequired.
- options.positionCreate a productRequired.
- options.valuesCreate a productRequired.
- options.values[].labelCreate a productRequired.
- options.values[].positionCreate a productRequired.
- variants[].dimensionsCreate a productRequired.
- variants[].dimensions.weightCreate a productRequired.
- variants[].external_variant_idCreate a productRequired.
- variants[].option_valuesCreate a productRequired.
- variants[].option_values[].labelCreate a productRequired.
- variants[].pricesCreate a productRequired.
- variants[].prices.unit_priceCreate a productRequired.
- variants[].taxableCreate a productRequired.
- optionsUpdate a productType: array.
- options.positionUpdate a productType: integer.
- variants[].dimensions.weightUpdate a productType: float.
- variants[].taxableUpdate a productType: boolean.
- external_created_atUpdate a productRemoved from the reference: the API ignores this parameter.
- external_updated_atUpdate a productRemoved from the reference: the API ignores this parameter.
- variants[].dimensions.weight_unitUpdate a productRemoved from the reference: the API ignores this parameter.
- variants[].image.sort_orderUpdate a productRemoved from the reference: the API ignores this parameter.
- options.nameUpdate a productRequired.
- options.positionUpdate a productRequired.
- options.valuesUpdate a productRequired.
- options.values[].labelUpdate a productRequired.
- options.values[].positionUpdate a productRequired.
- variants[].dimensionsUpdate a productRequired.
- variants[].option_valuesUpdate a productRequired.
- variants[].option_values[].labelUpdate a productRequired.
- variants[].pricesUpdate a productRequired.
- variants[].prices.unit_priceUpdate a productRequired.
- variants[].taxableUpdate a productRequired.
Retention strategiesNew resource1 object5 endpoints
New objects
New endpoints
- List retention strategies
GET /retention_strategies - Retrieve a retention strategy
GET /retention_strategies/{id} - Create a retention strategy
POST /retention_strategies - Update a retention strategy
PUT /retention_strategies/{id} - Delete a retention strategy
DELETE /retention_strategies/{id}
Reward creditsNew resource1 object3 endpoints
New objects
New endpoints
- List reward credits
GET /reward_credits - Retrieve a reward credit
GET /reward_credits/{id} - Create a reward credit
POST /reward_credits
Store6 attributes4 corrections
New attributes
- allow_customers_to_skip_deliveryThe store objectWhether customers are allowed to skip a delivery in the customer portal ( 1 ) or not ( 0 ).
- external_platform_domainThe store objectDomain of the store on the external platform.
- platform_domainThe store objectThe store's domain as registered with Recharge.
- storefront_domainThe store objectDomain of the store's storefront.
- subscriptions_enabledThe store objectWhether subscriptions are enabled for the store.
- test_modeThe store objectWhether the store is in test mode. Currently always returned as false by this endpoint.
Corrections
- default_api_versionThe store objectType: string.
- checkout_platformThe store objectPossible values: recharge, shopify.
- external_platformThe store objectPossible values: big_commerce, headless, magento, shopify.
- Required scopesRetrieve a storeScopes: read_store, store_info.
Subscriptions4 endpoints27 attributes61 parameters17 corrections
New endpoints
- Skip a future charge for a subscription
POST /subscriptions/{id}/charges/skip - Preview skipping the next charge of a subscription
GET /subscriptions/{id}/charges/skip/preview - Bulk change subscription addresses
POST /addresses/{address_id}/subscriptions-bulk-change-address - Update a bundle subscription and its contents
PUT /bundles/{purchase_item_id}
New attributes
- is_digitalThe subscription objectValue is true if the Subscription is for a digital item, meaning the item does not require shipping and its Plan grants at least one entitlement. Always false for stores that do not have digital subscriptions enabled.
- plan_idThe subscription objectUnique numeric identifier of the Plan the Subscription is linked to.
- locked_pending_charge_idThe subscription objectUnique numeric identifier of the Charge that is waiting for a payment confirmation for this Subscription . The Subscription cannot be modified while this value is set.
- additional_variant_dataThe subscription objectAn object containing variant values stored on the Subscription . Each key holds an object with the stored value and an override boolean that is true when the value was set explicitly on the Subscription . The object is empty when no values are stored.
- additional_variant_data.fulfillment_serviceThe subscription objectThe fulfillment service of the variant, as value and override .
- additional_variant_data.gramsThe subscription objectThe weight of the variant in grams, as value and override .
- additional_variant_data.tax_codeThe subscription objectThe tax code of the variant, as value and override .
- additional_variant_data.taxableThe subscription objectWhether the variant is taxable, as value and override .
- additional_variant_data.vendorThe subscription objectThe vendor of the variant, as value and override .
- includeThe subscription objectAn object containing the related objects requested with the include query parameter.
- include.addressThe subscription objectThe Address the Subscription is associated with.
- include.bundle_productThe subscription objectThe bundle product that matches the product of the Subscription . null if the product is not a bundle.
- include.bundle_selectionsThe subscription objectThe BundleSelection linked to the Subscription . null if there is none.
- include.charge_activitiesThe subscription objectThe charge activity records created in the last 90 days for the Charges that contain the Subscription .
- include.customerThe subscription objectThe Customer the Subscription is tied to.
- include.customer_entitlementsThe subscription objectThe entitlements granted to the Customer by the Subscription .
- include.customer_entitlements[].idThe subscription objectUnique numeric identifier for the customer entitlement.
- include.customer_entitlements[].descriptionThe subscription objectThe description of the entitlement feature.
- include.customer_entitlements[].expires_atThe subscription objectThe time the entitlement expires. null if it does not expire.
- include.customer_entitlements[].lookup_keyThe subscription objectThe lookup key of the entitlement feature.
- include.customer_entitlements[].nameThe subscription objectThe name of the entitlement feature.
- include.metafieldsThe subscription objectThe Metafields attached to the Subscription .
- include.addonsThe subscription objectThe add-on relationships of the Subscription with other subscriptions.
- include.addons[].typeThe subscription objectThe role of the related subscription: child when the related subscription is an add-on of this Subscription , parent when this Subscription is an add-on of the related subscription.
- include.addons[].parent_subscription_idThe subscription objectUnique numeric identifier of the parent Subscription in the relationship.
- include.addons[].child_subscription_idThe subscription objectUnique numeric identifier of the add-on Subscription in the relationship.
- include.expires_atThe subscription objectA list containing the date on which the Subscription expires as an add-on, or null if it has no expiration.
New parameters
- commitCreate a subscription · query parameterIf set to true , the QUEUED charges linked to the Subscription are regenerated before the response is returned. If omitted or false , the charges are regenerated asynchronously.
- analytics_dataCreate a subscription · body parameterAn object used to contain analytics data such as utm parameters.
- analytics_data.utm_paramsCreate a subscription · body parameterAn array containing utm_param objects.
- analytics_data.utm_params[].utm_campaignCreate a subscription · body parameterThe UTM campaign.
- analytics_data.utm_params[].utm_contentCreate a subscription · body parameterThe UTM content.
- analytics_data.utm_params[].utm_data_sourceCreate a subscription · body parameterThe source of the campaign parameter. Required for each utm_param object.
- analytics_data.utm_params[].utm_mediumCreate a subscription · body parameterThe UTM medium.
- analytics_data.utm_params[].utm_sourceCreate a subscription · body parameterThe UTM source.
- analytics_data.utm_params[].utm_termCreate a subscription · body parameterThe UTM term.
- analytics_data.utm_params[].utm_timestampCreate a subscription · body parameterThe UTM timestamp. Required for each utm_param object.
- cancellation_reasonCreate a subscription · body parameterReason for cancellation. Can only be set when status is cancelled or expired .
- cancelled_atCreate a subscription · body parameterThe time the subscription was cancelled. Can only be set when status is cancelled or expired . Defaults to the current time when status is cancelled .
- custom_event_attributesCreate a subscription · body parameterA list of up to 10 custom key-value pairs to attach to the Events generated by this request. They are returned in the custom_attributes of those Events .
- custom_event_attributes[].keyCreate a subscription · body parameterThe name of the custom attribute.
- custom_event_attributes[].valueCreate a subscription · body parameterThe value of the custom attribute. Maximum length is 255 characters.
- presentment_currencyCreate a subscription · body parameterThe presentment currency of the price . It must match the currency of the Address . Required when price is provided and the currency of the Address is not the store's default currency.
- price_manually_setCreate a subscription · body parameterSet to true to indicate that the price in the request was explicitly chosen by the caller instead of being calculated by Recharge.
- skuCreate a subscription · body parameterA unique identifier of the item in the fulfillment.
- sku_overrideCreate a subscription · body parameterWhen true , the sku stored on the Subscription is used instead of the SKU of the product variant.
- variant_titleCreate a subscription · body parameterThe name of the product variant.
- includeRetrieve a subscription · query parameterA comma-separated list of related objects to return in the include attribute of the Subscription . address , customer and customer_entitlements also require the read_customers scope, and charge_activities also requires the read_orders scope. addons and expires_at only return data for stores with add-on subscriptions enabled.
- address_idUpdate a subscription · body parameterUnique numeric identifier of the Address to move the Subscription to. The Address must belong to the same Customer and use the same currency as the Subscription .
- analytics_dataUpdate a subscription · body parameterAn object used to contain analytics data such as utm parameters. The UTM parameters passed are added to the ones already stored on the Subscription .
- analytics_data.utm_paramsUpdate a subscription · body parameterAn array containing utm_param objects.
- analytics_data.utm_params[].utm_campaignUpdate a subscription · body parameterThe UTM campaign.
- analytics_data.utm_params[].utm_contentUpdate a subscription · body parameterThe UTM content.
- analytics_data.utm_params[].utm_data_sourceUpdate a subscription · body parameterThe source of the campaign parameter. Required for each utm_param object.
- analytics_data.utm_params[].utm_mediumUpdate a subscription · body parameterThe UTM medium.
- analytics_data.utm_params[].utm_sourceUpdate a subscription · body parameterThe UTM source.
- analytics_data.utm_params[].utm_termUpdate a subscription · body parameterThe UTM term.
- analytics_data.utm_params[].utm_timestampUpdate a subscription · body parameterThe UTM timestamp. Required for each utm_param object.
- cancellation_reasonUpdate a subscription · body parameterReason for cancellation. Can only be set when status is passed as cancelled or expired in the same request.
- cancellation_reason_commentsUpdate a subscription · body parameterAdditional comment for cancellation. Maximum length is 1024 characters. Can only be set when status is passed as cancelled or expired in the same request.
- cancelled_atUpdate a subscription · body parameterThe time the subscription was cancelled. Can only be set when status is passed as cancelled or expired in the same request.
- custom_event_attributesUpdate a subscription · body parameterA list of up to 10 custom key-value pairs to attach to the Events generated by this request. They are returned in the custom_attributes of those Events .
- custom_event_attributes[].keyUpdate a subscription · body parameterThe name of the custom attribute.
- custom_event_attributes[].valueUpdate a subscription · body parameterThe value of the custom attribute. Maximum length is 255 characters.
- external_product_idUpdate a subscription · body parameterAn object containing the product id as it appears in external platforms.
- external_product_id.ecommerceUpdate a subscription · body parameterThe product id as it appears in the external e-commerce platform.
- next_charge_scheduled_atUpdate a subscription · body parameterThe date of the next charge for the Subscription . It cannot be in the past.
- overrideUpdate a subscription · body parameterIf set to true , allows interval changes that are otherwise rejected, such as changing the charge or order frequency of a prepaid Subscription , or changing a Subscription to a prepaid frequency.
- presentment_currencyUpdate a subscription · body parameterThe presentment currency of the price . It must match the currency of the Subscription . Required when price is provided and the currency of the Subscription is not the store's default currency.
- price_manually_setUpdate a subscription · body parameterSet to true to indicate that the price in the request was explicitly chosen by the caller instead of being calculated by Recharge.
- statusUpdate a subscription · body parameterThe status of the Subscription . When set to cancelled without cancelled_at , the cancellation time is set to the current time.
- commitDelete a subscription · query parameterIf set to true , the QUEUED charges linked to the Subscription are regenerated before the response is returned. If omitted or false , the charges are regenerated asynchronously.
- bundles_onlyList subscriptions · query parameterIf true , only return the subscriptions whose product variant belongs to an active, published bundle product. Only true is accepted; omit the parameter to list all subscriptions.
- external_customer_idList subscriptions · query parameterReturn the subscriptions linked to the customer with the given id in the external e-commerce platform.
- includeList subscriptions · query parameterA comma-separated list of related objects to return in the include attribute of the Subscriptions . address , customer and customer_entitlements also require the read_customers scope, and charge_activities also requires the read_orders scope. addons and expires_at only return data for stores with add-on subscriptions enabled.
- include_onetimesList subscriptions · query parameterIf true , the response also contains an onetimes array with the Onetimes matching the same filters. Only applied when address_id , customer_id or external_customer_id is also passed.
- sort_byList subscriptions · query parameterSort the results by the given attribute and direction. Defaults to id-desc .
- commitChange a subscription next charge date · query parameterIf set to true , the QUEUED charges linked to the Subscription are regenerated before the response is returned. If omitted or false , the charges are regenerated asynchronously.
- pauseChange a subscription next charge date · query parameterIf true , the date change is also recorded as a pause of the Subscription and the subscription/paused webhook is sent.
- custom_event_attributesChange a subscription next charge date · body parameterA list of up to 10 custom key-value pairs to attach to the Events generated by this request. They are returned in the custom_attributes of those Events .
- custom_event_attributes[].keyChange a subscription next charge date · body parameterThe name of the custom attribute.
- custom_event_attributes[].valueChange a subscription next charge date · body parameterThe value of the custom attribute. Maximum length is 255 characters.
- commitCancel a subscription · query parameterIf set to true , the QUEUED charges linked to the Subscription are regenerated before the response is returned. If omitted or false , the charges are regenerated asynchronously.
- overrideCancel a subscription · body parameterIf set to true , the cancellation reason and comments can be replaced on a Subscription that was already cancelled after reaching the maximum number of charge attempts.
- commitActivate a subscription · query parameterIf set to true , the QUEUED charges linked to the Subscription are regenerated before the response is returned. If omitted or false , the charges are regenerated asynchronously.
- custom_event_attributesActivate a subscription · body parameterA list of up to 10 custom key-value pairs to attach to the Events generated by this request. They are returned in the custom_attributes of those Events .
- custom_event_attributes[].keyActivate a subscription · body parameterThe name of the custom attribute.
- custom_event_attributes[].valueActivate a subscription · body parameterThe value of the custom attribute. Maximum length is 255 characters.
Corrections
- charge_interval_frequencyThe subscription objectType: integer.
- next_charge_scheduled_atThe subscription objectType: date.
- next_charge_scheduled_atCreate a subscriptionType: date.
- order_day_of_monthUpdate a subscriptionType: integer.
- order_day_of_weekUpdate a subscriptionType: integer.
- order_interval_frequencyUpdate a subscriptionType: integer.
- quantityUpdate a subscriptionType: integer.
- dateChange a subscription next charge dateType: date.
- cancellation_reasonCancel a subscriptionOptional.
- recipient_address.address1Gift a skipped subscriptionRequired.
- recipient_address.cityGift a skipped subscriptionRequired.
- recipient_address.country_codeGift a skipped subscriptionRequired.
- recipient_address.emailGift a skipped subscriptionRequired.
- recipient_address.first_nameGift a skipped subscriptionRequired.
- recipient_address.last_nameGift a skipped subscriptionRequired.
- recipient_address.provinceGift a skipped subscriptionRequired.
- recipient_address.zipGift a skipped subscriptionRequired.
Webhook endpoints3 parameters12 webhook topics8 corrections
New parameters
- limitList webhooks · query parameterNumber of results to return. Defaults to 50; the maximum is 250.
- pageList webhooks · query parameterPage to show. Cannot be greater than 300. Page-based pagination can be disabled for a token, in which case cursors must be used.
- sort_byList webhooks · query parameterSort order of the results. Defaults to id-desc .
New webhook topics
- address/deletedAvailable webhooksFires when an Address is deleted.
- address/payment_method/updatedAvailable webhooksFires when the PaymentMethod associated with an Address is changed.
- async_batch/startedAvailable webhooksFires when an async batch starts running its tasks.
- gift_purchase/updatedAvailable webhooksFires when a gift purchase is updated. Only fires for stores that offer gift purchases.
- gift_purchase/unclaimedAvailable webhooksFires once when a gift purchase that was sent to its recipient has not been redeemed within the reminder period. Only fires for stores that offer gift purchases.
- gift_purchase/sentAvailable webhooksFires when the gift notification is sent to the recipient of a gift purchase. Only fires for stores that offer gift purchases.
- order/delayedAvailable webhooksFires when a queued prepaid Order is delayed.
- payment_method/createdAvailable webhooksFires when a PaymentMethod is created.
- payment_method/deletedAvailable webhooksFires when a PaymentMethod is deleted.
- payment_method/expiredAvailable webhooksFires when the card of a PaymentMethod will have expired by the date of an upcoming Charge .
- payment_method/updatedAvailable webhooksFires when a PaymentMethod is updated.
- subscription/expiredAvailable webhooksFires when a Subscription expires. It is followed by subscription/cancelled .
Corrections
- included_objectsThe Webhook objectPossible values: address, addresses, charge_activities, customer, event, event_charge, metafields, payment_methods, subscriptions.
- versionThe Webhook objectPossible values: 2021-01, 2021-11.
- addressCreate a webhookType: string.
- topicCreate a webhookType: string.
- included_objectsCreate a webhookPossible values: address, addresses, charge_activities, customer, event, event_charge, metafields, payment_methods, subscriptions.
- versionCreate a webhookPossible values: v2, 2021-01, 2021-11.
- included_objectsUpdate a webhookPossible values: address, addresses, charge_activities, customer, event, event_charge, metafields, payment_methods, subscriptions.
- versionUpdate a webhookPossible values: v2, 2021-01, 2021-11.
Async batch Endpoints2 endpoints2 attributes8 parameters18 batch types16 corrections
New endpoints
- Delete a batch
DELETE /async_batches/{id} - Terminate a batch
PUT /async_batches/{id}
New attributes
- deleted_atThe async batch objectThe date and time the batch was deleted. Deleted batches are not returned by the API, so this is null .
- expired_atThe async batch objectThe date and time until which the batch and its tasks are retained.
New parameters
- tasksCreate a batch · body parameterOptional list of tasks to add to the batch when it is created. A single request can contain at most 1,000 tasks.
- tasks[].bodyCreate a batch · body parameterThe body of the task, in the format required by the batch_type .
- batch_typeList batches · query parameterFilter batches by batch_type . Any registered batch type can be used as a filter, including types that can only be created with API version 2021-01.
- statusList batches · query parameterFilter batches by status .
- sort_byList batches · query parameterSort order of the results. Defaults to id-desc .
- limitList batches · query parameterNumber of results to return. Defaults to 50; the maximum is 250.
- pageList batches · query parameterPage to show. Cannot be greater than 300. Page-based pagination can be disabled for a token, in which case cursors must be used.
- cursorList batches · query parameterReturn either the next or previous page of batches using the next_cursor or previous_cursor value from a previous response. When cursor is passed, only limit may be passed with it.
New batch types
- address_updateBatch typesUpdates one Address per task.
- bulk_customer_notification_preferences_accepted_updateBatch typesRecords that a Customer accepted a notification preference, one per task.
- bulk_customer_notification_preferences_declined_updateBatch typesRecords that a Customer declined a notification preference, one per task.
- bulk_customers_updateBatch typesUpdates one Customer per task.
- bundle_bulk_swapBatch typesSwaps items in the BundleSelection of one Subscription per task.
- bundle_selection_assignBatch typesCreates or replaces the BundleSelection of one Subscription per task.
- bundle_selection_updateBatch typesUpdates one BundleSelection per task.
- bundle_selections_deleteBatch typesRemoves items from the BundleSelection of one Subscription per task.
- bundle_selections_sync_priceBatch typesRecalculates the item prices of one BundleSelection per task.
- charge_processBatch typesProcesses one Charge per task.
- credit_account_createBatch typesCreates one credit account per task.
- credit_account_updateBatch typesUpdates one credit account per task.
- free_gifts_addBatch typesAdds free gift items to one Charge per task.
- free_gifts_removeBatch typesRemoves free gift items from one Charge per task.
- onetime_updateBatch typesUpdates one Onetime per task.
- plan_createBatch typesCreates one Plan per task. The task body is the body of a create plan request.
- product_variant_tax_code_updateBatch typesSets the tax code of one product variant per task.
- subscription_updateBatch typesUpdates one Subscription per task.
Corrections
- idThe async batch objectType: integer.
- batch_typeThe async batch objectPossible values: address_update, bulk_customer_notification_preferences_accepted_update, bulk_customer_notification_preferences_declined_update, bulk_customers_update, bulk_plans_create, bulk_plans_delete, bulk_plans_update, bundle_bulk_swap, bundle_selection_assign, bundle_selection_update, bundle_selections_delete, bundle_selections_sync_price, charge_process, credit_account_create, credit_account_update, discount_create, discount_delete, discount_update, free_gifts_add, free_gifts_remove, onetime_create, onetime_delete, onetime_update, plan_create, product_variant_tax_code_update, subscription_update.
- statusThe async batch objectPossible values: not_started, processing, running, completed, failed, terminated.
- closed_atThe async batch objectType: datetime.
- created_atThe async batch objectType: datetime.
- submitted_atThe async batch objectType: datetime.
- updated_atThe async batch objectType: datetime.
- fail_task_countThe async batch objectType: integer.
- success_task_countThe async batch objectType: integer.
- total_task_countThe async batch objectType: integer.
- versionThe async batch objectPossible values: 2021-01, 2021-11.
- batch_typeCreate a batchPossible values: address_update, bulk_customer_notification_preferences_accepted_update, bulk_customer_notification_preferences_declined_update, bulk_customers_update, bulk_plans_create, bulk_plans_delete, bulk_plans_update, bundle_bulk_swap, bundle_selection_assign, bundle_selection_update, bundle_selections_delete, bundle_selections_sync_price, charge_process, credit_account_create, credit_account_update, discount_create, discount_delete, discount_update, free_gifts_add, free_gifts_remove, onetime_create, onetime_delete, onetime_update, plan_create, product_variant_tax_code_update, subscription_update.
- batch_typeCreate a batchRequired.
- Required scopesRetrieve a batchScopes: read_batches.
- Required scopesList batchesScopes: read_batches.
- Required scopesProcess a batchScopes: write_batches.
Async batch Tasks1 endpoint1 attribute8 parameters17 corrections
New endpoints
- Retrieve a batch task
GET /async_batches/{batch_id}/tasks/{task_id}
New attributes
- stalled_atThe async batch Tasks objectIndicates the date and time a task was flagged as stalled during processing.
New parameters
- tasksCreate a batch task · body parameterList of tasks to add to the batch. A single request can contain at most 1,000 tasks and a batch can hold at most 10,000 tasks.
- tasks[].bodyCreate a batch task · body parameterThe body of the task, in the format required by the batch_type of the batch.
- statusList batch tasks · query parameterFilter tasks by status .
- completedList batch tasks · query parameterWhen true , return only tasks that have finished processing; when false , return only tasks that have not finished.
- sort_byList batch tasks · query parameterSort order of the results. Defaults to id-desc .
- limitList batch tasks · query parameterNumber of results to return. Defaults to 50; the maximum is 250.
- pageList batch tasks · query parameterPage to show. Cannot be greater than 300. Page-based pagination can be disabled for a token, in which case cursors must be used.
- cursorList batch tasks · query parameterReturn either the next or previous page of tasks using the next_cursor or previous_cursor value from a previous response. When cursor is passed, only limit may be passed with it.
Corrections
- statusThe async batch Tasks objectPossible values: pending, queued, processing, success, fail.
- resultThe async batch Tasks objectType: object.
- batch_idCreate a batch taskRemoved from the reference: the API ignores this parameter.
- bodyCreate a batch taskRemoved from the reference: the API ignores this parameter.
- completed_atCreate a batch taskRemoved from the reference: the API ignores this parameter.
- created_atCreate a batch taskRemoved from the reference: the API ignores this parameter.
- deleted_atCreate a batch taskRemoved from the reference: the API ignores this parameter.
- idCreate a batch taskRemoved from the reference: the API ignores this parameter.
- queued_atCreate a batch taskRemoved from the reference: the API ignores this parameter.
- resultCreate a batch taskRemoved from the reference: the API ignores this parameter.
- started_atCreate a batch taskRemoved from the reference: the API ignores this parameter.
- statusCreate a batch taskRemoved from the reference: the API ignores this parameter.
- updated_atCreate a batch taskRemoved from the reference: the API ignores this parameter.
- tasksCreate a batch taskRequired.
- tasks[].bodyCreate a batch taskRequired.
- Required scopesCreate a batch taskScopes: write_batches.
- Required scopesList batch tasksScopes: read_batches.
Token information1 endpoint3 attributes2 corrections
New endpoints
- Rotate the current token
POST /token_information/rotate
New attributes
- client.contact_emailThe token information objectThe client's email.
- created_by_emailThe token information objectThe email of the user on whose behalf the token was issued. null for API tokens created by a merchant or an OAuth app.
- created_by_user_idThe token information objectThe unique numeric identifier of the user on whose behalf the token was issued. null for API tokens created by a merchant or an OAuth app.
Corrections
- clientThe token information objectDescription updated.
- client.emailThe token information objectRemoved from the reference: the API does not return this attribute.
Accounts8 attributes9 parameters
New attributes
- last_login_atThe account objectThe date and time the user last logged in to the Account .
- role_associationThe account objectThe role association recorded for the user of the Account .
- role_departmentThe account objectThe department recorded for the user of the Account .
- role_titleThe account objectThe job title recorded for the user of the Account .
- role_partner_detailsThe account objectAn object with partner details recorded for the user of the Account .
- permissionsThe account objectList of permission keys granted to the Account .
- includeThe account objectRelated objects requested with the include query parameter.
- include.storeThe account objectThe Store the Account belongs to.
New parameters
- includeRetrieve an account · query parameterInclude related objects in the response. Use store to embed the Store the Account belongs to under include.store .
- user_idList accounts · query parameterFilter accounts by the unique numeric identifier of the associated user.
- is_ownerList accounts · query parameterFilter accounts by whether the user is the store owner.
- email_searchList accounts · query parameterReturn accounts whose user email contains the given text.
- include_all_ownersList accounts · query parameterWhen passed together with email_search , store owner accounts are returned in addition to the accounts matching the search.
- includeList accounts · query parameterInclude related objects in the response. Use store to embed the Store the Account belongs to under include.store .
- limitList accounts · query parameterNumber of results to return. Defaults to 50; the maximum is 250.
- pageList accounts · query parameterPage to show. Cannot be greater than 300. Page-based pagination can be disabled for a token, in which case cursors must be used.
- cursorList accounts · query parameterReturn either the next or previous page of accounts using the next_cursor or previous_cursor value from a previous response. When cursor is passed, only limit may be passed with it.
Events6 parameters9 corrections
New parameters
- verbList events · query parameterShow events with a specific verb .
- sort_byList events · query parameterSort order of the results. Defaults to id-desc when filtering by customer_id and to created_at-desc otherwise.
- exclude_empty_customer_eventsList events · query parameterWhen true , customer events with the verb updated that have no updated_attributes are left out of the results.
- limitList events · query parameterNumber of results to return. Defaults to 50; the maximum is 250.
- pageList events · query parameterPage to show. Cannot be greater than 300. Page-based pagination can be disabled for a token, in which case cursors must be used.
- cursorList events · query parameterReturn either the next or previous page of events using the next_cursor or previous_cursor value from a previous response. When cursor is passed, only limit may be passed with it.
Corrections
- updated_attributesThe event objectType: array.
- custom_attributesThe event objectType: array.
- source.account_idThe event objectType: integer.
- source.originThe event objectPossible values: api, customer_portal, external_platform, merchant_portal, recharge_process.
- source.user_typeThe event objectPossible values: customer, customer_sms, recharge_admin, recharge_admin_sms, recharge_order_merge, recharge_process, store_admin, store_admin_sms, support_session.
- created_atThe event objectDescription updated.
- object_typeList eventsPossible values: address, address/payment_method, address_payment_method, app, async_batch, bundle_product, bundle_selection, cancellation_flow, charge, checkout, collection, collection_product, credit_account, credit_adjustment, customer, delivery_profile, discount, email, fraud_investigation, membership, membership_program, membership_program_condition, monthly_sku_swap_workflow_adapter, onetime, order, payment_method, plan, product, purchase_item, sequence_workflow_adapter, shipping_window_workflow_adapter, shop, store, subscription, theme, webhook, widget_settings.
- originList eventsPossible values: api, customer_portal, external_platform, merchant_portal, recharge_process.
- object_type.object_typeList eventsRemoved from the reference: the API ignores this parameter.