v1

latestOpenAPI 3.0.1MIT2026-07-263151,3912.3 MB
Client-side

Redeem Stackable Discounts (client-side)

This method is accessible through public keys which you can use in client side requests coming from mobile and web browser applications.

How API returns calculated discounts and order amounts in the response

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

📘 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.

post/client/v1/redemptions

Headers

originstring hostname required

Indicates the origin (scheme, hostname, and port).

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.