---
title: "Redeem Promotion"
method: POST
path: "/v1/promotions/tiers/{promotionTierId}/redemption"
tags: ["Redemptions"]
deprecated: true
---

# Redeem Promotion

`POST /v1/promotions/tiers/{promotionTierId}/redemption`

> **Deprecated.**

> ❗️ Deprecated  
>
> This endpoint represents the deprecated version of the API responsible for promotion tier redemption, and we do not recommend using it. The new [Stackable Discounts API](/api-reference/redemptions/redeem-stackable-discounts) introduces additional features and improvements while maintaining backward compatibility, including applying a combination of coupon codes and promotion tiers. Developers are encouraged to migrate to the latest version to take advantage of the latest enhancements and bug fixes. No updates will be provided to the deprecated endpoint. 

To redeem a promotion, you create a redemption object passing a context.

You can retrieve a list of active promotions through the [Validate Promotions](/api-reference/validations/validate-promotion-tier) endpoint. That validation method will return a list of active​ promotion tiers identified by thier IDs. 

> 📘 Redemption rollback
>
> Do you need to undo a redemption? You can do it with [redemption rollback](/api-reference/redemptions/rollback-redemption).

## Request body

- 7ReqRedeemPromotionTier — Redeem a promotion tier.
  - `customer` union — Customer's information.
    - 6ReqValidateVoucherCustomerId — You can pass the unique customer ID that was assigned by Voucherify.
      - `id` string — The ID of an existing customer that will be linked to redemption in this request.
    - 6ReqValidateVoucherCustomerSourceId — You can send the source ID that you used to create the customer in Voucherify.
      - `source_id` string — A unique identifier of the customer who validates a voucher. It can be a customer ID or email from a CRM system, database, or a third-party service. If you also pass a customer ID (unique ID assigned by Voucherify), the source ID will be ignored.
    - 9ReqCreateCustomer — This is an object containing information about the customer.
      - `source_id` string — The merchant's customer ID if it is different from the Voucherify customer ID. It is really useful in case of an integration between multiple systems. It can be a customer ID from a CRM system, database or 3rd-party service. Please note that if you would like your data to sync based on the `source_id` of the customer, you need to define the `source_id` upfront. You will not be able to change or update the `source_id` later on.
      - `name` string — Customer's first and last name.
      - `description` string — An arbitrary string that you can attach to a customer object.
      - `email` string — Customer's email address.
      - `phone` string — Customer's phone number. This parameter is mandatory when you try to send out codes to customers via an SMS channel.
      - `address` object — Customer's address.
        - `city` string — City
        - `state` string — State
        - `line_1` string — First line of address.
        - `line_2` string — Second line of address.
        - `country` string — Country.
        - `postal_code` string — Postal code.
      - `birthdate` string, date — Customer's birthdate; format `YYYY-MM-DD`.
      - `birthday` string, date — `Deprecated`. ~~Customer's birthdate; format `YYYY-MM-DD`~~.
      - `metadata` object — A set of custom key/value pairs that you can attach to a customer. The metadata object stores all custom attributes assigned to the customer. It can be useful for storing additional information about the customer in a structured format. This metadata can be used for validating whether the customer qualifies for a discount or it can be used in building customer segments.
  - `order` union — Order information.
    - 6ReqValidateVoucherOrderId — You can pass the unique order ID that was assigned by Voucherify.
      - `id` string — Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request.
    - 6ReqValidateVoucherOrderSourceId — You can send the source ID that you used to create the order in Voucherify.
      - `source_id` string — Unique source ID of an existing order that will be linked to the redemption of this request.
    - OrdersCreateRequestBody — Order information.
      - `id` string — Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request.
      - `source_id` string, nullable — Unique source ID of an existing order that will be linked to the redemption of this request. For validation and redemption, if `source_id` is used with an existing order, the original order data will be used, like `items`, `amount`, and so on, not the one sent in the new request.
      - `status` 'CREATED' | 'PAID' | 'CANCELED' | 'FULFILLED' — The order status.
      - `amount` integer — A positive integer in the smallest currency unit (e.g. 100 cents for $1.00) representing the total amount of the order. This is the sum of the order items' amounts.
      - `initial_amount` integer — A positive integer in the smallest currency unit (e.g. 100 cents for $1.00) representing the total amount of the order. This is the sum of the order items' amounts.
      - `discount_amount` integer — Sum of all order-level discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
      - `items` OrderItem[] — Array of items applied to the order. It can include up to 500 items.
        - `sku_id` string — Unique identifier of the SKU. It is assigned by Voucherify.
        - `product_id` string — Unique identifier of the product. It is assigned by Voucherify.
        - `related_object` 'product' | 'sku' — Used along with the source_id property, can be set to either sku or product.
        - `source_id` string — The merchant's product/SKU ID (if it is different from the Voucherify product/SKU ID). It is useful in the integration between multiple systems. It can be an ID from an eCommerce site, a database, or a third-party service.
        - `quantity` integer — The quantity of the particular item in the cart.
        - `discount_quantity` integer — Number of dicounted items.
        - `initial_quantity` integer — A positive integer in the smallest unit quantity representing the total amount of the order; this is the sum of the order items' quantity.
        - `amount` integer — The total amount of the order item (price * quantity).
        - `discount_amount` integer — Sum of all order-item-level discounts applied to the order.
        - `initial_amount` integer — A positive integer in the smallest currency unit (e.g. 100 cents for $1.00) representing the total amount of the order. This is the sum of the order items' amounts.
        - `price` integer — Unit price of an item. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
        - `product` object — An object containing details of the related product.
          - `id` string — A unique identifier that represents the product and is assigned by Voucherify.
          - `source_id` string — The merchant's product ID (if it is different than Voucherify's product ID). It is really useful in case of integration between multiple systems. It can be an ID from an eCommerce site, a database or a 3rd party service.
          - `override` boolean — The override set to `true` is used to store the product information in the system. If the product does not exist, it will be created with a source_id; if it does exist, the provided values for the name, price, and metadata will replace those already stored in the system. Override works only for endpoints that create an order in the database.
          - `name` string — Product name.
          - `metadata` object — A set of custom key/value pairs that you can attach to a product. It can be useful for storing additional information about the product in a structured format. It can be used to create product collections.
          - `price` number — Product price. A positive integer in the smallest currency unit (e.g. 100 cents for $1.00).
        - `sku` object — An object containing details of the related SKU.
          - `id` string — A unique identifier that represents the SKU and is assigned by Voucherify.
          - `source_id` string — The merchant's SKU ID (if it is different than Voucherify's SKU ID). It is really useful in case of integration between multiple systems. It can be an ID from an eCommerce site, a database or a 3rd party service.
          - `override` boolean — The override set to `true` is used to store the product information in the system. If the product does not exist, it will be created with a source_id; if it does exist, the provided values for the name, price, and metadata will replace those already stored in the system.
          - `sku` string — The SKU name.
          - `price` number — SKU price. A positive integer in the smallest currency unit (e.g. 100 cents for $1.00).
          - `metadata` object — A set of custom key/value pairs that you can attach to an order item. It can be useful for storing additional information about the order item in a structured format. It can be used to create product collections.
        - `metadata` object — A set of custom key/value pairs that you can attach to an order item. It can be useful for storing additional information about the order item in a structured format. It can be used to define business validation rules.
      - `metadata` object — A set of custom key/value pairs that you can attach to an order. It can be useful for storing additional information about the order in a structured format. It can be used to define business validation rules or discount formulas.
      - `created_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
      - `referrer_id` string, nullable — Unique referrer ID.
      - `customer` Customer
        - `id` string — The ID of an existing customer.
        - `source_id` string — A unique identifier of the customer who validates a voucher. It can be a customer ID or email from a CRM system, database, or a third-party service. If you also pass a customer ID (unique ID assigned by Voucherify), the source ID will be ignored.
        - `name` string — Customer's first and last name.
        - `description` string — An arbitrary string that you can attach to a customer object.
        - `email` string — Customer's email address.
        - `phone` string — Customer's phone number. This parameter is mandatory when you try to send out codes to customers via an SMS channel.
        - `birthday` string, date — `Deprecated`. ~~Customer's birthdate; format YYYY-MM-DD~~.
        - `birthdate` string, date — Customer's birthdate; format YYYY-MM-DD.
        - `address` object, nullable — Customer's address.
          - `city` string — City
          - `state` string — State
          - `line_1` string — First line of address.
          - `line_2` string — Second line of address.
          - `country` string — Country.
          - `postal_code` string — Postal code.
        - `metadata` object — A set of custom key/value pairs that you can attach to a customer. The metadata object stores all custom attributes assigned to the customer. It can be useful for storing additional information about the customer in a structured format. This metadata can be used for validating whether the customer qualifies for a discount or it can be used in building customer segments.
      - `referrer` Referrer
        - `id` string — The ID of an existing customer.
        - `source_id` string — A unique identifier of the customer who validates a voucher. It can be a customer ID or email from a CRM system, database, or a third-party service. If you also pass a customer ID (unique ID assigned by Voucherify), the source ID will be ignored.
        - `name` string — Customer's first and last name.
        - `description` string — An arbitrary string that you can attach to a customer object.
        - `email` string — Customer's email address.
        - `phone` string — Customer's phone number. This parameter is mandatory when you try to send out codes to customers via an SMS channel.
        - `birthday` string, date — `Deprecated`. ~~Customer's birthdate; format YYYY-MM-DD~~.
        - `birthdate` string, date — Customer's birthdate; format YYYY-MM-DD.
        - `address` object, nullable — Customer's address.
          - `city` string — City
          - `state` string — State
          - `line_1` string — First line of address.
          - `line_2` string — Second line of address.
          - `country` string — Country.
          - `postal_code` string — Postal code.
        - `metadata` object — A set of custom key/value pairs that you can attach to a customer. The metadata object stores all custom attributes assigned to the customer. It can be useful for storing additional information about the customer in a structured format. This metadata can be used for validating whether the customer qualifies for a discount or it can be used in building customer segments.
  - `metadata` object — A set of key/value pairs that you can send in the request body to check against promotion tiers requiring **redemption** metadata validation rules to be satisfied. The validation runs against rules that are defined through the [Create Validation Rules](/api-reference/validation-rules/create-validation-rules) endpoint or via the Dashboard; in the _Advanced Rule Builder_ &rarr; _Advanced_ &rarr; _Redemption metadata satisfy_ or _Basic Builder_ &rarr; _Attributes match_ &rarr; _REDEMPTION METADATA_. [Read more](/personalize/create-validation-rules).

## Response `200`

Returns a redemption object if the redeem operation succeeded.

- 7ObjRedemptionObjectPromotionTierExtended — This is an object representing a promotion tier redemption.
  - `id` string — Unique redemption ID.
  - `object` string — The type of the object represented by the JSON. This object stores information about the `redemption`.
  - `date` string, date-time — Timestamp in ISO 8601 format indicating when the redemption occured.
  - `customer_id` string — Unique customer ID of the redeeming customer.
  - `tracking_id` string — Hashed customer source ID.
  - `metadata` object — The metadata object stores all custom attributes in the form of key/value pairs assigned to the redemption.
  - `result` 'SUCCESS' | 'FAILURE' — Redemption result.
  - `order` union — This is an object representing an order with calculated discounts applied using the voucher code.
    - 7ObjOrderObjectApplyToOrder — This is an object representing an order with calculated discounts applied using the voucher code.
      - `id` string — Unique order ID, assigned by Voucherify.
      - `source_id` string — The merchant's order ID if it is different from the Voucherify order ID. It is really useful in case of integration between multiple systems. It can be an order ID from CRM, database or 3rd party service.
      - `created_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
      - `updated_at` string, date-time — Timestamp representing the date and time when the order was updated. The value is shown in the ISO 8601 format.
      - `status` 'CREATED' | 'PAID' | 'CANCELED' | 'FULFILLED' — Order status.
      - `amount` integer — Order amount before applying any discount.
      - `discount_amount` integer — Sum of all order-level discounts applied to the order.
      - `total_discount_amount` integer — Sum of all order-level AND all product-specific discounts applied to the order. `total_discount_amount` = `discount_amount` + `items_discount_amount`
      - `total_amount` integer — Order amount after applying all the discounts. `total_amount` = `amount` - `total_discount_amount`
      - `applied_discount_amount` integer — This field shows the order-level discount applied.
      - `total_applied_discount_amount` integer — This field sums up all order-level and all product-specific discounts applied in a particular request.
      - `items` object[] — Array of order items that have been applied to the order. Each order item can show the effects of particular discounts on the item-level.
        - `object` string — The type of the object represented by JSON. This object stores information about the `order_item`.
        - `product_id` string — A unique identifier that represents the product and is assigned by Voucherify.
        - `sku_id` string — A unique identifier that represents the SKU and is assigned by Voucherify.
        - `quantity` integer — Quantity of the item in the cart.
        - `amount` integer — Represents a total pre-discount amount of order item (`price` * `quantity`).
        - `price` integer — Unit price of an item. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
        - `subtotal_amount` integer — Final order item amount after the applied item-level discount. If there are no item-level discounts applied, this item is equal to the `amount`. `subtotal_amount`=`amount`-`discount_amount`
        - `product` object — This object stores more information about the related product.
          - `id` string — A unique identifier that represents the product and is assigned by Voucherify.
          - `source_id` string — A unique product identifier from your inventory system.
          - `name` string — Product name.
          - `price` integer — Unit price of a product. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
        - `sku` object — This object stores more information about the related SKU.
          - `id` string — A unique identifier that represents the SKU and is assigned by Voucherify.
          - `source_id` string — A unique SKU identifier from your inventory system.
          - `sku` string — SKU name.
          - `price` integer — Unit price of a SKU. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
      - `metadata` object — The metadata object stores all custom attributes assigned to the order. A set of key/value pairs that are att to an order object. Stores additional information about the order in a structured format.
      - `customer` object — Object containing information about the customer that is making the purchase.
        - `id` string — Unique customer identifier of the customer making the purchase. The ID is assigned by Voucherify.
        - `object` string — Type of object represented by the `customer` object.
      - `referrer` object — Object containing information about the referrer.
        - `id` string — Unique referrer ID, who referred the customer making the purchase.
        - `object` string — Type of object represented by the `referrer` object.
      - `customer_id` string — Unique customer identifier of the customer making the purchase. The ID is assigned by Voucherify.
      - `referrer_id` string — Unique referrer ID.
      - `object` string — The type of the object represented by JSON. This object stores information about the `order`.
      - `redemptions` 10ObjOrderObjectUnstackedRedemptions — Redemption object representing a single redemption.
        - `redemption_ID` object — The property name is the unique redemption ID; i.e. `r_0ba186c4824e4881e1`. This object contains information about the redemption of an incentive.
          - `date` string, date-time — Timestamp representing the date and time when the redemption was created. The value is shown in the ISO 8601 format.
          - `related_object_type` 'voucher' | 'promotion_tier' — The source of the incentive.
          - `related_object_id` string — Unique ID of the related object that defines the incentive.
          - `related_object_parent_id` string — Represent's the campaign ID of the voucher if the redemption was based on a voucher that was part of bulk codes generated within a campaign. In case of a promotion tier, this represents the campaign ID of the promotion tier's parent campaign.
    - 7ObjOrderObjectApplyToItems — This is an object representing an order with calculated discounts applied using the voucher code.
      - `id` string — Unique order ID, assigned by Voucherify.
      - `source_id` string — The merchant's order ID if it is different from the Voucherify order ID. It is really useful in case of integration between multiple systems. It can be an order ID from CRM, database or 3rd party service.
      - `created_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
      - `updated_at` string, date-time — Timestamp representing the date and time when the order was updated. The value is shown in the ISO 8601 format.
      - `status` 'CREATED' | 'PAID' | 'CANCELED' | 'FULFILLED' — Order status.
      - `amount` integer — Order amount before applying any discount.
      - `items_discount_amount` integer — Sum of all product-specific discounts applied to the order. `sum(items, i => i.discount_amount)`
      - `total_discount_amount` integer — Sum of all order-level AND all product-specific discounts applied to the order.
      - `total_amount` integer — Order amount after applying all the discounts. `total_amount` = `amount` - `total_discount_amount`
      - `items_applied_discount_amount` integer — Sum of all product-specific discounts applied.
      - `total_applied_discount_amount` integer — Sum of all order-level AND all product-specific discounts applied to the order.
      - `items` object[] — Array of order items that have been applied to the order. Each order item can show the effects of particular discounts on the item-level.
        - `object` string — The type of the object represented by JSON. This object stores information about the `order_item`.
        - `product_id` string — A unique identifier that represents the product and is assigned by Voucherify.
        - `sku_id` string — A unique identifier that represents the SKU and is assigned by Voucherify.
        - `quantity` integer — Quantity of the item in the cart.
        - `amount` integer — Represents a total pre-discount amount of order item (`price` * `quantity`).
        - `discount_amount` integer — The item-level discount applied to the item.
        - `applied_discount_amount` integer — The item-level discount applied to the item.
        - `price` integer — Unit price of an item. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
        - `subtotal_amount` integer — Final order item amount after the applied item-level discount. If there are no item-level discounts applied, this item is equal to the `amount`. `subtotal_amount`=`amount`-`discount_amount`
        - `product` object — This object stores more information about the related product.
          - `id` string — A unique identifier that represents the product and is assigned by Voucherify.
          - `source_id` string — A unique product identifier from your inventory system.
          - `name` string — Product name.
          - `price` integer — Unit price of a product. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
        - `sku` object — This object stores more information about the related SKU.
          - `id` string — A unique identifier that represents the SKU and is assigned by Voucherify.
          - `source_id` string — A unique SKU identifier from your inventory system.
          - `sku` string — SKU name.
          - `price` integer — Unit price of a SKU. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
      - `metadata` object — The metadata object stores all custom attributes assigned to the order. A set of key/value pairs that are att to an order object. Stores additional information about the order in a structured format.
      - `customer` object — Object containing information about the customer that is making the purchase.
        - `id` string — Unique customer identifier of the customer making the purchase. The ID is assigned by Voucherify.
        - `object` string — Type of object represented by the `customer` object.
      - `referrer` object — Object containing information about the referrer.
        - `id` string — Unique referrer ID, who referred the customer making the purchase.
        - `object` string — Type of object represented by the `referrer` object.
      - `customer_id` string — Unique customer identifier of the customer making the purchase. The ID is assigned by Voucherify.
      - `referrer_id` string — Unique referrer ID.
      - `object` string — The type of the object represented by JSON. This object stores information about the `order`.
      - `redemptions` 10ObjOrderObjectUnstackedRedemptions — Redemption object representing a single redemption.
        - `redemption_ID` object — The property name is the unique redemption ID; i.e. `r_0ba186c4824e4881e1`. This object contains information about the redemption of an incentive.
          - `date` string, date-time — Timestamp representing the date and time when the redemption was created. The value is shown in the ISO 8601 format.
          - `related_object_type` 'voucher' | 'promotion_tier' — The source of the incentive.
          - `related_object_id` string — Unique ID of the related object that defines the incentive.
          - `related_object_parent_id` string — Represent's the campaign ID of the voucher if the redemption was based on a voucher that was part of bulk codes generated within a campaign. In case of a promotion tier, this represents the campaign ID of the promotion tier's parent campaign.
  - `channel` object — Defines the details of the channel through which the redemption was issued.
    - `channel_id` string — Unique channel ID of the user performing the redemption. This is either a user ID from a user using the Voucherify Dashboard or an X-APP-Id of a user using the API.
    - `channel_type` 'USER' | 'API' — The source of the channel for the redemption. A `USER` corresponds to the Voucherify Dashboard and an `API` corresponds to the API.
  - `customer` object — Defines the customer that is related to the redemption.
    - `id` string — The unique ID of a customer that is assigned by Voucherify.
    - `name` string — Customer's first and last name.
    - `email` string — Customer's email address.
    - `source_id` string — The merchant's customer ID if it is different from the Voucherify customer ID. It is really useful in case of an integration between multiple systems. It can be a customer ID from a CRM system, database or 3rd-party service.
    - `metadata` object — The metadata object stores all custom attributes assigned to the customer. A set of key/value pairs that you can attach to a customer object. It can be useful for storing additional information about the customer in a structured format.
    - `object` string — Type of object represented is `customer`.
  - `related_object_type` 'promotion_tier' — Defines the related object.
  - `related_object_id` string — Unique related object ID assigned by Voucherify, i.e. promo_NzjTc3ZXTe7md5SziK3uYtei for a promotion tier.
  - `voucher` object, nullable
  - `promotion_tier` PromotionTier — This is an object representing a promotion tier. Promotion tiers are always assigned to a campaign and cannot be used standalone.
    - `id` string — Unique promotion tier ID.
    - `created_at` string, date-time — Timestamp representing the date and time when the promotion tier was created. The value is shown in the ISO 8601 format.
    - `updated_at` string, date-time — Timestamp representing the date and time when the promotion tier was updated. The value is shown in the ISO 8601 format.
    - `name` string — Name of the promotion tier.
    - `banner` string — Text to be displayed to your customers on your website.
    - `action` object — Contains details about the discount applied by the promotion tier.
      - `discount` union — Contains information about discount.
        - object
          - `type` 'AMOUNT', required — Defines the type of the voucher.
          - `amount_off` number, required — Amount taken off the subtotal of a price. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $10 discount is written as 1000.
          - `amount_off_formula` string — Formula used to dynamically calculate the discount.
          - `aggregated_amount_limit` integer — Maximum discount amount per order.
          - `effect` 'APPLY_TO_ORDER' | 'APPLY_TO_ITEMS' | 'APPLY_TO_ITEMS_PROPORTIONALLY' | 'APPLY_TO_ITEMS_PROPORTIONALLY_BY_QUANTITY' | 'APPLY_TO_ITEMS_BY_QUANTITY'
          - `is_dynamic` boolean — Flag indicating whether the discount was calculated using a formula.
        - object
          - `type` 'UNIT', required — Discount type.
          - `unit_off` integer — Number of units to be granted a full value discount.
          - `unit_off_formula` string — Formula used to dynamically calculate the number of units.
          - `effect` 'ADD_MISSING_ITEMS' | 'ADD_NEW_ITEMS' | 'ADD_MANY_ITEMS' | 'ADD_SAME_ITEMS'
          - `unit_type` string, required — The product deemed as free, chosen from product inventory (e.g. time, items).
          - `product` SimpleProductDiscountUnit
            - `id` string, required — Unique product ID, assigned by Voucherify.
            - `source_id` string — Product's source ID.
            - `name` string, required — Product name.
          - `sku` SimpleSkuDiscountUnit
            - `id` string, required — Unique SKU ID, assigned by Voucherify.
            - `source_id` string — Product variant's source ID.
            - `name` string, required — Sku name
          - `is_dynamic` boolean — Flag indicating whether the discount was calculated using a formula.
        - object
          - `type` 'UNIT', required — Discount type.
          - `effect` 'ADD_MANY_ITEMS' — Defines how the discount is applied to the customer's order.
          - `units` DiscountUnitMultipleOneUnit[], required
            - `unit_off` number — Number of units to be granted a full value discount.
            - `unit_off_formula` string — Formula used to dynamically calculate the number of units.
            - `effect` 'ADD_NEW_ITEMS' | 'ADD_MISSING_ITEMS', required — Defines how the unit is added to the customer's order.
            - `unit_type` string, required — The product deemed as free, chosen from product inventory (e.g. time, items).
            - `product` SimpleProductDiscountUnit
              - …
            - `sku` SimpleSkuDiscountUnit
              - …
        - object
          - `type` 'PERCENT', required — Defines the type of the voucher.
          - `percent_off` number, required — The percent discount that the customer will receive.
          - `percent_off_formula` string — Formula used to dynamically calculate the discount.
          - `amount_limit` number — Upper limit allowed to be applied as a discount. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $6 maximum discount is written as 600.
          - `aggregated_amount_limit` integer — Maximum discount amount per order.
          - `effect` 'APPLY_TO_ORDER' | 'APPLY_TO_ITEMS'
          - `is_dynamic` boolean — Flag indicating whether the discount was calculated using a formula.
        - object
          - `type` 'FIXED', required — Defines the type of the voucher.
          - `fixed_amount` number, required — Sets a fixed value for an order total or the item price. The value is multiplied by 100 to precisely represent 2 decimal places. For example, a $10 discount is written as 1000. If the fixed amount is calculated by the formula, i.e. the `fixed_amount_formula` parameter is present in the fixed amount definition, this value becomes the **fallback value**. As a result, if the formula cannot be calculated due to missing metadata, for example, this value will be used as the fixed value.
          - `fixed_amount_formula` string — Formula used to dynamically calculate the discount.
          - `effect` 'APPLY_TO_ORDER' | 'APPLY_TO_ITEMS'
          - `is_dynamic` boolean — Flag indicating whether the discount was calculated using a formula.
    - `metadata` object — The metadata object stores all custom attributes assigned to the promotion tier. A set of key/value pairs that you can attach to a promotion tier object. It can be useful for storing additional information about the promotion tier in a structured format.
    - `hierarchy` integer — The promotions hierarchy defines the order in which the discounts from different tiers will be applied to a customer's order. If a customer qualifies for discounts from more than one tier, discounts will be applied in the order defined in the hierarchy.
    - `promotion_id` string — Promotion unique ID.
    - `campaign` object — Contains details about promotion tier's parent campaign.
      - `id` string — Unique campaign ID.
      - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is *inactive before* this date.
      - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is *inactive after* this date.
      - `validity_timeframe` ValidityTimeframe — Set recurrent time periods when the earning rule is valid. For example, valid for 1 hour every other day.`start_date` **required** when including the `validity_timeframe`.
        - `duration` string — Defines the amount of time an earning rule will be active in ISO 8601 format. For example, an earning rule with a `duration` of `PT1H` will be valid for a duration of one hour.
        - `interval` string — Defines the intervening time between two time points in ISO 8601 format, expressed as a duration. For example, an earning rule with an `interval` of `P2D` will be valid every other day.
      - `validity_day_of_week` integer[] — Integer array corresponding to the particular days of the week in which the voucher is valid. - `0` Sunday - `1` Monday - `2` Tuesday - `3` Wednesday - `4` Thursday - `5` Friday - `6` Saturday
      - `validity_hours` ValidityHours — Determines the hours of validity, e.g. to create a happy hours scenario.
        - `daily` object[] — Defines the recurring period(s) when the resource is active. The periods should not overlap.
          - `start_time` string, time — Defines the starting hour of validity in the HH:mm format. The resource is *inactive before* this time.
          - `days_of_week` integer[] — Integer array corresponding to the particular days of the week in which the resource is valid. - `0` Sunday - `1` Monday - `2` Tuesday - `3` Wednesday - `4` Thursday - `5` Friday - `6` Saturday
          - `expiration_time` string, time — Defines the ending hour of validity in the HH:mm format. The resource is *inactive after* this time.
      - `active` boolean — A flag indicating whether the campaign is active or not active. A campaign can be disabled even though it's within the active period defined by the `start_date` and `expiration_date` using the [Disable Campaign](/api-reference/disable-campaign) endpoint. - `true` indicates an *active* campaign - `false` indicates an *inactive* campaign
      - `category_id` string — Unique category ID that this campaign belongs to.
      - `object` string — The type of the object represented by the campaign object. This object stores information about the campaign.
    - `campaign_id` string — Promotion tier's parent campaign's unique ID.
    - `active` boolean — A flag to toggle the promotion tier on or off. You can disable a promotion tier even though it's within the active period defined by the `start_date` and `expiration_date`. - `true` indicates an *active* promotion tier - `false` indicates an *inactive* promotion tier
    - `start_date` string, date-time — Activation timestamp defines when the promotion tier starts to be active in ISO 8601 format. Promotion tier is *inactive before* this date.
    - `expiration_date` string, date-time — Activation timestamp defines when the promotion tier expires in ISO 8601 format. Promotion tier is *inactive after* this date.
    - `validity_timeframe` ValidityTimeframe — Set recurrent time periods when the earning rule is valid. For example, valid for 1 hour every other day.`start_date` **required** when including the `validity_timeframe`.
      - `duration` string — Defines the amount of time an earning rule will be active in ISO 8601 format. For example, an earning rule with a `duration` of `PT1H` will be valid for a duration of one hour.
      - `interval` string — Defines the intervening time between two time points in ISO 8601 format, expressed as a duration. For example, an earning rule with an `interval` of `P2D` will be valid every other day.
    - `validity_day_of_week` integer[] — Integer array corresponding to the particular days of the week in which the voucher is valid. - `0` Sunday - `1` Monday - `2` Tuesday - `3` Wednesday - `4` Thursday - `5` Friday - `6` Saturday
    - `validity_hours` ValidityHours — Determines the hours of validity, e.g. to create a happy hours scenario.
      - `daily` object[] — Defines the recurring period(s) when the resource is active. The periods should not overlap.
        - `start_time` string, time — Defines the starting hour of validity in the HH:mm format. The resource is *inactive before* this time.
        - `days_of_week` integer[] — Integer array corresponding to the particular days of the week in which the resource is valid. - `0` Sunday - `1` Monday - `2` Tuesday - `3` Wednesday - `4` Thursday - `5` Friday - `6` Saturday
        - `expiration_time` string, time — Defines the ending hour of validity in the HH:mm format. The resource is *inactive after* this time.
    - `summary` object — Contains statistics about promotion tier redemptions and orders.
      - `redemptions` object — Contains statistics about promotion tier redemptions.
        - `total_redeemed` integer — Number of times the promotion tier was redeemed.
      - `orders` object — Contains statistics about orders related to the promotion tier.
        - `total_amount` integer — Sum of order totals.
        - `total_discount_amount` integer — Sum of total discount applied using the promotion tier.
    - `object` string — The type of the object represented by JSON. This object stores information about the promotion tier.
    - `validation_rule_assignments` ValidationRuleAssignmentsList — Validation Rule Assignments List
      - `object` string, required — The type of the object represented by JSON. This object stores information about validation rule assignments.
      - `data_ref` string, required — Identifies the name of the JSON property that contains the array of validation rule assignments.
      - `data` ValidationRuleAssignment[], required — A dictionary that contains an array of validation rule assignments.
        - `id` string, required — Validation rule assignment ID.
        - `rule_id` string, required — Validation rule ID.
        - `related_object_id` string, required — The resource ID to which the validation rule was assigned.
        - `related_object_type` 'voucher' | 'campaign' | 'earning_rule' | 'reward_assignment' | 'promotion_tier' | 'distribution', required — The type of resource to which the validation rule was assigned.
        - `created_at` string, date-time, required — Timestamp representing the date and time when the validation rule assignment was created. The value is shown in the ISO 8601 format.
        - `object` 'validation_rules_assignment', required — The type of the object represented by the ID.
      - `total` integer, required — Total number of validation rule assignments.
    - `category_id` string — Promotion tier category ID.
    - `categories` Category[]
      - `id` string, required — Unique category ID assigned by Voucherify.
      - `name` string, required — Category name.
      - `hierarchy` integer, required — Category hierarchy. Categories with lower hierarchy are processed before categories with higher hierarchy value.
      - `object` 'category', required — The type of the object represented by the JSON. This object stores information about the category.
      - `created_at` string, date-time, required — Timestamp representing the date and time when the category was created. The value is shown in the ISO 8601 format.
      - `updated_at` string, date-time — Timestamp representing the date and time when the category was updated. The value is shown in the ISO 8601 format.

## Other responses

- `400` — Returns an error if the promotion tier is inactive.

---

[API](https://skmtc.net/voucherifyio/apis/voucherify-api-async-actions.md) · [All operations](https://skmtc.net/voucherifyio/apis/voucherify-api-async-actions/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/voucherifyio/voucherify-api-async-actions/revisions/4982266e0494/schema)
