---
title: "Redeem Voucher"
method: POST
path: "/v1/vouchers/{code}/redemption"
tags: ["Redemptions"]
deprecated: true
---

# Redeem Voucher

`POST /v1/vouchers/{code}/redemption`

> **Deprecated.**

> ❗️ Deprecated  
>
> This endpoint represents the deprecated version of the API responsible for voucher 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 voucher, you create a redemption object. It increments the redemption counter and updates the history of the voucher. 

## How discounts and order amounts are calculated in the API response?

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

| **Field** | **Calculation** | **Description** |
|:---|:---|:---|
| amount | N/A | This field shows the order amount before applying any discount |
| total_amount | total_amount = amount - total_discount_amount | This field shows the order amount after applying all the discounts |
| discount_amount | discount_amount = previous_discount_amount + applied_discount_amount | This field sums up all order-level discounts applied to a patricular order |
| items_discount_amount | sum(items, i => i.discount_amount) | This field sums up all product-specific discounts applied to this order |
| total_discount_amount | total_discount_amount = discount_amount + items_discount_amount | This field sums up all order-level and all product-specific discounts applied to this order |
| applied_discount_amount | N/A | This field shows order-level discount applied in a particular request |
| items_applied_discount_amount | sum(items, i => i.applied_discount_amount) | This field sums up all product-specific discounts applied in a particular request |
| total_applied_discount_amount | total_applied_discount_amount = applied_discount_amount + items_applied_discount_amount | This field sums up all order-level and all product-specific discounts applied in a particular request |

## Query parameters

- `tracking_id` string

## Request body

- union — Request body schema for redeeming a voucher using **POST** `v1/vouchers/{code}/redemption`.
  - 7ReqRedeemVoucherDiscountCode — Redeem a discount code.
    - `session` 6ReqSessionLockDiscountCode — 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](/guides/locking-validation-session).
      - `type` 'LOCK' — This parameter is **required** to establish a new session. The session locks the redemption **quantity** by 1.
      - `key` string — The session unique ID assigned by Voucherify or your own unique session ID. Sending an existing ID will result in overwriting an existing session. If no session key is provided, then a new ID will be generated.
      - `ttl_unit` 'HOURS' | 'DAYS' | 'MINUTES' | 'SECONDS' | 'MILLISECONDS' | 'MICROSECONDS' | 'NANOSECONDS' — Defines the type of unit in which the session time is counted.
      - `ttl` integer — Value for the period of time that the session is active. Units for this parameter are defined by the `session.ttl_unit` parameter.
    - `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 vouchers 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).
    - `options` object — Configure parameters returned in the response.
      - `expand` string[] — The expand array lets you configure the parameters included in the response. Depending on the strings included in the array, the response will contain different details. Add `category` as a string in the array to include a `categories` object in the response.
  - 7ReqRedeemVoucherGiftCard — Redeem a gift card.
    - `session` 6ReqSessionLockGiftCard — 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](/guides/locking-validation-session).
      - `type` 'LOCK' — This parameter is **required** to establish a new session. The session locks the redemption **quantity** by 1 and the redemption **gift credits** specified within the request.
      - `key` string — The session unique ID assigned by Voucherify or your own unique session ID. Sending an existing ID will result in overwriting an existing session. If no session key is provided, then a new ID will be generated.
      - `ttl_unit` 'HOURS' | 'DAYS' | 'MINUTES' | 'SECONDS' | 'MILLISECONDS' | 'MICROSECONDS' | 'NANOSECONDS' — Defines the type of unit in which the session time is counted.
      - `ttl` integer — Value for the period of time that the session is active. Units for this parameter are defined by the `session.ttl_unit` parameter.
    - `gift` object — Contains information on the number of gift card credits that the customer wants to apply to the order.
      - `credits` integer — The number of credits that the user wants to use from the gift card to fulfil the order. The value of credits cannot be higher than the current balance on the gift card. If the user gives more points than he has on the gift card, the application will return an error code in response. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
    - `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 vouchers 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).
    - `options` object — Configure parameters returned in the response.
      - `expand` string[] — The expand array lets you configure the parameters included in the response. Depending on the strings included in the array, the response will contain different details. Add `category` as a string in the array to include a `categories` object in the response.
  - 7ReqRedeemVoucherLoyaltyCard — Redeem a loyalty card.
    - `session` 6ReqSessionLockLoyaltyCard — 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](/guides/locking-validation-session).
      - `type` 'LOCK' — This parameter is **required** to establish a new session. The session locks the redemption **quantity** by 1 and the redemption **loyalty points** specified within the request.
      - `key` string — The session unique ID assigned by Voucherify or your own unique session ID. Sending an existing ID will result in overwriting an existing session. If no session key is provided, then a new ID will be generated.
      - `ttl_unit` 'HOURS' | 'DAYS' | 'MINUTES' | 'SECONDS' | 'MILLISECONDS' | 'MICROSECONDS' | 'NANOSECONDS' — Defines the type of unit in which the session time is counted.
      - `ttl` integer — Value for the period of time that the session is active. Units for this parameter are defined by the `session.ttl_unit` parameter.
    - `reward` object — Contains information about the reward that the customer wants to redeem and the number of points the customer is choosing to use for the reward.
      - `id` string — Unique reward ID assigned by Voucherify. The reward must be assigned to the campaign in order for the user to be able to use the reward.
      - `points` integer — The number of loyalty points that the user wants to spend in order to fulfill the order. The number of points cannot be higher than the current balance on the loyalty card. If the user gives more points than he/she has on the loyalty card, the application will return an error code in response.
    - `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 vouchers 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).
    - `options` object — Configure parameters returned in the response.
      - `expand` string[] — The expand array lets you configure the parameters included in the response. Depending on the strings included in the array, the response will contain different details. Add `category` as a string in the array to include a `categories` object in the response.

## Response `200`

Returns a redemption object if the redeem operation succeeded.

- union — This is an object representing an attempted or successful voucher redemption.
  - 7ObjRedemptionObjectDiscountVoucherExtended — This is an object representing a redemption. Redemption is the key operation in the voucher and promotion tier lifecycle. A customer can redeem a voucher or promotion tier once or multiple times depending on selected limit (`quantity`). Each redemption is recorded in voucher/promotion's history (`redemption_entries`). There is also an option to cancel a redemption. We call such operation a [redemption rollback](rollback-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` 'voucher' — Defines the related object. | **Related Object** | **Definition** | | :--- | :--- | | voucher | Either a discount voucher, gift card, or loyalty card. |
    - `related_object_id` string — Unique related object ID assigned by Voucherify, i.e. v_lfZi4rcEGe0sN9gmnj40bzwK2FH6QUno for a voucher.
    - `voucher` object — This is an object representing a voucher holder.
      - `id` string — Assigned by the Voucherify API, identifies the voucher.
      - `code` string — A code that identifies a voucher. Pattern can use all letters of the English alphabet, Arabic numerals, and special characters.
      - `campaign` string — A unique campaign name, identifies the voucher's parent campaign.
      - `campaign_id` string — Assigned by the Voucherify API, identifies the voucher's parent campaign.
      - `category` string — Tag defining the category that this voucher belongs to. Useful when listing vouchers using the List Vouchers endpoint.
      - `category_id` string — Unique category ID assigned by Voucherify.
      - `type` 'GIFT_VOUCHER' | 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' — Defines the type of the voucher.
      - `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.
      - `gift` object — Object representing gift parameters. Child attributes are present only if `type` is `GIFT_VOUCHER`. Defaults to `null`.
        - `amount` integer — Total gift card income over the lifetime of the card. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
        - `subtracted_amount` integer — Total amount of subtracted credits over the gift card lifetime. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
        - `balance` integer — Available funds. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
        - `effect` 'APPLY_TO_ORDER' | 'APPLY_TO_ITEMS' — Defines how the credits are applied to the customer's order.
      - `loyalty_card` object — Object representing loyalty card parameters. Child attributes are present only if `type` is `LOYALTY_CARD`. Defaults to `null`.
        - `points` integer — Total number of points added to the loyalty card over its lifespan.
        - `balance` integer — Points available for reward redemption. This is calculated as follows: `balance` = `points` - `expired_points` - `subtracted_points` - `redemption.redeemed_points`.
        - `next_expiration_date` string, date — The next closest date when the next set of points are due to expire.
        - `next_expiration_points` integer — The amount of points that are set to expire next.
        - `pending_points` integer — Shows the number of pending points that will be added to the loyalty card when they are activated automatically or manually.
        - `expired_points` integer — Shows the total number of expired points over the lifetime of the loyalty card.
        - `subtracted_points` integer — Shows the total number of subtracted points over the lifetime of the loyalty card.
      - `start_date` string, date-time — Activation timestamp defines when the code starts to be active in ISO 8601 format. Voucher is *inactive before* this date.
      - `expiration_date` string, date-time — Expiration timestamp defines when the code expires in ISO 8601 format. Voucher 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, nullable — A flag to toggle the voucher on or off. You can disable a voucher even though it's within the active period defined by the `start_date` and `expiration_date`. - `true` indicates an *active* voucher - `false` indicates an *inactive* voucher
      - `additional_info` string — An optional field to keep any extra textual information about the code such as a code description and details.
      - `metadata` object — The metadata object stores all custom attributes assigned to the code. A set of key/value pairs that you can attach to a voucher object. It can be useful for storing additional information about the voucher in a structured format.
      - `assets` VoucherAssets — Stores links to images of QR and barcode that correspond to an encrypted voucher code.
        - `qr` object — Stores Quick Response (QR) representation of encrypted code.
          - `id` string — Encrypted voucher code ID.
          - `url` string — URL to QR code *Optional:* Attach query parameters to base URL to customize the image of the encrypted voucher code. - `size`: integer value from `1` to `100` - `format`: string, either `png` (default) or `svg`
        - `barcode` object — Stores barcode representation of encrypted code.
          - `id` string — Encrypted voucher code ID.
          - `url` string — URL to barcode *Optional:* Attach query parameters to base URL to customize the image of the encrypted voucher code. - `size`: integer value from `1` to `100` - `format`: string, either `png` (default) or `svg`
      - `is_referral_code` boolean, nullable — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
      - `created_at` string, date-time — Timestamp representing the date and time when the voucher was created. The value is shown in the ISO 8601 format.
      - `updated_at` string, date-time — Timestamp representing the date and time when the voucher was last updated in ISO 8601 format.
      - `holder_id` string — Unique customer identifier of the redeemable holder. It equals to the customer ID assigned by Voucherify.
      - `referrer_id` string — Unique identifier of the referring person.
      - `object` string — The type of the object represented by JSON. Default is `voucher`.
      - `publish` object — Stores a summary of publication events: an event counter and endpoint to return details of each event. Publication is an assignment of a code to a customer, e.g. through a distribution.
        - `object` string — The type of the object represented is by default `list`. To get this list, you need to make a call to the endpoint returned in the `url` attribute.
        - `count` integer — Publication events counter.
        - `url` string — The endpoint where this list of publications can be accessed using a **GET** method. `/v1/vouchers/{voucher_code}/publications`
      - `redemption` object — Stores a summary of redemptions that have been applied to the voucher.
        - `quantity` integer — How many times a voucher can be redeemed. A `null` value means unlimited.
        - `redeemed_quantity` integer — How many times a voucher has already been redeemed.
        - `redeemed_points` integer — Total loyalty points redeemed.
        - `object` string — The type of the object represented is by default `list`. To get this list, you need to make a call to the endpoint returned in the url attribute.
        - `url` string — The endpoint where this list of redemptions can be accessed using a **GET** method. `/v1/vouchers/{voucher_code}/redemptions`
      - `categories` Category[] — Contains details about the 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.
      - `validation_rules_assignments` ValidationRulesAssignmentsList — List of Validation Rules Assignments
        - `object` 'list', required — The type of the object represented by JSON. This object stores information about validation rules assignments.
        - `data_ref` 'data', required — Identifies the name of the attribute that contains the array of validation rules assignments.
        - `data` BusValRuleAssignment[], required — Contains array of validation rules assignments.
          - `id` string, required — The unique identifier for a assignment
          - `rule_id` string, required — The unique identifier for a rule
          - `related_object_id` string, required — The unique identifier for a related object
          - `related_object_type` string, required — The type of related object
          - `created_at` string, date-time — Timestamp representing the date and time when the object was created. The value is shown in the ISO 8601 format.
          - `updated_at` string, date-time — Timestamp representing the date and time when the object was last updated in ISO 8601 format.
          - `object` 'validation_rules_assignment', required — The type of the object represented by JSON.
          - `validation_status` 'VALID' | 'PARTIALLY_VALID' | 'INVALID' — The validation status of the assignment
          - `validation_omitted_rules` string[] — The list of omitted rules
        - `total` integer, required — Total number of validation rules assignments.
      - `holder` SimpleCustomer — Simplified customer data.
        - `id` string — Unique identifier of an existing customer. It is assigned by Voucherify.
        - `name` string — Customer's first and last name.
        - `email` string — Customer's email address.
        - `source_id` string — A unique identifier of the customer. It can be a customer ID or email from a CRM system, database, or a third-party service.
        - `metadata` object — A set of custom key/value pairs that are attached to the customer. It stores all custom attributes assigned to the customer.
        - `object` 'customer' — The type of the object represented by JSON.
  - 7ObjRedemptionObjectLoyaltyCardExtended — This is an object representing a redemption. Redemption is the key operation in the voucher and promotion tier lifecycle. A customer can redeem a voucher or promotion tier once or multiple times depending on selected limit (`quantity`). Each redemption is recorded in voucher/promotion's history (`redemption_entries`). There is also an option to cancel a redemption. We call such operation a [redemption rollback](rollback-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.
    - `amount` integer — Number of points being redeemed for a reward.
    - `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 redeeming the reward.
      - `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` 'voucher' — Defines the related object, i.e. `voucher`.
    - `related_object_id` string — Unique related object ID assigned by Voucherify, i.e. `v_lfZi4rcEGe0sN9gmnj40bzwK2FH6QUno` for a voucher.
    - `voucher` Voucher — This is an object representing a voucher.
      - `id` string — Assigned by the Voucherify API, identifies the voucher.
      - `code` string — A code that identifies a voucher. Pattern can use all letters of the English alphabet, Arabic numerals, and special characters.
      - `campaign` string — A unique campaign name, identifies the voucher's parent campaign.
      - `campaign_id` string — Assigned by the Voucherify API, identifies the voucher's parent campaign.
      - `category` string — Tag defining the category that this voucher belongs to. Useful when listing vouchers using the List Vouchers endpoint.
      - `category_id` string — Unique category ID assigned by Voucherify.
      - `type` 'GIFT_VOUCHER' | 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' — Defines the type of the voucher.
      - `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.
      - `gift` object — Object representing gift parameters. Child attributes are present only if `type` is `GIFT_VOUCHER`. Defaults to `null`.
        - `amount` integer — Total gift card income over the lifetime of the card. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
        - `subtracted_amount` integer — Total amount of subtracted credits over the gift card lifetime. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
        - `balance` integer — Available funds. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
        - `effect` 'APPLY_TO_ORDER' | 'APPLY_TO_ITEMS' — Defines how the credits are applied to the customer's order.
      - `loyalty_card` object — Object representing loyalty card parameters. Child attributes are present only if `type` is `LOYALTY_CARD`. Defaults to `null`.
        - `points` integer — Total number of points added to the loyalty card over its lifespan.
        - `balance` integer — Points available for reward redemption. This is calculated as follows: `balance` = `points` - `expired_points` - `subtracted_points` - `redemption.redeemed_points`.
        - `next_expiration_date` string, date — The next closest date when the next set of points are due to expire.
        - `next_expiration_points` integer — The amount of points that are set to expire next.
        - `pending_points` integer — Shows the number of pending points that will be added to the loyalty card when they are activated automatically or manually.
        - `expired_points` integer — Shows the total number of expired points over the lifetime of the loyalty card.
        - `subtracted_points` integer — Shows the total number of subtracted points over the lifetime of the loyalty card.
      - `start_date` string, date-time — Activation timestamp defines when the code starts to be active in ISO 8601 format. Voucher is *inactive before* this date.
      - `expiration_date` string, date-time — Expiration timestamp defines when the code expires in ISO 8601 format. Voucher 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, nullable — A flag to toggle the voucher on or off. You can disable a voucher even though it's within the active period defined by the `start_date` and `expiration_date`. - `true` indicates an *active* voucher - `false` indicates an *inactive* voucher
      - `additional_info` string — An optional field to keep any extra textual information about the code such as a code description and details.
      - `metadata` object — The metadata object stores all custom attributes assigned to the code. A set of key/value pairs that you can attach to a voucher object. It can be useful for storing additional information about the voucher in a structured format.
      - `assets` VoucherAssets — Stores links to images of QR and barcode that correspond to an encrypted voucher code.
        - `qr` object — Stores Quick Response (QR) representation of encrypted code.
          - `id` string — Encrypted voucher code ID.
          - `url` string — URL to QR code *Optional:* Attach query parameters to base URL to customize the image of the encrypted voucher code. - `size`: integer value from `1` to `100` - `format`: string, either `png` (default) or `svg`
        - `barcode` object — Stores barcode representation of encrypted code.
          - `id` string — Encrypted voucher code ID.
          - `url` string — URL to barcode *Optional:* Attach query parameters to base URL to customize the image of the encrypted voucher code. - `size`: integer value from `1` to `100` - `format`: string, either `png` (default) or `svg`
      - `is_referral_code` boolean, nullable — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
      - `created_at` string, date-time — Timestamp representing the date and time when the voucher was created. The value is shown in the ISO 8601 format.
      - `updated_at` string, date-time — Timestamp representing the date and time when the voucher was last updated in ISO 8601 format.
      - `holder_id` string — Unique customer identifier of the redeemable holder. It equals to the customer ID assigned by Voucherify.
      - `referrer_id` string — Unique identifier of the referring person.
      - `object` string — The type of the object represented by JSON. Default is `voucher`.
      - `publish` object — Stores a summary of publication events: an event counter and endpoint to return details of each event. Publication is an assignment of a code to a customer, e.g. through a distribution.
        - `object` string — The type of the object represented is by default `list`. To get this list, you need to make a call to the endpoint returned in the `url` attribute.
        - `count` integer — Publication events counter.
        - `url` string — The endpoint where this list of publications can be accessed using a **GET** method. `/v1/vouchers/{voucher_code}/publications`
      - `redemption` object — Stores a summary of redemptions that have been applied to the voucher.
        - `quantity` integer — How many times a voucher can be redeemed. A `null` value means unlimited.
        - `redeemed_quantity` integer — How many times a voucher has already been redeemed.
        - `redeemed_points` integer — Total loyalty points redeemed.
        - `object` string — The type of the object represented is by default `list`. To get this list, you need to make a call to the endpoint returned in the url attribute.
        - `url` string — The endpoint where this list of redemptions can be accessed using a **GET** method. `/v1/vouchers/{voucher_code}/redemptions`
      - `categories` Category[] — Contains details about the 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.
      - `validation_rules_assignments` ValidationRulesAssignmentsList — List of Validation Rules Assignments
        - `object` 'list', required — The type of the object represented by JSON. This object stores information about validation rules assignments.
        - `data_ref` 'data', required — Identifies the name of the attribute that contains the array of validation rules assignments.
        - `data` BusValRuleAssignment[], required — Contains array of validation rules assignments.
          - `id` string, required — The unique identifier for a assignment
          - `rule_id` string, required — The unique identifier for a rule
          - `related_object_id` string, required — The unique identifier for a related object
          - `related_object_type` string, required — The type of related object
          - `created_at` string, date-time — Timestamp representing the date and time when the object was created. The value is shown in the ISO 8601 format.
          - `updated_at` string, date-time — Timestamp representing the date and time when the object was last updated in ISO 8601 format.
          - `object` 'validation_rules_assignment', required — The type of the object represented by JSON.
          - `validation_status` 'VALID' | 'PARTIALLY_VALID' | 'INVALID' — The validation status of the assignment
          - `validation_omitted_rules` string[] — The list of omitted rules
        - `total` integer, required — Total number of validation rules assignments.
    - `reward` union — Defines the reward being redeemed.
      - 7ObjRedemptionObjectLoyaltyCardPayWithPoints — Defines the pay with points reward redeemed for the particular loyalty card.
        - `customer` object — Defines the customer redeeming the reward.
          - `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`.
        - `assignment_id` string — Unique reward assginment ID assigned by Voucherify.
        - `id` string — Unique reward ID assigned by Voucherify.
        - `object` string — Type of object represented is `reward`.
        - `name` string — Reward name.
        - `created_at` string, date-time — Timestamp in ISO 8601 format indicating when the reward was created.
        - `updated_at` string, date-time — Timestamp in ISO 8601 format indicating when the reward was updated.
        - `parameters` object — These are parameters representing a Pay with Points (COIN) reward.
          - `coin` object — Defines the ratio by mapping the number of loyalty points in `points_ratio` to a predefined cash amount in `exchange_ratio`.
            - `exchange_ratio` integer — The cash equivalent of the points defined in the `points_ratio` property.
            - `points_ratio` integer — The number of loyalty points that will map to the predefined cash amount defined by the `exchange_ratio` property.
        - `type` 'COIN' — Reward type
      - 7ObjRedemptionObjectLoyaltyCardMaterialProduct — Defines the product material reward redeemed for the particular loyalty card.
        - `customer` object — Defines the customer redeeming the reward.
          - `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`.
        - `assignment_id` string — Unique reward assginment ID assigned by Voucherify.
        - `product` Product — This is an object representing a product. This entity should be used to map product items from your inventory management system. The aim of products is to build which reflect product-specific campaigns.
          - `id` string, required — Unique product ID assigned by Voucherify.
          - `source_id` string, nullable, required — Unique product source ID.
          - `name` string, nullable, required — Unique user-defined product name.
          - `price` integer, nullable, required — Unit price. It is represented by a value multiplied by 100 to accurately reflect 2 decimal places, such as `$100.00` being expressed as `10000`.
          - `attributes` string[], required — A list of product attributes whose values you can customize for given SKUs: `["color","size","ranking"]`. Each child SKU can have a unique value for a given attribute.
          - `metadata` object, required — The metadata object stores all custom attributes assigned to the product. A set of key/value pairs that you can attach to a product object. It can be useful for storing additional information about the product in a structured format. It can be used to create product collections.
          - `image_url` string, nullable — The HTTPS URL pointing to the .png or .jpg file that will be used to render the product image.
          - `created_at` string, date-time — Timestamp representing the date and time when the product was created. The value is shown in the ISO 8601 format.
          - `updated_at` string, date-time, nullable — Timestamp representing the date and time when the product was updated. The value is shown in the ISO 8601 format.
          - `object` 'product', required — The type of the object represented by JSON. This object stores information about the product.
          - `skus` SkusListForProduct — Contains information about child SKUs.
            - `object` string, required — The type of the object represented by JSON. This object stores information about SKUs.
            - `data_ref` string, required — Identifies the name of the JSON property that contains the array of SKUs.
            - `data` Sku[], required — A dictionary that contains an array of SKUs.
              - …
            - `total` integer, required — Total number of SKUs in the product.
        - `id` string — Unique reward ID assigned by Voucherify.
        - `object` string — Type of object represented is `reward`.
        - `name` string — Reward name.
        - `created_at` string, date-time — Timestamp in ISO 8601 format indicating when the reward was created.
        - `updated_at` string, date-time — Timestamp in ISO 8601 format indicating when the reward was updated.
        - `parameters` object — These are parameters representing a material reward.
          - `product` object — Defines the product redeemed as a reward.
            - `id` string — Unique product ID assignedy by Voucherify of the product.
            - `sku_id` string, nullable
        - `type` 'MATERIAL' — Reward type
      - 7ObjRedemptionObjectLoyaltyCardMaterialSku — Defines the SKU material reward redeemed for the particular loyalty card.
        - `customer` object — Defines the customer redeeming the reward.
          - `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`.
        - `assignment_id` string — Unique reward assginment ID assigned by Voucherify.
        - `product` Product — This is an object representing a product. This entity should be used to map product items from your inventory management system. The aim of products is to build which reflect product-specific campaigns.
          - `id` string, required — Unique product ID assigned by Voucherify.
          - `source_id` string, nullable, required — Unique product source ID.
          - `name` string, nullable, required — Unique user-defined product name.
          - `price` integer, nullable, required — Unit price. It is represented by a value multiplied by 100 to accurately reflect 2 decimal places, such as `$100.00` being expressed as `10000`.
          - `attributes` string[], required — A list of product attributes whose values you can customize for given SKUs: `["color","size","ranking"]`. Each child SKU can have a unique value for a given attribute.
          - `metadata` object, required — The metadata object stores all custom attributes assigned to the product. A set of key/value pairs that you can attach to a product object. It can be useful for storing additional information about the product in a structured format. It can be used to create product collections.
          - `image_url` string, nullable — The HTTPS URL pointing to the .png or .jpg file that will be used to render the product image.
          - `created_at` string, date-time — Timestamp representing the date and time when the product was created. The value is shown in the ISO 8601 format.
          - `updated_at` string, date-time, nullable — Timestamp representing the date and time when the product was updated. The value is shown in the ISO 8601 format.
          - `object` 'product', required — The type of the object represented by JSON. This object stores information about the product.
          - `skus` SkusListForProduct — Contains information about child SKUs.
            - `object` string, required — The type of the object represented by JSON. This object stores information about SKUs.
            - `data_ref` string, required — Identifies the name of the JSON property that contains the array of SKUs.
            - `data` Sku[], required — A dictionary that contains an array of SKUs.
              - …
            - `total` integer, required — Total number of SKUs in the product.
        - `sku` Sku — This is an object representing a product SKU.
          - `id` string, required — A unique identifier that represents the SKU and is assigned by Voucherify.
          - `source_id` string, nullable, required — A unique SKU identifier from your inventory system.
          - `product_id` string, required — The parent product's unique ID.
          - `sku` string, nullable, required — Unique user-defined SKU name.
          - `price` integer, nullable, required — Unit price. It is represented by a value multiplied by 100 to accurately reflect 2 decimal places, such as `$100.00` being expressed as `10000`.
          - `currency` string, nullable — SKU price currency.
          - `attributes` object, required — The attributes object stores values for all custom attributes inherited by the SKU from the parent product. A set of key/value pairs that are attached to a SKU object and are unique to each SKU within a product family.
          - `image_url` string, nullable, required — The HTTPS URL pointing to the .png or .jpg file that will be used to render the SKU image.
          - `metadata` object, required — The metadata object stores all custom attributes assigned to the SKU. A set of key/value pairs that you can attach to a SKU object. It can be useful for storing additional information about the SKU in a structured format. It can be used to create product collections.
          - `created_at` string, date-time, required — Timestamp representing the date and time when the SKU was created. The value is shown in the ISO 8601 format.
          - `updated_at` string, date-time, nullable, required — Timestamp representing the date and time when the SKU was updated. The value is shown in the ISO 8601 format.
          - `object` 'sku', required — The type of the object represented by JSON. This object stores information about the `SKU`.
        - `id` string — Unique reward ID assigned by Voucherify.
        - `object` string — Type of object represented is `reward`.
        - `name` string — Reward name.
        - `created_at` string, date-time — Timestamp in ISO 8601 format indicating when the reward was created.
        - `updated_at` string, date-time — Timestamp in ISO 8601 format indicating when the reward was updated.
        - `parameters` object — These are parameters representing a material reward.
          - `product` object — Defines the SKU redeemed as a reward.
            - `id` string — Unique product ID assignedy by Voucherify of the SKU's parent.
            - `sku_id` string — Unique SKU ID assigned by Voucherify of the SKU redeemed as a reward.
        - `type` 'MATERIAL' — Reward type
      - 7ObjRedemptionObjectLoyaltyCardDigital — Defines the digital reward redeemed for the particular loyalty card.
        - `customer` object — Defines the customer redeeming the reward.
          - `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`.
        - `assignment_id` string — Unique reward assginment ID assigned by Voucherify.
        - `voucher` Voucher — This is an object representing a voucher.
          - `id` string — Assigned by the Voucherify API, identifies the voucher.
          - `code` string — A code that identifies a voucher. Pattern can use all letters of the English alphabet, Arabic numerals, and special characters.
          - `campaign` string — A unique campaign name, identifies the voucher's parent campaign.
          - `campaign_id` string — Assigned by the Voucherify API, identifies the voucher's parent campaign.
          - `category` string — Tag defining the category that this voucher belongs to. Useful when listing vouchers using the List Vouchers endpoint.
          - `category_id` string — Unique category ID assigned by Voucherify.
          - `type` 'GIFT_VOUCHER' | 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' — Defines the type of the voucher.
          - `discount` union — Contains information about discount.
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `gift` object — Object representing gift parameters. Child attributes are present only if `type` is `GIFT_VOUCHER`. Defaults to `null`.
            - `amount` integer — Total gift card income over the lifetime of the card. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
            - `subtracted_amount` integer — Total amount of subtracted credits over the gift card lifetime. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
            - `balance` integer — Available funds. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
            - `effect` 'APPLY_TO_ORDER' | 'APPLY_TO_ITEMS' — Defines how the credits are applied to the customer's order.
          - `loyalty_card` object — Object representing loyalty card parameters. Child attributes are present only if `type` is `LOYALTY_CARD`. Defaults to `null`.
            - `points` integer — Total number of points added to the loyalty card over its lifespan.
            - `balance` integer — Points available for reward redemption. This is calculated as follows: `balance` = `points` - `expired_points` - `subtracted_points` - `redemption.redeemed_points`.
            - `next_expiration_date` string, date — The next closest date when the next set of points are due to expire.
            - `next_expiration_points` integer — The amount of points that are set to expire next.
            - `pending_points` integer — Shows the number of pending points that will be added to the loyalty card when they are activated automatically or manually.
            - `expired_points` integer — Shows the total number of expired points over the lifetime of the loyalty card.
            - `subtracted_points` integer — Shows the total number of subtracted points over the lifetime of the loyalty card.
          - `start_date` string, date-time — Activation timestamp defines when the code starts to be active in ISO 8601 format. Voucher is *inactive before* this date.
          - `expiration_date` string, date-time — Expiration timestamp defines when the code expires in ISO 8601 format. Voucher 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.
              - …
          - `active` boolean, nullable — A flag to toggle the voucher on or off. You can disable a voucher even though it's within the active period defined by the `start_date` and `expiration_date`. - `true` indicates an *active* voucher - `false` indicates an *inactive* voucher
          - `additional_info` string — An optional field to keep any extra textual information about the code such as a code description and details.
          - `metadata` object — The metadata object stores all custom attributes assigned to the code. A set of key/value pairs that you can attach to a voucher object. It can be useful for storing additional information about the voucher in a structured format.
          - `assets` VoucherAssets — Stores links to images of QR and barcode that correspond to an encrypted voucher code.
            - `qr` object — Stores Quick Response (QR) representation of encrypted code.
              - …
            - `barcode` object — Stores barcode representation of encrypted code.
              - …
          - `is_referral_code` boolean, nullable — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
          - `created_at` string, date-time — Timestamp representing the date and time when the voucher was created. The value is shown in the ISO 8601 format.
          - `updated_at` string, date-time — Timestamp representing the date and time when the voucher was last updated in ISO 8601 format.
          - `holder_id` string — Unique customer identifier of the redeemable holder. It equals to the customer ID assigned by Voucherify.
          - `referrer_id` string — Unique identifier of the referring person.
          - `object` string — The type of the object represented by JSON. Default is `voucher`.
          - `publish` object — Stores a summary of publication events: an event counter and endpoint to return details of each event. Publication is an assignment of a code to a customer, e.g. through a distribution.
            - `object` string — The type of the object represented is by default `list`. To get this list, you need to make a call to the endpoint returned in the `url` attribute.
            - `count` integer — Publication events counter.
            - `url` string — The endpoint where this list of publications can be accessed using a **GET** method. `/v1/vouchers/{voucher_code}/publications`
          - `redemption` object — Stores a summary of redemptions that have been applied to the voucher.
            - `quantity` integer — How many times a voucher can be redeemed. A `null` value means unlimited.
            - `redeemed_quantity` integer — How many times a voucher has already been redeemed.
            - `redeemed_points` integer — Total loyalty points redeemed.
            - `object` string — The type of the object represented is by default `list`. To get this list, you need to make a call to the endpoint returned in the url attribute.
            - `url` string — The endpoint where this list of redemptions can be accessed using a **GET** method. `/v1/vouchers/{voucher_code}/redemptions`
          - `categories` Category[] — Contains details about the 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.
          - `validation_rules_assignments` ValidationRulesAssignmentsList — List of Validation Rules Assignments
            - `object` 'list', required — The type of the object represented by JSON. This object stores information about validation rules assignments.
            - `data_ref` 'data', required — Identifies the name of the attribute that contains the array of validation rules assignments.
            - `data` BusValRuleAssignment[], required — Contains array of validation rules assignments.
              - …
            - `total` integer, required — Total number of validation rules assignments.
        - `id` string — Unique reward ID assigned by Voucherify.
        - `object` string — Type of object represented is `reward`.
        - `name` string — Reward name.
        - `created_at` string, date-time — Timestamp in ISO 8601 format indicating when the reward was created.
        - `updated_at` string, date-time — Timestamp in ISO 8601 format indicating when the reward was updated.
        - `parameters` object — These are parameters representing a digital reward. These can be in the form of discount coupons, gift card credits, or loyalty point credits.
          - `campaign` union — Defines the source of the digital reward.
            - 7ObjRedemptionObjectLoyaltyCardDigitalDiscountVoucher — Contains information about the source of the digital reward.
              - …
            - 7ObjRedemptionObjectLoyaltyCardDigitalGiftCardCredits — Contains information about the source of the digital reward.
              - …
            - 7ObjRedemptionObjectLoyaltyCardDigitalLoyaltyCardPoints — Contains information about the source of the digital reward.
              - …
        - `type` 'CAMPAIGN' — Reward type
    - `loyalty_card` object — Stores the number of points being subtracted from the loyalty card for the reward redemption.
      - `points` integer — Number of points being subtracted from the loyalty card for the reward redemption.
  - 7ObjRedemptionObjectGiftCardExtended — This is an object representing a gift card 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.
    - `amount` integer — The amount subtracted from the gift card expressed as the smallest currency unit (e.g. 100 cents for $1.00).
    - `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 redeeming the gift card.
      - `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` 'voucher' — Defines the related object. | **Related Object** | **Definition** | | :--- | :--- | | voucher | Either a discount voucher, gift card, or loyalty card. |
    - `related_object_id` string — Unique related object ID assigned by Voucherify, i.e. v_lfZi4rcEGe0sN9gmnj40bzwK2FH6QUno for a voucher.
    - `voucher` Voucher — This is an object representing a voucher.
      - `id` string — Assigned by the Voucherify API, identifies the voucher.
      - `code` string — A code that identifies a voucher. Pattern can use all letters of the English alphabet, Arabic numerals, and special characters.
      - `campaign` string — A unique campaign name, identifies the voucher's parent campaign.
      - `campaign_id` string — Assigned by the Voucherify API, identifies the voucher's parent campaign.
      - `category` string — Tag defining the category that this voucher belongs to. Useful when listing vouchers using the List Vouchers endpoint.
      - `category_id` string — Unique category ID assigned by Voucherify.
      - `type` 'GIFT_VOUCHER' | 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' — Defines the type of the voucher.
      - `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.
      - `gift` object — Object representing gift parameters. Child attributes are present only if `type` is `GIFT_VOUCHER`. Defaults to `null`.
        - `amount` integer — Total gift card income over the lifetime of the card. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
        - `subtracted_amount` integer — Total amount of subtracted credits over the gift card lifetime. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
        - `balance` integer — Available funds. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
        - `effect` 'APPLY_TO_ORDER' | 'APPLY_TO_ITEMS' — Defines how the credits are applied to the customer's order.
      - `loyalty_card` object — Object representing loyalty card parameters. Child attributes are present only if `type` is `LOYALTY_CARD`. Defaults to `null`.
        - `points` integer — Total number of points added to the loyalty card over its lifespan.
        - `balance` integer — Points available for reward redemption. This is calculated as follows: `balance` = `points` - `expired_points` - `subtracted_points` - `redemption.redeemed_points`.
        - `next_expiration_date` string, date — The next closest date when the next set of points are due to expire.
        - `next_expiration_points` integer — The amount of points that are set to expire next.
        - `pending_points` integer — Shows the number of pending points that will be added to the loyalty card when they are activated automatically or manually.
        - `expired_points` integer — Shows the total number of expired points over the lifetime of the loyalty card.
        - `subtracted_points` integer — Shows the total number of subtracted points over the lifetime of the loyalty card.
      - `start_date` string, date-time — Activation timestamp defines when the code starts to be active in ISO 8601 format. Voucher is *inactive before* this date.
      - `expiration_date` string, date-time — Expiration timestamp defines when the code expires in ISO 8601 format. Voucher 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, nullable — A flag to toggle the voucher on or off. You can disable a voucher even though it's within the active period defined by the `start_date` and `expiration_date`. - `true` indicates an *active* voucher - `false` indicates an *inactive* voucher
      - `additional_info` string — An optional field to keep any extra textual information about the code such as a code description and details.
      - `metadata` object — The metadata object stores all custom attributes assigned to the code. A set of key/value pairs that you can attach to a voucher object. It can be useful for storing additional information about the voucher in a structured format.
      - `assets` VoucherAssets — Stores links to images of QR and barcode that correspond to an encrypted voucher code.
        - `qr` object — Stores Quick Response (QR) representation of encrypted code.
          - `id` string — Encrypted voucher code ID.
          - `url` string — URL to QR code *Optional:* Attach query parameters to base URL to customize the image of the encrypted voucher code. - `size`: integer value from `1` to `100` - `format`: string, either `png` (default) or `svg`
        - `barcode` object — Stores barcode representation of encrypted code.
          - `id` string — Encrypted voucher code ID.
          - `url` string — URL to barcode *Optional:* Attach query parameters to base URL to customize the image of the encrypted voucher code. - `size`: integer value from `1` to `100` - `format`: string, either `png` (default) or `svg`
      - `is_referral_code` boolean, nullable — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
      - `created_at` string, date-time — Timestamp representing the date and time when the voucher was created. The value is shown in the ISO 8601 format.
      - `updated_at` string, date-time — Timestamp representing the date and time when the voucher was last updated in ISO 8601 format.
      - `holder_id` string — Unique customer identifier of the redeemable holder. It equals to the customer ID assigned by Voucherify.
      - `referrer_id` string — Unique identifier of the referring person.
      - `object` string — The type of the object represented by JSON. Default is `voucher`.
      - `publish` object — Stores a summary of publication events: an event counter and endpoint to return details of each event. Publication is an assignment of a code to a customer, e.g. through a distribution.
        - `object` string — The type of the object represented is by default `list`. To get this list, you need to make a call to the endpoint returned in the `url` attribute.
        - `count` integer — Publication events counter.
        - `url` string — The endpoint where this list of publications can be accessed using a **GET** method. `/v1/vouchers/{voucher_code}/publications`
      - `redemption` object — Stores a summary of redemptions that have been applied to the voucher.
        - `quantity` integer — How many times a voucher can be redeemed. A `null` value means unlimited.
        - `redeemed_quantity` integer — How many times a voucher has already been redeemed.
        - `redeemed_points` integer — Total loyalty points redeemed.
        - `object` string — The type of the object represented is by default `list`. To get this list, you need to make a call to the endpoint returned in the url attribute.
        - `url` string — The endpoint where this list of redemptions can be accessed using a **GET** method. `/v1/vouchers/{voucher_code}/redemptions`
      - `categories` Category[] — Contains details about the 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.
      - `validation_rules_assignments` ValidationRulesAssignmentsList — List of Validation Rules Assignments
        - `object` 'list', required — The type of the object represented by JSON. This object stores information about validation rules assignments.
        - `data_ref` 'data', required — Identifies the name of the attribute that contains the array of validation rules assignments.
        - `data` BusValRuleAssignment[], required — Contains array of validation rules assignments.
          - `id` string, required — The unique identifier for a assignment
          - `rule_id` string, required — The unique identifier for a rule
          - `related_object_id` string, required — The unique identifier for a related object
          - `related_object_type` string, required — The type of related object
          - `created_at` string, date-time — Timestamp representing the date and time when the object was created. The value is shown in the ISO 8601 format.
          - `updated_at` string, date-time — Timestamp representing the date and time when the object was last updated in ISO 8601 format.
          - `object` 'validation_rules_assignment', required — The type of the object represented by JSON.
          - `validation_status` 'VALID' | 'PARTIALLY_VALID' | 'INVALID' — The validation status of the assignment
          - `validation_omitted_rules` string[] — The list of omitted rules
        - `total` integer, required — Total number of validation rules assignments.
    - `gift` object — Contains the amount being subtracted from the gift card for the redemption.
      - `amount` integer — The amount subtracted from the gift card expressed as the smallest currency unit (e.g. 100 cents for $1.00).

## Other responses

- `400` — Returns an error if something goes wrong. A common source of error is an invalid or expired voucher, or a valid gift card with insufficient available balance.

---

[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)
