Skip to main content
Voucherify API for stackable discounts lets you validate and redeem up to 30 objects using a single API request. You can combine coupons, gift cards, promotion tiers, loyalty, and referral codes. In the redemption request, you need to provide a list of redeemables that define what discounts or codes will be redeemed/validated.
Go to Stackable redemptions object to learn more about the stackable discounts API.Read the Stacking rules article to learn more about the configuration of the stacking rules.

Redeemables reference

Redeemables array can gather up to 30 objects. Each element represents an object that will be validated or redeemed when calling the API. In the reference below, you can learn how to pass each type of redeemable in the payload. The redeemables array can gather up to 30 objects or 1 promotion stack with 30 tiers included. Each array element represents an object that will be redeemed when calling the API. In the reference below, you can learn how to pass each type of redeemable in the payload. As a result, the API returns the parent redemption id and child redemptions ids. parent_redemption refers to the redemption of all redeemables, whereas child_redemption represents the redemption of a single redeemable.

Validation

Validation checks which redeemables provided in the request can be applied in the given context, i.e. checks customer and order details against validation rules and other applied limits. POST https://URL/v1/validations

Redemption

You can pass up to 30 redeemables that will be redeemed during the request. The redemption is successful: POST https://URL/v1/redemptions

Rollback

You can always roll back any unwanted redemption. Note that if you call this endpoint, all discounts applied to the order during the redemption will be rolled back. There is no way to roll back a redemption of a single redeemable. POST https://URL/v1/redemptions/{ParentRedemptionId}/rollbacks

Dashboard tracking

Redemption of more than one redeemable can be only called via API. In your dashboard, you have an overview of all redemptions including stacked discounts. You can see child redemptions of single redeemables and parent redemptions that gather details of all child redemptions executed within the same API request.

Apply discount to the already created order

If you want to apply another promotion tier or code to the order that was already created, then pass the related order id in the request body and call redemption API.
Note that you should pass only the order.id in the order object. Passing order details is useful if you want to overwrite the data saved under the given order id.

Order session

Each time you use a particular order in your requests, the API will automatically trigger a new session linked to the order id. The session is active during the request and ends asynchronously after the request is completed. The session mechanism ensures that the particular order id can be used in one API request at once.
Last modified on May 22, 2026