Skip to main content
POST
Redeem Stackable Discounts (client-side)

Authorizations

X-Client-Application-Id
string
header
required
X-Client-Token
string
header
required

Headers

origin
string<hostname>
required

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

Body

application/json

Response body schema for POST v1/redemptions.

redeemables
(Voucher Redeemable · object | Promotion Tier Redeemable · object | Promotion Stack Redeemable · object | Gift Card Redeemable · object | Loyalty Card Redeemable · object)[]
required

An array of redeemables. You can combine voucher(s) and promotion_tier(s). Alternatively, send one uniquepromotion_stack in the array. Each unique redeemable can be sent in one request only once.

Required array length: 1 - 30 elements

Validate or redeem a discount code.

options
object

Configure parameters returned in the response.

order
Order · object

Order information.

customer
Customer · object

Customer's information.

session
Session · object

Schema model for session lock object. The session object is required to establish a session between multiple parallel validation and redemption requests. If you only send the type parameter in the request, then by default the session lock will be established for 7 days. Read more on establishing a validation session.

tracking_id
string

Is correspondent to Customer's source_id

metadata
object

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.

Response

200 - application/json

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.

Response body schema for POST v1/redemptions.

redemptions
Redemption · object[]
parent_redemption
Redemption · object

This is an object representing a redemption for POST v1/redemptions and POST /client/v1/redemptions.

order
Order Calculated No Customer Data · object

Contains the order details associated with the redemption.

inapplicable_redeemables
Inapplicable Redeemable · object[]

Lists validation results of each inapplicable redeemable.

skipped_redeemables
Skipped Redeemable · object[]

Lists validation results of each redeemable. If a redeemable can be applied, the API returns "status": "APPLICABLE".

Last modified on July 10, 2026