v1

latestOpenAPI 3.0.1MIT2026-07-263151,3912.3 MB
Redemptions

Redeem Stackable Discounts

In the table below, you can see the logic the API follows to calculate discounts and amounts:

FieldCalculationDescription
amountN/AThis field shows the order amount before applying any discount
total_amounttotal_amount = amount - total_discount_amountThis field shows the order amount after applying all the discounts
discount_amountdiscount_amount = previous_discount_amount + applied_discount_amountThis field sums up all order-level discounts up to and including the specific discount being calculated for the stacked redemption.
items_discount_amountsum(items, i => i.discount_amount)This field sums up all product-specific discounts
total_discount_amounttotal_discount_amount = discount_amount + items_discount_amountThis field sums up all order-level and all product-specific discounts
applied_discount_amountN/AThis field shows the order-level discount applied in a particular request
items_applied_discount_amountsum(items, i => i.applied_discount_amount)This field sums up all product-specific discounts applied in a particular request
total_applied_discount_amounttotal_applied_discount_amount = applied_discount_amount + items_applied_discount_amountThis field sums up all order-level and all product-specific discounts applied in a particular request

API keys with a Merchant role can't use this endpoint.

📘 Rollbacks

You can't roll back a child redemption. When you call rollback on a stacked redemption, all child redemptions will be rolled back. You need to refer to a parent redemption ID in your rollback request.

📘 Also available on client-side

This method is also accessible through public keys which you can use in client-side​ apps: mobile and web browser apps. Go to the dedicated endpoint to learn more.

post/v1/redemptions

Request body

tracking_idstring

Is correspondent to Customer's source_id

metadataobject

A set of key/value pairs that you can attach to a redemption object. It can be useful for storing additional information about the redemption in a structured format.

Example request

{
  "redeemables": [
    {
      "reward": {
        "id": "rew_EPx1hCTpqzF0HW1z9NKckZH4"
      }
    }
  ]
}

Response

Depending on your project settings: all redeemables must be valid or just one must be valid to result as valid redemption. Read more in the Stacking Rule Documentation.