---
title: "List Customer Activities"
method: GET
path: "/v1/customers/{customerId}/activities"
tags: ["Customers"]
deprecated: true
---

# List Customer Activities

`GET /v1/customers/{customerId}/activities`

> **Deprecated.**

> ❗️ Deprecated  
>
> This endpoint represents the deprecated version of the API responsible for listing customer activities and we do not recommend using it. 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.

Retrieve customer activities.

## Query parameters

- `limit` integer
- `order` 'created_at' | '-created_at' | 'updated_at' | '-updated_at' | 'type' | '-type' | 'code' | '-code' | 'campaign' | '-campaign' | 'category' | '-category'
- `starting_after` string, date-time
- `starting_after_id` string
- `campaign_type` 'PROMOTION' | 'GIFT_VOUCHERS' | 'REFERRAL_PROGRAM' | 'DISCOUNT_COUPONS' | 'LOYALTY_PROGRAM'
- `campaign_id` string
- `product_id` string
- `start_date` string, date-time
- `end_date` string, date-time

## Response `200`

Returns a dictionary with customer activities.

- CustomersActivitiesListResponseBody — Response body schema for **GET** `v1/customers/{customerId}/activities`.
  - `object` string, required — The type of the object represented by JSON. This object stores information about customer activities in a dictionary.
  - `data_ref` string, required — Identifies the name of the attribute that contains the array of customer activity objects.
  - `data` CustomerActivity[], required — Array of customer activity objects.
    - `id` string — Unique event ID, assigned by Voucherify.
    - `type` 'customer.confirmed' | 'customer.created' | 'customer.updated' | 'customer.deleted' | 'customer.referred' | 'customer.custom_event' | 'customer.segment.entered' | 'customer.segment.left' | 'customer.sms.sent' | 'customer.sms.recovered' | 'customer.sms.failed' | 'customer.email.sent' | 'customer.email.recovered' | 'customer.email.failed' | 'customer.activecampaign.sent' | 'customer.activecampaign.recovered' | 'customer.activecampaign.failed' | 'customer.braze.sent' | 'customer.braze.recovered' | 'customer.braze.failed' | 'customer.mailchimp.sent' | 'customer.mailchimp.recovered' | 'customer.mailchimp.failed' | 'customer.intercom.sent' | 'customer.intercom.recovered' | 'customer.intercom.failed' | 'customer.shopify.sent' | 'customer.shopify.recovered' | 'customer.shopify.failed' | 'customer.klaviyo.sent' | 'customer.klaviyo.recovered' | 'customer.klaviyo.failed' | 'customer.batch.sent' | 'customer.batch.recovered' | 'customer.batch.failed' | 'customer.rewarded' | 'customer.rewarded.loyalty_points' | 'customer.voucher.gift.balance_added' | 'customer.voucher.loyalty_card.pending_points.activated' | 'customer.voucher.loyalty_card.pending_points.added' | 'customer.voucher.loyalty_card.pending_points.canceled' | 'customer.voucher.loyalty_card.pending_points.updated' | 'customer.voucher.loyalty_card.points_activated' | 'customer.voucher.loyalty_card.points_added' | 'customer.voucher.loyalty_card.points_transferred' | 'customer.voucher.loyalty_card.points_expired' | 'customer.voucher.deleted' | 'customer.publication.succeeded' | 'customer.publication.failed' | 'customer.validation.succeeded' | 'customer.validation.failed' | 'customer.redemption.failed' | 'customer.redemption.succeeded' | 'customer.redemption.rollback.failed' | 'customer.redemption.rollback.succeeded' | 'customer.order.canceled' | 'customer.order.created' | 'customer.order.fulfilled' | 'customer.order.paid' | 'customer.order.processing' | 'customer.order.updated' | 'customer.reward_redemptions.created' | 'customer.reward_redemptions.pending' | 'customer.reward_redemptions.completed' | 'customer.reward_redemptions.rolledback' | 'customer.loyalty.updated' | 'customer.loyalty.tier.upgraded' | 'customer.loyalty.tier.downgraded' | 'customer.loyalty.tier.prolonged' | 'customer.loyalty.tier.expiration.changed' | 'customer.loyalty.tier.joined' | 'customer.loyalty.tier.left' | 'customer.holder.assignment.created' | 'customer.holder.assignment.deleted' — Event type.
    - `data` object — Contains details about the event. The objects that are returned in the data attribute differ based on the context of the event type.
      - `data` union — Event data object schema.
        - object — Event data object schema for `customer.confirmed`.
          - `customer` CustomerWithSummaryLoyaltyReferrals
            - `id` string — The ID of an existing customer that will be linked to redemption in this request.
            - `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.
            - `summary` CustomerSummary, required
              - …
            - `loyalty` CustomerLoyalty, required
              - …
            - `referrals` CustomerReferrals, required — Summary of customer's referrals, in this case, the customer being the referee, i.e. information about the source of referrals and number of times the customer was referred by other customers.
              - …
            - `system_metadata` object — Object used to store system metadata information.
            - `created_at` string, date-time — Timestamp representing the date and time when the customer was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the customer was updated. The value is shown in the ISO 8601 format.
            - `assets` object — Contains information about the customer's cockpit. ⚠️ Warning: Customer cockpits were removed. The customer cockpit URLs redirect to customer preference center.
              - …
            - `object` 'customer', required — The type of the object represented by JSON.
            - `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.
              - …
            - `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.
          - `unconfirmed_customer` object
            - `id` string
        - object — Event data object schema for `customer.created`.
          - `customer` CustomerWithSummaryLoyaltyReferrals
            - `id` string — The ID of an existing customer that will be linked to redemption in this request.
            - `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.
            - `summary` CustomerSummary, required
              - …
            - `loyalty` CustomerLoyalty, required
              - …
            - `referrals` CustomerReferrals, required — Summary of customer's referrals, in this case, the customer being the referee, i.e. information about the source of referrals and number of times the customer was referred by other customers.
              - …
            - `system_metadata` object — Object used to store system metadata information.
            - `created_at` string, date-time — Timestamp representing the date and time when the customer was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the customer was updated. The value is shown in the ISO 8601 format.
            - `assets` object — Contains information about the customer's cockpit. ⚠️ Warning: Customer cockpits were removed. The customer cockpit URLs redirect to customer preference center.
              - …
            - `object` 'customer', required — The type of the object represented by JSON.
            - `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.
              - …
            - `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.
        - object — Event data object schema for `customer.updated`.
          - `customer` CustomerWithSummaryLoyaltyReferrals
            - `id` string — The ID of an existing customer that will be linked to redemption in this request.
            - `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.
            - `summary` CustomerSummary, required
              - …
            - `loyalty` CustomerLoyalty, required
              - …
            - `referrals` CustomerReferrals, required — Summary of customer's referrals, in this case, the customer being the referee, i.e. information about the source of referrals and number of times the customer was referred by other customers.
              - …
            - `system_metadata` object — Object used to store system metadata information.
            - `created_at` string, date-time — Timestamp representing the date and time when the customer was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the customer was updated. The value is shown in the ISO 8601 format.
            - `assets` object — Contains information about the customer's cockpit. ⚠️ Warning: Customer cockpits were removed. The customer cockpit URLs redirect to customer preference center.
              - …
            - `object` 'customer', required — The type of the object represented by JSON.
            - `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.
              - …
            - `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.
        - object — Event data object schema for `customer.deleted`.
          - `customer` CustomerWithSummaryLoyaltyReferrals
            - `id` string — The ID of an existing customer that will be linked to redemption in this request.
            - `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.
            - `summary` CustomerSummary, required
              - …
            - `loyalty` CustomerLoyalty, required
              - …
            - `referrals` CustomerReferrals, required — Summary of customer's referrals, in this case, the customer being the referee, i.e. information about the source of referrals and number of times the customer was referred by other customers.
              - …
            - `system_metadata` object — Object used to store system metadata information.
            - `created_at` string, date-time — Timestamp representing the date and time when the customer was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the customer was updated. The value is shown in the ISO 8601 format.
            - `assets` object — Contains information about the customer's cockpit. ⚠️ Warning: Customer cockpits were removed. The customer cockpit URLs redirect to customer preference center.
              - …
            - `object` 'customer', required — The type of the object represented by JSON.
            - `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.
              - …
            - `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.
        - object — Event data object schema for `customer.referred`.
          - `customer` 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.
          - `referrer` SimpleCustomer, required — 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.
          - `campaign` SimpleCampaign, required — Simplified campaign data.
            - `id` string — Campaign ID.
            - `name` string — Campaign name.
            - `campaign_type` string — Type of campaign.
            - `type` 'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' — Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers. - `AUTO_UPDATE`: the campaign is dynamic, i.e. vouchers will generate based on set criteria - `STATIC`: vouchers need to be manually published - `STANDALONE`: campaign for single vouchers
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `voucher` SimpleCampaignVoucher — Simplified campaign voucher data.
              - …
            - `referral_program` ReferralProgram — Defines the referee reward and the way a referral is triggered. Context: `REFERRAL_PROGRAM`.
              - …
            - `auto_join` boolean — Indicates whether customers will be able to auto-join the campaign if any earning rule is fulfilled.
            - `join_once` boolean — If this value is set to `true`, customers will be able to join the campaign only once. It is always `false` for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always `true` for loyalty campaigns and it cannot be changed in them.
            - `active` boolean — Indicates whether the campaign is active.
            - `category_id` string, nullable — The unique category ID that this campaign belongs to.
            - `category` string — Unique category name.
            - `categories` Category[] — Contains details about the category.
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a campaign. The metadata object stores all custom attributes assigned to the campaign.
            - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive *before* this date.
            - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive *after* this date.
            - `description` string — An optional field to keep extra textual information about the campaign such as a campaign description and details.
            - `created_at` string, date-time — Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the campaign was updated in the ISO 8601 format.
            - `object` 'campaign' — The type of the object represented by JSON. This object stores information about the campaign.
          - `voucher` SimpleVoucher, required — Simplified voucher data.
            - `id` string — A unique identifier that represents the voucher assigned by Voucherify.
            - `code` string, required — Voucher code.
            - `gift` Gift — Contains current gift card balance information.
              - …
            - `discount` union — Contains information about discount.
              - …
            - `loyalty_card` SimpleLoyaltyCard — Simplified loyalty card data.
              - …
            - `type` 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' | 'GIFT_VOUCHER', required — Type of the voucher.
            - `campaign` string — Campaign name.
            - `campaign_id` string — Campaign unique ID.
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `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 referrer assigned by Voucherify.
            - `category_id` string, nullable — Unique identifier of the category that this voucher belongs to.
            - `categories` Category[] — Contains details about the category.
              - …
            - `active` boolean — Shows whether the voucher is on or off. `true` indicates an *active* voucher and `false` indicates an *inactive* voucher.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the order was created in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
            - `redemption` object — Defines the redemption limits on vouchers.
              - …
            - `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.
            - `metadata` object — A set of custom key/value pairs that you can attach to a voucher. The metadata object stores all custom attributes assigned to the voucher.
            - `object` 'voucher', required — The type of the object represented by JSON.
          - `custom_event` CustomEvent, required
            - `id` string — Unique custom event ID.
            - `object` 'event', required — The object represented is an `event`.
            - `type` string, required — The event name.
            - `customer` SimpleCustomerRequiredObjectType, required — This is an object representing a customer with limited properties used in Event Tracking endpoints.
              - …
            - `referral` object, required — Referral object.
              - …
            - `loyalty` object, required — Loyalty object.
              - …
            - `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 object.
            - `created_at` string, date-time — Timestamp representing the date and time when the custom event was created. The value is shown in the ISO 8601 format.
          - `redemption` RedemptionInternal — Model Used for internal communication
            - `id` string — Unique redemption ID.
            - `object` string — The type of the object represented by the JSON. This object stores information about the `redemption`.
            - `created_at` string, date-time — Timestamp representing the date and time when the redemption was created. The value is shown in the ISO 8601 format.
            - `tracking_id` string — Hashed customer source ID.
            - `metadata` object — The metadata object stores all custom attributes assigned to the redemption.
            - `channel_type` 'USER' | 'API' — The source of the channel for the redemption rollback. A `USER` corresponds to the Voucherify Dashboard and an `API` corresponds to the API.
            - `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.
            - `failure_code` string — If the result is `FAILURE`, this parameter will provide a generic reason as to why the redemption failed.
            - `failure_message` string — If the result is `FAILURE`, this parameter will provide a more expanded reason as to why the redemption failed.
            - `order` object — Order information.
              - …
            - `previous_order` object — Order information.
              - …
            - `reward` RedemptionRewardResult
              - …
            - `amount` integer — For gift cards, this is a positive integer in the smallest currency unit (e.g. 100 cents for $1.00) representing the number of redeemed credits. For loyalty cards, this is the number of loyalty points used in the transaction.
            - `reason` string — System generated cause for the redemption being invalid in the context of the provided parameters.
            - `result` 'SUCCESS' | 'FAILURE' — Redemption result.
            - `status` 'SUCCEEDED' | 'FAILED' — Redemption status.
            - `related_redemptions` object
              - …
            - `parent_redemption_id` string — Unique redemption ID of the parent redemption.
            - `redemption` string — Unique redemption ID of the parent redemption.
            - `customer` SimpleCustomer — Simplified customer data.
              - …
            - `customer_id` string, nullable — Unique customer ID of the redeeming customer.
            - `related_object_type` 'voucher' | 'promotion_tier' — Defines the related object.
            - `related_object_id` string — Unique related object ID assigned by Voucherify, i.e. v_lfZi4rcEGe0sN9gmnj40bzwK2FH6QUno for a voucher.
            - `related_object_parent_id` string — Unique related parent object ID assigned by Voucherify, i.e. v_lfZi4rcEGe0sN9gmnj40bzwK2FH6QUno for a voucher.
            - `campaign_name` string — Campaign name
            - `voucher` object — This is an object representing a voucher holder.
              - …
            - `promotion_tier` PromotionTier — This is an object representing a promotion tier. Promotion tiers are always assigned to a campaign and cannot be used standalone.
              - …
        - object — Event data object schema for `customer.custom_event`.
          - `event` CustomEvent, required
            - `id` string — Unique custom event ID.
            - `object` 'event', required — The object represented is an `event`.
            - `type` string, required — The event name.
            - `customer` SimpleCustomerRequiredObjectType, required — This is an object representing a customer with limited properties used in Event Tracking endpoints.
              - …
            - `referral` object, required — Referral object.
              - …
            - `loyalty` object, required — Loyalty object.
              - …
            - `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 object.
            - `created_at` string, date-time — Timestamp representing the date and time when the custom event was created. The value is shown in the ISO 8601 format.
          - `event_schema` SimpleCustomEvent, required — Simplified custom event data.
            - `id` string — Unique identifier of the custom event.
            - `name` string — Name of the custom event.
          - `customer` SimpleCustomer, required — 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.
          - `referral` object, nullable, required — Details about the referral.
            - `referrer` SimpleCustomer, required — Simplified customer data.
              - …
            - `voucher` SimpleVoucher, required — Simplified voucher data.
              - …
            - `campaign` SimpleCampaign, required — Simplified campaign data.
              - …
          - `loyalty` object, nullable, required — Details about the loyalty activity.
            - `voucher` SimpleVoucher, required — Simplified voucher data.
              - …
            - `campaign` SimpleCampaign, required — Simplified campaign data.
              - …
        - object — Event data object schema for `customer.segment.entered`.
          - `customer` CustomerWithSummaryLoyaltyReferrals, required
            - `id` string — The ID of an existing customer that will be linked to redemption in this request.
            - `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.
            - `summary` CustomerSummary, required
              - …
            - `loyalty` CustomerLoyalty, required
              - …
            - `referrals` CustomerReferrals, required — Summary of customer's referrals, in this case, the customer being the referee, i.e. information about the source of referrals and number of times the customer was referred by other customers.
              - …
            - `system_metadata` object — Object used to store system metadata information.
            - `created_at` string, date-time — Timestamp representing the date and time when the customer was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the customer was updated. The value is shown in the ISO 8601 format.
            - `assets` object — Contains information about the customer's cockpit. ⚠️ Warning: Customer cockpits were removed. The customer cockpit URLs redirect to customer preference center.
              - …
            - `object` 'customer', required — The type of the object represented by JSON.
            - `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.
              - …
            - `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.
          - `segment` SimpleSegment, required
            - `id` string, required — Unique segment ID.
            - `name` string, required — Segment name.
            - `object` 'segment', required — The type of the object represented by the ID.
        - object — Event data object schema for `customer.segment.left`.
          - `customer` CustomerWithSummaryLoyaltyReferrals, required
            - `id` string — The ID of an existing customer that will be linked to redemption in this request.
            - `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.
            - `summary` CustomerSummary, required
              - …
            - `loyalty` CustomerLoyalty, required
              - …
            - `referrals` CustomerReferrals, required — Summary of customer's referrals, in this case, the customer being the referee, i.e. information about the source of referrals and number of times the customer was referred by other customers.
              - …
            - `system_metadata` object — Object used to store system metadata information.
            - `created_at` string, date-time — Timestamp representing the date and time when the customer was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the customer was updated. The value is shown in the ISO 8601 format.
            - `assets` object — Contains information about the customer's cockpit. ⚠️ Warning: Customer cockpits were removed. The customer cockpit URLs redirect to customer preference center.
              - …
            - `object` 'customer', required — The type of the object represented by JSON.
            - `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.
              - …
            - `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.
          - `segment` SimpleSegment, required
            - `id` string, required — Unique segment ID.
            - `name` string, required — Segment name.
            - `object` 'segment', required — The type of the object represented by the ID.
        - EventCustomerSent
          - `customer` 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.
          - `distribution` object
          - `sent_at` string, date-time, required — Timestamp representing the date and time when the distribution was sent in ISO 8601 format.
        - EventCustomerRecovered
          - `customer` 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.
          - `distribution` object
          - `recovered_at` string, date-time, required — Timestamp representing the date and time when the distribution was recovered in ISO 8601 format.
        - EventCustomerFailed
          - `customer` 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.
          - `distribution` object
          - `failed_at` string, date-time, required — Timestamp representing the date and time when the distribution failed in ISO 8601 format.
        - EventCustomerSent
          - `customer` 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.
          - `distribution` object
          - `sent_at` string, date-time, required — Timestamp representing the date and time when the distribution was sent in ISO 8601 format.
        - EventCustomerRecovered
          - `customer` 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.
          - `distribution` object
          - `recovered_at` string, date-time, required — Timestamp representing the date and time when the distribution was recovered in ISO 8601 format.
        - EventCustomerFailed
          - `customer` 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.
          - `distribution` object
          - `failed_at` string, date-time, required — Timestamp representing the date and time when the distribution failed in ISO 8601 format.
        - EventCustomerSent
          - `customer` 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.
          - `distribution` object
          - `sent_at` string, date-time, required — Timestamp representing the date and time when the distribution was sent in ISO 8601 format.
        - EventCustomerRecovered
          - `customer` 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.
          - `distribution` object
          - `recovered_at` string, date-time, required — Timestamp representing the date and time when the distribution was recovered in ISO 8601 format.
        - EventCustomerFailed
          - `customer` 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.
          - `distribution` object
          - `failed_at` string, date-time, required — Timestamp representing the date and time when the distribution failed in ISO 8601 format.
        - EventCustomerSent
          - `customer` 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.
          - `distribution` object
          - `sent_at` string, date-time, required — Timestamp representing the date and time when the distribution was sent in ISO 8601 format.
        - EventCustomerRecovered
          - `customer` 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.
          - `distribution` object
          - `recovered_at` string, date-time, required — Timestamp representing the date and time when the distribution was recovered in ISO 8601 format.
        - EventCustomerFailed
          - `customer` 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.
          - `distribution` object
          - `failed_at` string, date-time, required — Timestamp representing the date and time when the distribution failed in ISO 8601 format.
        - EventCustomerSent
          - `customer` 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.
          - `distribution` object
          - `sent_at` string, date-time, required — Timestamp representing the date and time when the distribution was sent in ISO 8601 format.
        - EventCustomerRecovered
          - `customer` 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.
          - `distribution` object
          - `recovered_at` string, date-time, required — Timestamp representing the date and time when the distribution was recovered in ISO 8601 format.
        - EventCustomerFailed
          - `customer` 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.
          - `distribution` object
          - `failed_at` string, date-time, required — Timestamp representing the date and time when the distribution failed in ISO 8601 format.
        - EventCustomerSent
          - `customer` 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.
          - `distribution` object
          - `sent_at` string, date-time, required — Timestamp representing the date and time when the distribution was sent in ISO 8601 format.
        - EventCustomerRecovered
          - `customer` 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.
          - `distribution` object
          - `recovered_at` string, date-time, required — Timestamp representing the date and time when the distribution was recovered in ISO 8601 format.
        - EventCustomerFailed
          - `customer` 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.
          - `distribution` object
          - `failed_at` string, date-time, required — Timestamp representing the date and time when the distribution failed in ISO 8601 format.
        - EventCustomerSent
          - `customer` 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.
          - `distribution` object
          - `sent_at` string, date-time, required — Timestamp representing the date and time when the distribution was sent in ISO 8601 format.
        - EventCustomerRecovered
          - `customer` 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.
          - `distribution` object
          - `recovered_at` string, date-time, required — Timestamp representing the date and time when the distribution was recovered in ISO 8601 format.
        - EventCustomerFailed
          - `customer` 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.
          - `distribution` object
          - `failed_at` string, date-time, required — Timestamp representing the date and time when the distribution failed in ISO 8601 format.
        - EventCustomerSent
          - `customer` 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.
          - `distribution` object
          - `sent_at` string, date-time, required — Timestamp representing the date and time when the distribution was sent in ISO 8601 format.
        - EventCustomerRecovered
          - `customer` 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.
          - `distribution` object
          - `recovered_at` string, date-time, required — Timestamp representing the date and time when the distribution was recovered in ISO 8601 format.
        - EventCustomerFailed
          - `customer` 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.
          - `distribution` object
          - `failed_at` string, date-time, required — Timestamp representing the date and time when the distribution failed in ISO 8601 format.
        - EventCustomerSent
          - `customer` 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.
          - `distribution` object
          - `sent_at` string, date-time, required — Timestamp representing the date and time when the distribution was sent in ISO 8601 format.
        - EventCustomerRecovered
          - `customer` 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.
          - `distribution` object
          - `recovered_at` string, date-time, required — Timestamp representing the date and time when the distribution was recovered in ISO 8601 format.
        - EventCustomerFailed
          - `customer` 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.
          - `distribution` object
          - `failed_at` string, date-time, required — Timestamp representing the date and time when the distribution failed in ISO 8601 format.
        - object — Event data object schema for `customer.rewarded`.
          - `customer` 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.
          - `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.
          - `voucher` SimpleVoucher — Simplified voucher data.
            - `id` string — A unique identifier that represents the voucher assigned by Voucherify.
            - `code` string, required — Voucher code.
            - `gift` Gift — Contains current gift card balance information.
              - …
            - `discount` union — Contains information about discount.
              - …
            - `loyalty_card` SimpleLoyaltyCard — Simplified loyalty card data.
              - …
            - `type` 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' | 'GIFT_VOUCHER', required — Type of the voucher.
            - `campaign` string — Campaign name.
            - `campaign_id` string — Campaign unique ID.
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `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 referrer assigned by Voucherify.
            - `category_id` string, nullable — Unique identifier of the category that this voucher belongs to.
            - `categories` Category[] — Contains details about the category.
              - …
            - `active` boolean — Shows whether the voucher is on or off. `true` indicates an *active* voucher and `false` indicates an *inactive* voucher.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the order was created in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
            - `redemption` object — Defines the redemption limits on vouchers.
              - …
            - `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.
            - `metadata` object — A set of custom key/value pairs that you can attach to a voucher. The metadata object stores all custom attributes assigned to the voucher.
            - `object` 'voucher', required — The type of the object represented by JSON.
          - `campaign` SimpleCampaign — Simplified campaign data.
            - `id` string — Campaign ID.
            - `name` string — Campaign name.
            - `campaign_type` string — Type of campaign.
            - `type` 'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' — Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers. - `AUTO_UPDATE`: the campaign is dynamic, i.e. vouchers will generate based on set criteria - `STATIC`: vouchers need to be manually published - `STANDALONE`: campaign for single vouchers
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `voucher` SimpleCampaignVoucher — Simplified campaign voucher data.
              - …
            - `referral_program` ReferralProgram — Defines the referee reward and the way a referral is triggered. Context: `REFERRAL_PROGRAM`.
              - …
            - `auto_join` boolean — Indicates whether customers will be able to auto-join the campaign if any earning rule is fulfilled.
            - `join_once` boolean — If this value is set to `true`, customers will be able to join the campaign only once. It is always `false` for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always `true` for loyalty campaigns and it cannot be changed in them.
            - `active` boolean — Indicates whether the campaign is active.
            - `category_id` string, nullable — The unique category ID that this campaign belongs to.
            - `category` string — Unique category name.
            - `categories` Category[] — Contains details about the category.
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a campaign. The metadata object stores all custom attributes assigned to the campaign.
            - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive *before* this date.
            - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive *after* this date.
            - `description` string — An optional field to keep extra textual information about the campaign such as a campaign description and details.
            - `created_at` string, date-time — Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the campaign was updated in the ISO 8601 format.
            - `object` 'campaign' — The type of the object represented by JSON. This object stores information about the campaign.
          - `redemption` RedemptionInternal — Model Used for internal communication
            - `id` string — Unique redemption ID.
            - `object` string — The type of the object represented by the JSON. This object stores information about the `redemption`.
            - `created_at` string, date-time — Timestamp representing the date and time when the redemption was created. The value is shown in the ISO 8601 format.
            - `tracking_id` string — Hashed customer source ID.
            - `metadata` object — The metadata object stores all custom attributes assigned to the redemption.
            - `channel_type` 'USER' | 'API' — The source of the channel for the redemption rollback. A `USER` corresponds to the Voucherify Dashboard and an `API` corresponds to the API.
            - `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.
            - `failure_code` string — If the result is `FAILURE`, this parameter will provide a generic reason as to why the redemption failed.
            - `failure_message` string — If the result is `FAILURE`, this parameter will provide a more expanded reason as to why the redemption failed.
            - `order` object — Order information.
              - …
            - `previous_order` object — Order information.
              - …
            - `reward` RedemptionRewardResult
              - …
            - `amount` integer — For gift cards, this is a positive integer in the smallest currency unit (e.g. 100 cents for $1.00) representing the number of redeemed credits. For loyalty cards, this is the number of loyalty points used in the transaction.
            - `reason` string — System generated cause for the redemption being invalid in the context of the provided parameters.
            - `result` 'SUCCESS' | 'FAILURE' — Redemption result.
            - `status` 'SUCCEEDED' | 'FAILED' — Redemption status.
            - `related_redemptions` object
              - …
            - `parent_redemption_id` string — Unique redemption ID of the parent redemption.
            - `redemption` string — Unique redemption ID of the parent redemption.
            - `customer` SimpleCustomer — Simplified customer data.
              - …
            - `customer_id` string, nullable — Unique customer ID of the redeeming customer.
            - `related_object_type` 'voucher' | 'promotion_tier' — Defines the related object.
            - `related_object_id` string — Unique related object ID assigned by Voucherify, i.e. v_lfZi4rcEGe0sN9gmnj40bzwK2FH6QUno for a voucher.
            - `related_object_parent_id` string — Unique related parent object ID assigned by Voucherify, i.e. v_lfZi4rcEGe0sN9gmnj40bzwK2FH6QUno for a voucher.
            - `campaign_name` string — Campaign name
            - `voucher` object — This is an object representing a voucher holder.
              - …
            - `promotion_tier` PromotionTier — This is an object representing a promotion tier. Promotion tiers are always assigned to a campaign and cannot be used standalone.
              - …
          - `reward` SimpleRedemptionRewardResult — Simplified redemption reward result data
            - `customer` SimpleCustomer — Simplified customer data.
              - …
            - `assignment_id` string — Unique reward assignment ID assigned by Voucherify.
            - `voucher` SimpleVoucher — Simplified voucher data.
              - …
            - `product` SimpleProduct
              - …
            - `sku` SimpleSku
              - …
            - `loyalty_tier_id` string — Unique loyalty tier ID assigned by Voucherify.
            - `id` string — Unique reward ID, assigned by Voucherify.
            - `object` 'reward' — The type of the object represented by the JSON. This object stores information about the reward.
            - `name` string — Reward name.
            - `created_at` string, date-time — Timestamp representing the date and time when the reward 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 reward was updated. The value is shown in the ISO 8601 format.
            - `parameters` union
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a reward. The metadata object stores all custom attributes assigned to the reward.
            - `type` 'CAMPAIGN' | 'COIN' | 'MATERIAL' — Reward type.
          - `referral_tier` SimpleReferralTier
            - `id` string — Unique referral tier ID.
            - `campaign_id` string — Campaign Id.
            - `banner` string — Text to be displayed to your customers on your website.
            - `parameters` object — Referral tier parameters
          - `balance` object, nullable — Balance changed by the event. The `amount` property details a change in a gift card. The `points` property details a change in a loyalty card.
            - `amount` integer
            - `points` integer
          - `custom_event` CustomEvent
            - `id` string — Unique custom event ID.
            - `object` 'event', required — The object represented is an `event`.
            - `type` string, required — The event name.
            - `customer` SimpleCustomerRequiredObjectType, required — This is an object representing a customer with limited properties used in Event Tracking endpoints.
              - …
            - `referral` object, required — Referral object.
              - …
            - `loyalty` object, required — Loyalty object.
              - …
            - `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 object.
            - `created_at` string, date-time — Timestamp representing the date and time when the custom event was created. The value is shown in the ISO 8601 format.
          - `customer_event` object, nullable
            - `segment` SimpleSegment
              - …
            - `event_type` string — Type of activity that triggered the event.
        - object — Event data object schema for `customer.rewarded.loyalty_points`.
          - `customer` 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.
          - `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.
          - `voucher` SimpleVoucher — Simplified voucher data.
            - `id` string — A unique identifier that represents the voucher assigned by Voucherify.
            - `code` string, required — Voucher code.
            - `gift` Gift — Contains current gift card balance information.
              - …
            - `discount` union — Contains information about discount.
              - …
            - `loyalty_card` SimpleLoyaltyCard — Simplified loyalty card data.
              - …
            - `type` 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' | 'GIFT_VOUCHER', required — Type of the voucher.
            - `campaign` string — Campaign name.
            - `campaign_id` string — Campaign unique ID.
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `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 referrer assigned by Voucherify.
            - `category_id` string, nullable — Unique identifier of the category that this voucher belongs to.
            - `categories` Category[] — Contains details about the category.
              - …
            - `active` boolean — Shows whether the voucher is on or off. `true` indicates an *active* voucher and `false` indicates an *inactive* voucher.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the order was created in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
            - `redemption` object — Defines the redemption limits on vouchers.
              - …
            - `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.
            - `metadata` object — A set of custom key/value pairs that you can attach to a voucher. The metadata object stores all custom attributes assigned to the voucher.
            - `object` 'voucher', required — The type of the object represented by JSON.
          - `campaign` SimpleCampaign — Simplified campaign data.
            - `id` string — Campaign ID.
            - `name` string — Campaign name.
            - `campaign_type` string — Type of campaign.
            - `type` 'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' — Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers. - `AUTO_UPDATE`: the campaign is dynamic, i.e. vouchers will generate based on set criteria - `STATIC`: vouchers need to be manually published - `STANDALONE`: campaign for single vouchers
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `voucher` SimpleCampaignVoucher — Simplified campaign voucher data.
              - …
            - `referral_program` ReferralProgram — Defines the referee reward and the way a referral is triggered. Context: `REFERRAL_PROGRAM`.
              - …
            - `auto_join` boolean — Indicates whether customers will be able to auto-join the campaign if any earning rule is fulfilled.
            - `join_once` boolean — If this value is set to `true`, customers will be able to join the campaign only once. It is always `false` for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always `true` for loyalty campaigns and it cannot be changed in them.
            - `active` boolean — Indicates whether the campaign is active.
            - `category_id` string, nullable — The unique category ID that this campaign belongs to.
            - `category` string — Unique category name.
            - `categories` Category[] — Contains details about the category.
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a campaign. The metadata object stores all custom attributes assigned to the campaign.
            - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive *before* this date.
            - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive *after* this date.
            - `description` string — An optional field to keep extra textual information about the campaign such as a campaign description and details.
            - `created_at` string, date-time — Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the campaign was updated in the ISO 8601 format.
            - `object` 'campaign' — The type of the object represented by JSON. This object stores information about the campaign.
          - `loyalty_tier` LoyaltyTier
            - `name` string, required — Loyalty Tier name.
            - `earning_rules` object — Contains a list of earning rule IDs and their points mapping for the given earning rule.
            - `rewards` object — Contains a list of reward IDs and their points mapping for the given reward.
            - `points` object, required — Defines range of loyalty tier in points.
              - …
            - `id` string, required — Unique loyalty tier ID.
            - `campaign_id` string, required — Unique parent campaign ID.
            - `metadata` object, nullable, required — The metadata object stores all custom attributes assigned to the loyalty tier. A set of key/value pairs that you can attach to a loyalty tier object. It can be useful for storing additional information about the loyalty tier in a structured format.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the loyalty tier 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 loyalty tier was updated. The value is shown in the ISO 8601 format.
            - `config` object, required — Defines loyalty tier range in points.
              - …
            - `expiration` LoyaltyTierExpiration — Defines loyalty tier expiration date.
              - …
            - `object` 'loyalty_tier', required — The type of the object represented by JSON. This object stores information about the loyalty.
          - `earning_rule` EarningRule
            - `id` string, required — Assigned by the Voucherify API, identifies the earning rule object.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the earning rule was created. The value is shown in the ISO 8601 format.
            - `loyalty` union, required
              - …
            - `event` string
            - `custom_event` object — Contains details about the custom event.
              - …
            - `segment` object — Contains the ID of a customer segment. Required for the `customer.segment.entered` option in the event.
              - …
            - `loyalty_tier` object — Defines the tier associated with the earning rule definition.
              - …
            - `pending_points` object — Defines the configuration for pending points. Pending points can be used only with the `order.paid` event.
              - …
            - `source` object, required — Contains the custom earning rule name and parent campaign.
              - …
            - `object` 'earning_rule', required — The type of the object represented by JSON. Default is earning_rule.
            - `automation_id` string, required — For internal use by Voucherify.
            - `start_date` string — Start date defines when the earning rule starts to be active. Activation timestamp is presented in the ISO 8601 format. The earning rule is inactive before this date. If you do not define the start date for an earning rule, it will inherit the campaign start date by default.
            - `expiration_date` string — Expiration date defines when the earning rule expires. Expiration timestamp is presented in the ISO 8601 format. The earning rule is inactive after this date. If you do not define the expiration date for an earning rule, it will inherit the campaign expiration date by default.
            - `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`.
              - …
            - `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.
              - …
            - `metadata` object, required — The metadata object stores all custom attributes assigned to the earning rule. A set of key/value pairs that you can attach to an earning rule object. It can be useful for storing additional information about the earning rule in a structured format.
            - `expiration_rules` EarningRuleExpirationRules — Defines the loyalty point expiration rule. This expiration rule applies only to this earning rule and supersedes `expiration_rules` defined in the `voucher.loyalty_card` object.
              - …
            - `validation_rule_id` string, nullable, required — A unique validation rule identifier assigned by the Voucherify API. The validation rule is verified before points are added to the balance.
            - `updated_at` string, date-time, nullable, required — Timestamp representing the date and time when the earning rule was last updated in ISO 8601 format.
            - `active` boolean, required — A flag to toggle the earning rule on or off. You can disable an earning rule even though it's within the active period defined by the start_date and expiration_date of the campaign or the earning rule's own start_date and expiration_date. - `true` indicates an active earning rule - `false` indicates an inactive earning rule
          - `balance` VoucherBalance — Contains information on how the balance was affected by the transaction.
            - `type` 'loyalty_card' | 'gift_voucher' — The type of voucher whose balance is being adjusted due to the transaction.
            - `total` integer, required — The number of all points or credits accumulated on the card as affected by add or subtract operations.
            - `object` 'balance', required — The type of the object represented by the JSON.
            - `amount` integer — Credits added or subtracted on a gift card.
            - `points` integer — Points added or subtracted in the transaction of a loyalty card.
            - `balance` integer, required — The available points or credits on the card after the transaction as affected by redemption or rollback.
            - `operation_type` 'MANUAL' | 'AUTOMATIC' — The type of the operation being performed. The operation type is `AUTOMATIC` if it is an automatic redemption.
            - `related_object` object, required — Defines the resource that is being modified with the values that are returned in the balance object.
              - …
          - `order` object — 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.
            - `status` 'CREATED' | 'PAID' | 'CANCELED' | 'FULFILLED' — The order status.
            - `amount` integer — This is the sum of the order items' amounts. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `initial_amount` integer — This is the sum of the order items' amounts before any discount or other effect (e.g. add missing units) is applied. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `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_discount_amount` integer — Sum of all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `total_discount_amount` integer — Sum of all order-level AND all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `total_amount` integer — Order amount after undoing all the discounts through the rollback redemption. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `applied_discount_amount` integer — This field shows the order-level discount applied. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items_applied_discount_amount` integer — Sum of all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00). `sum(items, i => i.applied_discount_amount)`
            - `total_applied_discount_amount` integer — Sum of all order-level AND all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00). `total_applied_discount_amount` = `applied_discount_amount` + `items_applied_discount_amount`
            - `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.
            - `object` 'order' — The type of the object represented by JSON.
            - `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, nullable — Timestamp representing the date and time when the order was last updated in ISO 8601 format.
            - `customer_id` string, nullable — Unique customer identifier of the customer making the purchase. The ID is assigned by Voucherify.
            - `referrer_id` string, nullable — Unique referrer ID.
            - `customer` CustomerId
              - …
            - `referrer` ReferrerId
              - …
            - `redemptions` object
            - `items` OrderCalculatedItem[] — Array of items applied to the order. It can include up to 500 items.
              - …
          - `event` SimpleEvent — Simplified event data.
            - `id` string — Unique identifier assigned by Voucherify that will be linked to the this event.
            - `type` string — Type of the triggering event.
            - `category` 'EFFECT' | 'ACTION' — Type of the event.
            - `entity_id` string — ID of the entity that initiated the event.
            - `created_at` string, date-time — Timestamp representing the date and time when the event was created in the ISO 8601 format.
            - `group_id` string — Unique identifier of the request that triggered the event.
        - object — Event data object schema for `customer.voucher.gift.balance_added`.
          - `customer` 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.
          - `campaign` SimpleCampaign — Simplified campaign data.
            - `id` string — Campaign ID.
            - `name` string — Campaign name.
            - `campaign_type` string — Type of campaign.
            - `type` 'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' — Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers. - `AUTO_UPDATE`: the campaign is dynamic, i.e. vouchers will generate based on set criteria - `STATIC`: vouchers need to be manually published - `STANDALONE`: campaign for single vouchers
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `voucher` SimpleCampaignVoucher — Simplified campaign voucher data.
              - …
            - `referral_program` ReferralProgram — Defines the referee reward and the way a referral is triggered. Context: `REFERRAL_PROGRAM`.
              - …
            - `auto_join` boolean — Indicates whether customers will be able to auto-join the campaign if any earning rule is fulfilled.
            - `join_once` boolean — If this value is set to `true`, customers will be able to join the campaign only once. It is always `false` for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always `true` for loyalty campaigns and it cannot be changed in them.
            - `active` boolean — Indicates whether the campaign is active.
            - `category_id` string, nullable — The unique category ID that this campaign belongs to.
            - `category` string — Unique category name.
            - `categories` Category[] — Contains details about the category.
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a campaign. The metadata object stores all custom attributes assigned to the campaign.
            - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive *before* this date.
            - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive *after* this date.
            - `description` string — An optional field to keep extra textual information about the campaign such as a campaign description and details.
            - `created_at` string, date-time — Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the campaign was updated in the ISO 8601 format.
            - `object` 'campaign' — The type of the object represented by JSON. This object stores information about the campaign.
          - `voucher` SimpleVoucher — Simplified voucher data.
            - `id` string — A unique identifier that represents the voucher assigned by Voucherify.
            - `code` string, required — Voucher code.
            - `gift` Gift — Contains current gift card balance information.
              - …
            - `discount` union — Contains information about discount.
              - …
            - `loyalty_card` SimpleLoyaltyCard — Simplified loyalty card data.
              - …
            - `type` 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' | 'GIFT_VOUCHER', required — Type of the voucher.
            - `campaign` string — Campaign name.
            - `campaign_id` string — Campaign unique ID.
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `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 referrer assigned by Voucherify.
            - `category_id` string, nullable — Unique identifier of the category that this voucher belongs to.
            - `categories` Category[] — Contains details about the category.
              - …
            - `active` boolean — Shows whether the voucher is on or off. `true` indicates an *active* voucher and `false` indicates an *inactive* voucher.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the order was created in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
            - `redemption` object — Defines the redemption limits on vouchers.
              - …
            - `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.
            - `metadata` object — A set of custom key/value pairs that you can attach to a voucher. The metadata object stores all custom attributes assigned to the voucher.
            - `object` 'voucher', required — The type of the object represented by JSON.
          - `balance` VoucherBalance — Contains information on how the balance was affected by the transaction.
            - `type` 'loyalty_card' | 'gift_voucher' — The type of voucher whose balance is being adjusted due to the transaction.
            - `total` integer, required — The number of all points or credits accumulated on the card as affected by add or subtract operations.
            - `object` 'balance', required — The type of the object represented by the JSON.
            - `amount` integer — Credits added or subtracted on a gift card.
            - `points` integer — Points added or subtracted in the transaction of a loyalty card.
            - `balance` integer, required — The available points or credits on the card after the transaction as affected by redemption or rollback.
            - `operation_type` 'MANUAL' | 'AUTOMATIC' — The type of the operation being performed. The operation type is `AUTOMATIC` if it is an automatic redemption.
            - `related_object` object, required — Defines the resource that is being modified with the values that are returned in the balance object.
              - …
          - `transaction` object
            - `id` string, required — Unique transaction ID.
            - `source_id` string, nullable, required — The merchant's transaction ID if it is different from the Voucherify transaction ID. It is really useful in case of an integration between multiple systems. It can be a transaction ID from a CRM system, database or 3rd-party service. In case of a redemption, this value is null.
            - `voucher_id` string, required — Unique voucher ID.
            - `campaign_id` string, required — Unqiue campaign ID of the voucher's parent campaign if it is part of campaign that generates bulk codes.
            - `source` string, nullable, required — The channel through which the transaction took place, whether through the API or the Dashboard. In case of a redemption, this value is null.
            - `reason` string, nullable, required — Reason why the transaction occurred. In case of a redemption, this value is null.
            - `related_transaction_id` string, nullable, required — The related transaction ID on the receiving card.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the transaction was created. The value is shown in the ISO 8601 format.
            - `details` object, required — Contains the detailed information about the transaction.
              - …
            - `type` 'CREDITS_ADDITION', required — Transaction type concerning gift card credits.
        - object — Event data object schema for `customer.voucher.loyalty_card.pending_points.activated`.
          - `customer` SimpleCustomer, required — 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.
          - `campaign` SimpleCampaign, required — Simplified campaign data.
            - `id` string — Campaign ID.
            - `name` string — Campaign name.
            - `campaign_type` string — Type of campaign.
            - `type` 'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' — Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers. - `AUTO_UPDATE`: the campaign is dynamic, i.e. vouchers will generate based on set criteria - `STATIC`: vouchers need to be manually published - `STANDALONE`: campaign for single vouchers
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `voucher` SimpleCampaignVoucher — Simplified campaign voucher data.
              - …
            - `referral_program` ReferralProgram — Defines the referee reward and the way a referral is triggered. Context: `REFERRAL_PROGRAM`.
              - …
            - `auto_join` boolean — Indicates whether customers will be able to auto-join the campaign if any earning rule is fulfilled.
            - `join_once` boolean — If this value is set to `true`, customers will be able to join the campaign only once. It is always `false` for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always `true` for loyalty campaigns and it cannot be changed in them.
            - `active` boolean — Indicates whether the campaign is active.
            - `category_id` string, nullable — The unique category ID that this campaign belongs to.
            - `category` string — Unique category name.
            - `categories` Category[] — Contains details about the category.
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a campaign. The metadata object stores all custom attributes assigned to the campaign.
            - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive *before* this date.
            - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive *after* this date.
            - `description` string — An optional field to keep extra textual information about the campaign such as a campaign description and details.
            - `created_at` string, date-time — Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the campaign was updated in the ISO 8601 format.
            - `object` 'campaign' — The type of the object represented by JSON. This object stores information about the campaign.
          - `voucher` SimpleVoucher, required — Simplified voucher data.
            - `id` string — A unique identifier that represents the voucher assigned by Voucherify.
            - `code` string, required — Voucher code.
            - `gift` Gift — Contains current gift card balance information.
              - …
            - `discount` union — Contains information about discount.
              - …
            - `loyalty_card` SimpleLoyaltyCard — Simplified loyalty card data.
              - …
            - `type` 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' | 'GIFT_VOUCHER', required — Type of the voucher.
            - `campaign` string — Campaign name.
            - `campaign_id` string — Campaign unique ID.
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `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 referrer assigned by Voucherify.
            - `category_id` string, nullable — Unique identifier of the category that this voucher belongs to.
            - `categories` Category[] — Contains details about the category.
              - …
            - `active` boolean — Shows whether the voucher is on or off. `true` indicates an *active* voucher and `false` indicates an *inactive* voucher.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the order was created in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
            - `redemption` object — Defines the redemption limits on vouchers.
              - …
            - `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.
            - `metadata` object — A set of custom key/value pairs that you can attach to a voucher. The metadata object stores all custom attributes assigned to the voucher.
            - `object` 'voucher', required — The type of the object represented by JSON.
          - `balance` VoucherBalance, required — Contains information on how the balance was affected by the transaction.
            - `type` 'loyalty_card' | 'gift_voucher' — The type of voucher whose balance is being adjusted due to the transaction.
            - `total` integer, required — The number of all points or credits accumulated on the card as affected by add or subtract operations.
            - `object` 'balance', required — The type of the object represented by the JSON.
            - `amount` integer — Credits added or subtracted on a gift card.
            - `points` integer — Points added or subtracted in the transaction of a loyalty card.
            - `balance` integer, required — The available points or credits on the card after the transaction as affected by redemption or rollback.
            - `operation_type` 'MANUAL' | 'AUTOMATIC' — The type of the operation being performed. The operation type is `AUTOMATIC` if it is an automatic redemption.
            - `related_object` object, required — Defines the resource that is being modified with the values that are returned in the balance object.
              - …
          - `order` SimpleOrder, required — Order information.
            - `id` string — Unique identifier of an existing order that will be linked to the redemption of this request.
            - `source_id` string — Unique source identifier of an existing order that will be linked to the redemption of this request.
            - `status` 'CREATED' | 'PAID' | 'CANCELED' | 'FULFILLED' — The order status.
            - `customer_id` string, nullable — Unique customer identifier of the customer making the purchase. The ID is assigned by Voucherify.
            - `referrer_id` string, nullable — Unique identifier of the referrer assigned by Voucherify.
            - `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).
            - `applied_discount_amount` integer — This field shows the order-level discount applied. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items_discount_amount` integer — Sum of all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items_applied_discount_amount` integer — Sum of all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00). `sum(items, i => i.applied_discount_amount)`
            - `total_discount_amount` integer — Sum of all order-level AND all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `total_applied_discount_amount` integer — Sum of all order-level AND all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00). `total_applied_discount_amount` = `applied_discount_amount` + `items_applied_discount_amount`
            - `total_amount` integer — Order amount after undoing all the discounts through the rollback redemption. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items` SimpleOrderItem[] — Array of items applied to the order. It can include up to 500 items.
              - …
            - `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.
            - `object` 'order', required — The type of the object represented by JSON.
          - `transaction` VoucherTransaction, required
            - `id` string, required — Unique transaction ID.
            - `source_id` string, nullable, required — The merchant's transaction ID if it is different from the Voucherify transaction ID. It is really useful in case of an integration between multiple systems. It can be a transaction ID from a CRM system, database or 3rd-party service. In case of a redemption, this value is null.
            - `voucher_id` string, required — Unique voucher ID.
            - `campaign_id` string, required — Unqiue campaign ID of the voucher's parent campaign if it is part of campaign that generates bulk codes.
            - `source` string, nullable, required — The channel through which the transaction took place, whether through the API or the Dashboard. In case of a redemption, this value is null.
            - `reason` string, nullable, required — Reason why the transaction occurred. In case of a redemption, this value is null.
            - `related_transaction_id` string, nullable, required — The related transaction ID on the receiving card.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the transaction was created. The value is shown in the ISO 8601 format.
            - `details` object, required — Contains the detailed information about the transaction.
              - …
            - `type` union, required
              - …
          - `pending_points` LoyaltyPendingPoints, required — Contains details about the pending point entry.
            - `id` string, required — Unique identifier of the pending point entry, assigned by Voucherify.
            - `voucher_id` string, required — Unique identifier of the loyalty card, assigned by Voucherify.
            - `campaign_id` string, required — Unique campaign identifier, assigned by Voucherify.
            - `customer_id` string, required — Unique customer identifier, assigned by Voucherify.
            - `order_id` string, required — Unique order identifier, assigned by Voucherify.
            - `points` integer, required — Number of points in the pending state.
            - `activates_at` string, date, required — Date when the pending points are activated and added to the customer's loyalty card.
            - `details` LoyaltyPendingPointsDetails, required — Details about how the pending points were earned.
              - …
            - `created_at` string, date-time, required — Timestamp representing the date and time when the pending point entry was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the pending point entry was modified. The value is shown in the ISO 8601 format.
        - object — Event data object schema for `customer.voucher.loyalty_card.pending_points.added`.
          - `customer` SimpleCustomer, required — 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.
          - `campaign` SimpleCampaign, required — Simplified campaign data.
            - `id` string — Campaign ID.
            - `name` string — Campaign name.
            - `campaign_type` string — Type of campaign.
            - `type` 'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' — Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers. - `AUTO_UPDATE`: the campaign is dynamic, i.e. vouchers will generate based on set criteria - `STATIC`: vouchers need to be manually published - `STANDALONE`: campaign for single vouchers
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `voucher` SimpleCampaignVoucher — Simplified campaign voucher data.
              - …
            - `referral_program` ReferralProgram — Defines the referee reward and the way a referral is triggered. Context: `REFERRAL_PROGRAM`.
              - …
            - `auto_join` boolean — Indicates whether customers will be able to auto-join the campaign if any earning rule is fulfilled.
            - `join_once` boolean — If this value is set to `true`, customers will be able to join the campaign only once. It is always `false` for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always `true` for loyalty campaigns and it cannot be changed in them.
            - `active` boolean — Indicates whether the campaign is active.
            - `category_id` string, nullable — The unique category ID that this campaign belongs to.
            - `category` string — Unique category name.
            - `categories` Category[] — Contains details about the category.
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a campaign. The metadata object stores all custom attributes assigned to the campaign.
            - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive *before* this date.
            - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive *after* this date.
            - `description` string — An optional field to keep extra textual information about the campaign such as a campaign description and details.
            - `created_at` string, date-time — Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the campaign was updated in the ISO 8601 format.
            - `object` 'campaign' — The type of the object represented by JSON. This object stores information about the campaign.
          - `voucher` SimpleVoucher, required — Simplified voucher data.
            - `id` string — A unique identifier that represents the voucher assigned by Voucherify.
            - `code` string, required — Voucher code.
            - `gift` Gift — Contains current gift card balance information.
              - …
            - `discount` union — Contains information about discount.
              - …
            - `loyalty_card` SimpleLoyaltyCard — Simplified loyalty card data.
              - …
            - `type` 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' | 'GIFT_VOUCHER', required — Type of the voucher.
            - `campaign` string — Campaign name.
            - `campaign_id` string — Campaign unique ID.
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `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 referrer assigned by Voucherify.
            - `category_id` string, nullable — Unique identifier of the category that this voucher belongs to.
            - `categories` Category[] — Contains details about the category.
              - …
            - `active` boolean — Shows whether the voucher is on or off. `true` indicates an *active* voucher and `false` indicates an *inactive* voucher.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the order was created in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
            - `redemption` object — Defines the redemption limits on vouchers.
              - …
            - `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.
            - `metadata` object — A set of custom key/value pairs that you can attach to a voucher. The metadata object stores all custom attributes assigned to the voucher.
            - `object` 'voucher', required — The type of the object represented by JSON.
          - `voucher_pending_points_balance` VoucherBalance, required — Contains information on how the balance was affected by the transaction.
            - `type` 'loyalty_card' | 'gift_voucher' — The type of voucher whose balance is being adjusted due to the transaction.
            - `total` integer, required — The number of all points or credits accumulated on the card as affected by add or subtract operations.
            - `object` 'balance', required — The type of the object represented by the JSON.
            - `amount` integer — Credits added or subtracted on a gift card.
            - `points` integer — Points added or subtracted in the transaction of a loyalty card.
            - `balance` integer, required — The available points or credits on the card after the transaction as affected by redemption or rollback.
            - `operation_type` 'MANUAL' | 'AUTOMATIC' — The type of the operation being performed. The operation type is `AUTOMATIC` if it is an automatic redemption.
            - `related_object` object, required — Defines the resource that is being modified with the values that are returned in the balance object.
              - …
          - `order` SimpleOrder, required — Order information.
            - `id` string — Unique identifier of an existing order that will be linked to the redemption of this request.
            - `source_id` string — Unique source identifier of an existing order that will be linked to the redemption of this request.
            - `status` 'CREATED' | 'PAID' | 'CANCELED' | 'FULFILLED' — The order status.
            - `customer_id` string, nullable — Unique customer identifier of the customer making the purchase. The ID is assigned by Voucherify.
            - `referrer_id` string, nullable — Unique identifier of the referrer assigned by Voucherify.
            - `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).
            - `applied_discount_amount` integer — This field shows the order-level discount applied. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items_discount_amount` integer — Sum of all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items_applied_discount_amount` integer — Sum of all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00). `sum(items, i => i.applied_discount_amount)`
            - `total_discount_amount` integer — Sum of all order-level AND all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `total_applied_discount_amount` integer — Sum of all order-level AND all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00). `total_applied_discount_amount` = `applied_discount_amount` + `items_applied_discount_amount`
            - `total_amount` integer — Order amount after undoing all the discounts through the rollback redemption. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items` SimpleOrderItem[] — Array of items applied to the order. It can include up to 500 items.
              - …
            - `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.
            - `object` 'order', required — The type of the object represented by JSON.
          - `pending_points` LoyaltyPendingPoints, required — Contains details about the pending point entry.
            - `id` string, required — Unique identifier of the pending point entry, assigned by Voucherify.
            - `voucher_id` string, required — Unique identifier of the loyalty card, assigned by Voucherify.
            - `campaign_id` string, required — Unique campaign identifier, assigned by Voucherify.
            - `customer_id` string, required — Unique customer identifier, assigned by Voucherify.
            - `order_id` string, required — Unique order identifier, assigned by Voucherify.
            - `points` integer, required — Number of points in the pending state.
            - `activates_at` string, date, required — Date when the pending points are activated and added to the customer's loyalty card.
            - `details` LoyaltyPendingPointsDetails, required — Details about how the pending points were earned.
              - …
            - `created_at` string, date-time, required — Timestamp representing the date and time when the pending point entry was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the pending point entry was modified. The value is shown in the ISO 8601 format.
        - object — Event data object schema for `customer.voucher.loyalty_card.pending_points.canceled`.
          - `customer` SimpleCustomer, required — 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.
          - `campaign` SimpleCampaign, required — Simplified campaign data.
            - `id` string — Campaign ID.
            - `name` string — Campaign name.
            - `campaign_type` string — Type of campaign.
            - `type` 'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' — Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers. - `AUTO_UPDATE`: the campaign is dynamic, i.e. vouchers will generate based on set criteria - `STATIC`: vouchers need to be manually published - `STANDALONE`: campaign for single vouchers
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `voucher` SimpleCampaignVoucher — Simplified campaign voucher data.
              - …
            - `referral_program` ReferralProgram — Defines the referee reward and the way a referral is triggered. Context: `REFERRAL_PROGRAM`.
              - …
            - `auto_join` boolean — Indicates whether customers will be able to auto-join the campaign if any earning rule is fulfilled.
            - `join_once` boolean — If this value is set to `true`, customers will be able to join the campaign only once. It is always `false` for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always `true` for loyalty campaigns and it cannot be changed in them.
            - `active` boolean — Indicates whether the campaign is active.
            - `category_id` string, nullable — The unique category ID that this campaign belongs to.
            - `category` string — Unique category name.
            - `categories` Category[] — Contains details about the category.
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a campaign. The metadata object stores all custom attributes assigned to the campaign.
            - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive *before* this date.
            - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive *after* this date.
            - `description` string — An optional field to keep extra textual information about the campaign such as a campaign description and details.
            - `created_at` string, date-time — Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the campaign was updated in the ISO 8601 format.
            - `object` 'campaign' — The type of the object represented by JSON. This object stores information about the campaign.
          - `voucher` SimpleVoucher, required — Simplified voucher data.
            - `id` string — A unique identifier that represents the voucher assigned by Voucherify.
            - `code` string, required — Voucher code.
            - `gift` Gift — Contains current gift card balance information.
              - …
            - `discount` union — Contains information about discount.
              - …
            - `loyalty_card` SimpleLoyaltyCard — Simplified loyalty card data.
              - …
            - `type` 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' | 'GIFT_VOUCHER', required — Type of the voucher.
            - `campaign` string — Campaign name.
            - `campaign_id` string — Campaign unique ID.
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `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 referrer assigned by Voucherify.
            - `category_id` string, nullable — Unique identifier of the category that this voucher belongs to.
            - `categories` Category[] — Contains details about the category.
              - …
            - `active` boolean — Shows whether the voucher is on or off. `true` indicates an *active* voucher and `false` indicates an *inactive* voucher.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the order was created in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
            - `redemption` object — Defines the redemption limits on vouchers.
              - …
            - `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.
            - `metadata` object — A set of custom key/value pairs that you can attach to a voucher. The metadata object stores all custom attributes assigned to the voucher.
            - `object` 'voucher', required — The type of the object represented by JSON.
          - `voucher_pending_points_balance` VoucherBalance, required — Contains information on how the balance was affected by the transaction.
            - `type` 'loyalty_card' | 'gift_voucher' — The type of voucher whose balance is being adjusted due to the transaction.
            - `total` integer, required — The number of all points or credits accumulated on the card as affected by add or subtract operations.
            - `object` 'balance', required — The type of the object represented by the JSON.
            - `amount` integer — Credits added or subtracted on a gift card.
            - `points` integer — Points added or subtracted in the transaction of a loyalty card.
            - `balance` integer, required — The available points or credits on the card after the transaction as affected by redemption or rollback.
            - `operation_type` 'MANUAL' | 'AUTOMATIC' — The type of the operation being performed. The operation type is `AUTOMATIC` if it is an automatic redemption.
            - `related_object` object, required — Defines the resource that is being modified with the values that are returned in the balance object.
              - …
          - `order` SimpleOrder, required — Order information.
            - `id` string — Unique identifier of an existing order that will be linked to the redemption of this request.
            - `source_id` string — Unique source identifier of an existing order that will be linked to the redemption of this request.
            - `status` 'CREATED' | 'PAID' | 'CANCELED' | 'FULFILLED' — The order status.
            - `customer_id` string, nullable — Unique customer identifier of the customer making the purchase. The ID is assigned by Voucherify.
            - `referrer_id` string, nullable — Unique identifier of the referrer assigned by Voucherify.
            - `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).
            - `applied_discount_amount` integer — This field shows the order-level discount applied. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items_discount_amount` integer — Sum of all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items_applied_discount_amount` integer — Sum of all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00). `sum(items, i => i.applied_discount_amount)`
            - `total_discount_amount` integer — Sum of all order-level AND all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `total_applied_discount_amount` integer — Sum of all order-level AND all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00). `total_applied_discount_amount` = `applied_discount_amount` + `items_applied_discount_amount`
            - `total_amount` integer — Order amount after undoing all the discounts through the rollback redemption. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items` SimpleOrderItem[] — Array of items applied to the order. It can include up to 500 items.
              - …
            - `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.
            - `object` 'order', required — The type of the object represented by JSON.
          - `pending_points` LoyaltyPendingPoints, required — Contains details about the pending point entry.
            - `id` string, required — Unique identifier of the pending point entry, assigned by Voucherify.
            - `voucher_id` string, required — Unique identifier of the loyalty card, assigned by Voucherify.
            - `campaign_id` string, required — Unique campaign identifier, assigned by Voucherify.
            - `customer_id` string, required — Unique customer identifier, assigned by Voucherify.
            - `order_id` string, required — Unique order identifier, assigned by Voucherify.
            - `points` integer, required — Number of points in the pending state.
            - `activates_at` string, date, required — Date when the pending points are activated and added to the customer's loyalty card.
            - `details` LoyaltyPendingPointsDetails, required — Details about how the pending points were earned.
              - …
            - `created_at` string, date-time, required — Timestamp representing the date and time when the pending point entry was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the pending point entry was modified. The value is shown in the ISO 8601 format.
        - object — Event data object schema for `customer.voucher.loyalty_card.pending_points.updated`.
          - `customer` SimpleCustomer, required — 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.
          - `campaign` SimpleCampaign, required — Simplified campaign data.
            - `id` string — Campaign ID.
            - `name` string — Campaign name.
            - `campaign_type` string — Type of campaign.
            - `type` 'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' — Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers. - `AUTO_UPDATE`: the campaign is dynamic, i.e. vouchers will generate based on set criteria - `STATIC`: vouchers need to be manually published - `STANDALONE`: campaign for single vouchers
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `voucher` SimpleCampaignVoucher — Simplified campaign voucher data.
              - …
            - `referral_program` ReferralProgram — Defines the referee reward and the way a referral is triggered. Context: `REFERRAL_PROGRAM`.
              - …
            - `auto_join` boolean — Indicates whether customers will be able to auto-join the campaign if any earning rule is fulfilled.
            - `join_once` boolean — If this value is set to `true`, customers will be able to join the campaign only once. It is always `false` for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always `true` for loyalty campaigns and it cannot be changed in them.
            - `active` boolean — Indicates whether the campaign is active.
            - `category_id` string, nullable — The unique category ID that this campaign belongs to.
            - `category` string — Unique category name.
            - `categories` Category[] — Contains details about the category.
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a campaign. The metadata object stores all custom attributes assigned to the campaign.
            - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive *before* this date.
            - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive *after* this date.
            - `description` string — An optional field to keep extra textual information about the campaign such as a campaign description and details.
            - `created_at` string, date-time — Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the campaign was updated in the ISO 8601 format.
            - `object` 'campaign' — The type of the object represented by JSON. This object stores information about the campaign.
          - `voucher` SimpleVoucher, required — Simplified voucher data.
            - `id` string — A unique identifier that represents the voucher assigned by Voucherify.
            - `code` string, required — Voucher code.
            - `gift` Gift — Contains current gift card balance information.
              - …
            - `discount` union — Contains information about discount.
              - …
            - `loyalty_card` SimpleLoyaltyCard — Simplified loyalty card data.
              - …
            - `type` 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' | 'GIFT_VOUCHER', required — Type of the voucher.
            - `campaign` string — Campaign name.
            - `campaign_id` string — Campaign unique ID.
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `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 referrer assigned by Voucherify.
            - `category_id` string, nullable — Unique identifier of the category that this voucher belongs to.
            - `categories` Category[] — Contains details about the category.
              - …
            - `active` boolean — Shows whether the voucher is on or off. `true` indicates an *active* voucher and `false` indicates an *inactive* voucher.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the order was created in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
            - `redemption` object — Defines the redemption limits on vouchers.
              - …
            - `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.
            - `metadata` object — A set of custom key/value pairs that you can attach to a voucher. The metadata object stores all custom attributes assigned to the voucher.
            - `object` 'voucher', required — The type of the object represented by JSON.
          - `voucher_pending_points_balance` VoucherBalance, required — Contains information on how the balance was affected by the transaction.
            - `type` 'loyalty_card' | 'gift_voucher' — The type of voucher whose balance is being adjusted due to the transaction.
            - `total` integer, required — The number of all points or credits accumulated on the card as affected by add or subtract operations.
            - `object` 'balance', required — The type of the object represented by the JSON.
            - `amount` integer — Credits added or subtracted on a gift card.
            - `points` integer — Points added or subtracted in the transaction of a loyalty card.
            - `balance` integer, required — The available points or credits on the card after the transaction as affected by redemption or rollback.
            - `operation_type` 'MANUAL' | 'AUTOMATIC' — The type of the operation being performed. The operation type is `AUTOMATIC` if it is an automatic redemption.
            - `related_object` object, required — Defines the resource that is being modified with the values that are returned in the balance object.
              - …
          - `order` SimpleOrder, required — Order information.
            - `id` string — Unique identifier of an existing order that will be linked to the redemption of this request.
            - `source_id` string — Unique source identifier of an existing order that will be linked to the redemption of this request.
            - `status` 'CREATED' | 'PAID' | 'CANCELED' | 'FULFILLED' — The order status.
            - `customer_id` string, nullable — Unique customer identifier of the customer making the purchase. The ID is assigned by Voucherify.
            - `referrer_id` string, nullable — Unique identifier of the referrer assigned by Voucherify.
            - `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).
            - `applied_discount_amount` integer — This field shows the order-level discount applied. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items_discount_amount` integer — Sum of all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items_applied_discount_amount` integer — Sum of all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00). `sum(items, i => i.applied_discount_amount)`
            - `total_discount_amount` integer — Sum of all order-level AND all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `total_applied_discount_amount` integer — Sum of all order-level AND all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00). `total_applied_discount_amount` = `applied_discount_amount` + `items_applied_discount_amount`
            - `total_amount` integer — Order amount after undoing all the discounts through the rollback redemption. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items` SimpleOrderItem[] — Array of items applied to the order. It can include up to 500 items.
              - …
            - `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.
            - `object` 'order', required — The type of the object represented by JSON.
          - `pending_points` LoyaltyPendingPoints, required — Contains details about the pending point entry.
            - `id` string, required — Unique identifier of the pending point entry, assigned by Voucherify.
            - `voucher_id` string, required — Unique identifier of the loyalty card, assigned by Voucherify.
            - `campaign_id` string, required — Unique campaign identifier, assigned by Voucherify.
            - `customer_id` string, required — Unique customer identifier, assigned by Voucherify.
            - `order_id` string, required — Unique order identifier, assigned by Voucherify.
            - `points` integer, required — Number of points in the pending state.
            - `activates_at` string, date, required — Date when the pending points are activated and added to the customer's loyalty card.
            - `details` LoyaltyPendingPointsDetails, required — Details about how the pending points were earned.
              - …
            - `created_at` string, date-time, required — Timestamp representing the date and time when the pending point entry was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the pending point entry was modified. The value is shown in the ISO 8601 format.
        - object — Event data object schema for `customer.voucher.loyalty_card.points_added`.
          - `customer` 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.
          - `campaign` SimpleCampaign — Simplified campaign data.
            - `id` string — Campaign ID.
            - `name` string — Campaign name.
            - `campaign_type` string — Type of campaign.
            - `type` 'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' — Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers. - `AUTO_UPDATE`: the campaign is dynamic, i.e. vouchers will generate based on set criteria - `STATIC`: vouchers need to be manually published - `STANDALONE`: campaign for single vouchers
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `voucher` SimpleCampaignVoucher — Simplified campaign voucher data.
              - …
            - `referral_program` ReferralProgram — Defines the referee reward and the way a referral is triggered. Context: `REFERRAL_PROGRAM`.
              - …
            - `auto_join` boolean — Indicates whether customers will be able to auto-join the campaign if any earning rule is fulfilled.
            - `join_once` boolean — If this value is set to `true`, customers will be able to join the campaign only once. It is always `false` for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always `true` for loyalty campaigns and it cannot be changed in them.
            - `active` boolean — Indicates whether the campaign is active.
            - `category_id` string, nullable — The unique category ID that this campaign belongs to.
            - `category` string — Unique category name.
            - `categories` Category[] — Contains details about the category.
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a campaign. The metadata object stores all custom attributes assigned to the campaign.
            - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive *before* this date.
            - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive *after* this date.
            - `description` string — An optional field to keep extra textual information about the campaign such as a campaign description and details.
            - `created_at` string, date-time — Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the campaign was updated in the ISO 8601 format.
            - `object` 'campaign' — The type of the object represented by JSON. This object stores information about the campaign.
          - `voucher` SimpleVoucher — Simplified voucher data.
            - `id` string — A unique identifier that represents the voucher assigned by Voucherify.
            - `code` string, required — Voucher code.
            - `gift` Gift — Contains current gift card balance information.
              - …
            - `discount` union — Contains information about discount.
              - …
            - `loyalty_card` SimpleLoyaltyCard — Simplified loyalty card data.
              - …
            - `type` 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' | 'GIFT_VOUCHER', required — Type of the voucher.
            - `campaign` string — Campaign name.
            - `campaign_id` string — Campaign unique ID.
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `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 referrer assigned by Voucherify.
            - `category_id` string, nullable — Unique identifier of the category that this voucher belongs to.
            - `categories` Category[] — Contains details about the category.
              - …
            - `active` boolean — Shows whether the voucher is on or off. `true` indicates an *active* voucher and `false` indicates an *inactive* voucher.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the order was created in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
            - `redemption` object — Defines the redemption limits on vouchers.
              - …
            - `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.
            - `metadata` object — A set of custom key/value pairs that you can attach to a voucher. The metadata object stores all custom attributes assigned to the voucher.
            - `object` 'voucher', required — The type of the object represented by JSON.
          - `balance` VoucherBalance — Contains information on how the balance was affected by the transaction.
            - `type` 'loyalty_card' | 'gift_voucher' — The type of voucher whose balance is being adjusted due to the transaction.
            - `total` integer, required — The number of all points or credits accumulated on the card as affected by add or subtract operations.
            - `object` 'balance', required — The type of the object represented by the JSON.
            - `amount` integer — Credits added or subtracted on a gift card.
            - `points` integer — Points added or subtracted in the transaction of a loyalty card.
            - `balance` integer, required — The available points or credits on the card after the transaction as affected by redemption or rollback.
            - `operation_type` 'MANUAL' | 'AUTOMATIC' — The type of the operation being performed. The operation type is `AUTOMATIC` if it is an automatic redemption.
            - `related_object` object, required — Defines the resource that is being modified with the values that are returned in the balance object.
              - …
          - `transaction` object
            - `id` string, required — Unique transaction ID.
            - `source_id` string, nullable, required — The merchant's transaction ID if it is different from the Voucherify transaction ID. It is really useful in case of an integration between multiple systems. It can be a transaction ID from a CRM system, database or 3rd-party service. In case of a redemption, this value is null.
            - `voucher_id` string, required — Unique voucher ID.
            - `campaign_id` string, required — Unqiue campaign ID of the voucher's parent campaign if it is part of campaign that generates bulk codes.
            - `source` string, nullable, required — The channel through which the transaction took place, whether through the API or the Dashboard. In case of a redemption, this value is null.
            - `reason` string, nullable, required — Reason why the transaction occurred. In case of a redemption, this value is null.
            - `related_transaction_id` string, nullable, required — The related transaction ID on the receiving card.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the transaction was created. The value is shown in the ISO 8601 format.
            - `details` object, required — Contains the detailed information about the transaction.
              - …
            - `type` 'POINTS_ACCRUAL', required — Transaction type concerning loyalty card points.
        - object — Event data object schema for `customer.voucher.loyalty_card.points_transferred`.
          - `customer` 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.
          - `campaign` SimpleCampaign — Simplified campaign data.
            - `id` string — Campaign ID.
            - `name` string — Campaign name.
            - `campaign_type` string — Type of campaign.
            - `type` 'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' — Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers. - `AUTO_UPDATE`: the campaign is dynamic, i.e. vouchers will generate based on set criteria - `STATIC`: vouchers need to be manually published - `STANDALONE`: campaign for single vouchers
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `voucher` SimpleCampaignVoucher — Simplified campaign voucher data.
              - …
            - `referral_program` ReferralProgram — Defines the referee reward and the way a referral is triggered. Context: `REFERRAL_PROGRAM`.
              - …
            - `auto_join` boolean — Indicates whether customers will be able to auto-join the campaign if any earning rule is fulfilled.
            - `join_once` boolean — If this value is set to `true`, customers will be able to join the campaign only once. It is always `false` for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always `true` for loyalty campaigns and it cannot be changed in them.
            - `active` boolean — Indicates whether the campaign is active.
            - `category_id` string, nullable — The unique category ID that this campaign belongs to.
            - `category` string — Unique category name.
            - `categories` Category[] — Contains details about the category.
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a campaign. The metadata object stores all custom attributes assigned to the campaign.
            - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive *before* this date.
            - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive *after* this date.
            - `description` string — An optional field to keep extra textual information about the campaign such as a campaign description and details.
            - `created_at` string, date-time — Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the campaign was updated in the ISO 8601 format.
            - `object` 'campaign' — The type of the object represented by JSON. This object stores information about the campaign.
          - `voucher` SimpleVoucher — Simplified voucher data.
            - `id` string — A unique identifier that represents the voucher assigned by Voucherify.
            - `code` string, required — Voucher code.
            - `gift` Gift — Contains current gift card balance information.
              - …
            - `discount` union — Contains information about discount.
              - …
            - `loyalty_card` SimpleLoyaltyCard — Simplified loyalty card data.
              - …
            - `type` 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' | 'GIFT_VOUCHER', required — Type of the voucher.
            - `campaign` string — Campaign name.
            - `campaign_id` string — Campaign unique ID.
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `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 referrer assigned by Voucherify.
            - `category_id` string, nullable — Unique identifier of the category that this voucher belongs to.
            - `categories` Category[] — Contains details about the category.
              - …
            - `active` boolean — Shows whether the voucher is on or off. `true` indicates an *active* voucher and `false` indicates an *inactive* voucher.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the order was created in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
            - `redemption` object — Defines the redemption limits on vouchers.
              - …
            - `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.
            - `metadata` object — A set of custom key/value pairs that you can attach to a voucher. The metadata object stores all custom attributes assigned to the voucher.
            - `object` 'voucher', required — The type of the object represented by JSON.
          - `source_voucher` SimpleVoucher — Simplified voucher data.
            - `id` string — A unique identifier that represents the voucher assigned by Voucherify.
            - `code` string, required — Voucher code.
            - `gift` Gift — Contains current gift card balance information.
              - …
            - `discount` union — Contains information about discount.
              - …
            - `loyalty_card` SimpleLoyaltyCard — Simplified loyalty card data.
              - …
            - `type` 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' | 'GIFT_VOUCHER', required — Type of the voucher.
            - `campaign` string — Campaign name.
            - `campaign_id` string — Campaign unique ID.
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `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 referrer assigned by Voucherify.
            - `category_id` string, nullable — Unique identifier of the category that this voucher belongs to.
            - `categories` Category[] — Contains details about the category.
              - …
            - `active` boolean — Shows whether the voucher is on or off. `true` indicates an *active* voucher and `false` indicates an *inactive* voucher.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the order was created in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
            - `redemption` object — Defines the redemption limits on vouchers.
              - …
            - `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.
            - `metadata` object — A set of custom key/value pairs that you can attach to a voucher. The metadata object stores all custom attributes assigned to the voucher.
            - `object` 'voucher', required — The type of the object represented by JSON.
          - `destination_voucher` SimpleVoucher — Simplified voucher data.
            - `id` string — A unique identifier that represents the voucher assigned by Voucherify.
            - `code` string, required — Voucher code.
            - `gift` Gift — Contains current gift card balance information.
              - …
            - `discount` union — Contains information about discount.
              - …
            - `loyalty_card` SimpleLoyaltyCard — Simplified loyalty card data.
              - …
            - `type` 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' | 'GIFT_VOUCHER', required — Type of the voucher.
            - `campaign` string — Campaign name.
            - `campaign_id` string — Campaign unique ID.
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `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 referrer assigned by Voucherify.
            - `category_id` string, nullable — Unique identifier of the category that this voucher belongs to.
            - `categories` Category[] — Contains details about the category.
              - …
            - `active` boolean — Shows whether the voucher is on or off. `true` indicates an *active* voucher and `false` indicates an *inactive* voucher.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the order was created in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
            - `redemption` object — Defines the redemption limits on vouchers.
              - …
            - `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.
            - `metadata` object — A set of custom key/value pairs that you can attach to a voucher. The metadata object stores all custom attributes assigned to the voucher.
            - `object` 'voucher', required — The type of the object represented by JSON.
          - `balance` VoucherBalance — Contains information on how the balance was affected by the transaction.
            - `type` 'loyalty_card' | 'gift_voucher' — The type of voucher whose balance is being adjusted due to the transaction.
            - `total` integer, required — The number of all points or credits accumulated on the card as affected by add or subtract operations.
            - `object` 'balance', required — The type of the object represented by the JSON.
            - `amount` integer — Credits added or subtracted on a gift card.
            - `points` integer — Points added or subtracted in the transaction of a loyalty card.
            - `balance` integer, required — The available points or credits on the card after the transaction as affected by redemption or rollback.
            - `operation_type` 'MANUAL' | 'AUTOMATIC' — The type of the operation being performed. The operation type is `AUTOMATIC` if it is an automatic redemption.
            - `related_object` object, required — Defines the resource that is being modified with the values that are returned in the balance object.
              - …
          - `transaction` object
            - `id` string, required — Unique transaction ID.
            - `source_id` string, nullable, required — The merchant's transaction ID if it is different from the Voucherify transaction ID. It is really useful in case of an integration between multiple systems. It can be a transaction ID from a CRM system, database or 3rd-party service. In case of a redemption, this value is null.
            - `voucher_id` string, required — Unique voucher ID.
            - `campaign_id` string, required — Unqiue campaign ID of the voucher's parent campaign if it is part of campaign that generates bulk codes.
            - `source` string, nullable, required — The channel through which the transaction took place, whether through the API or the Dashboard. In case of a redemption, this value is null.
            - `reason` string, nullable, required — Reason why the transaction occurred. In case of a redemption, this value is null.
            - `related_transaction_id` string, nullable, required — The related transaction ID on the receiving card.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the transaction was created. The value is shown in the ISO 8601 format.
            - `details` object, required — Contains the detailed information about the transaction.
              - …
            - `type` 'POINTS_TRANSFER_IN' | 'POINTS_TRANSFER_OUT', required — Transaction type concerning loyalty card points.
        - object — Event data object schema for `customer.voucher.loyalty_card.points_expired`.
          - `customer` 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.
          - `campaign` SimpleCampaign — Simplified campaign data.
            - `id` string — Campaign ID.
            - `name` string — Campaign name.
            - `campaign_type` string — Type of campaign.
            - `type` 'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' — Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers. - `AUTO_UPDATE`: the campaign is dynamic, i.e. vouchers will generate based on set criteria - `STATIC`: vouchers need to be manually published - `STANDALONE`: campaign for single vouchers
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `voucher` SimpleCampaignVoucher — Simplified campaign voucher data.
              - …
            - `referral_program` ReferralProgram — Defines the referee reward and the way a referral is triggered. Context: `REFERRAL_PROGRAM`.
              - …
            - `auto_join` boolean — Indicates whether customers will be able to auto-join the campaign if any earning rule is fulfilled.
            - `join_once` boolean — If this value is set to `true`, customers will be able to join the campaign only once. It is always `false` for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always `true` for loyalty campaigns and it cannot be changed in them.
            - `active` boolean — Indicates whether the campaign is active.
            - `category_id` string, nullable — The unique category ID that this campaign belongs to.
            - `category` string — Unique category name.
            - `categories` Category[] — Contains details about the category.
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a campaign. The metadata object stores all custom attributes assigned to the campaign.
            - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive *before* this date.
            - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive *after* this date.
            - `description` string — An optional field to keep extra textual information about the campaign such as a campaign description and details.
            - `created_at` string, date-time — Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the campaign was updated in the ISO 8601 format.
            - `object` 'campaign' — The type of the object represented by JSON. This object stores information about the campaign.
          - `voucher` SimpleVoucher — Simplified voucher data.
            - `id` string — A unique identifier that represents the voucher assigned by Voucherify.
            - `code` string, required — Voucher code.
            - `gift` Gift — Contains current gift card balance information.
              - …
            - `discount` union — Contains information about discount.
              - …
            - `loyalty_card` SimpleLoyaltyCard — Simplified loyalty card data.
              - …
            - `type` 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' | 'GIFT_VOUCHER', required — Type of the voucher.
            - `campaign` string — Campaign name.
            - `campaign_id` string — Campaign unique ID.
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `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 referrer assigned by Voucherify.
            - `category_id` string, nullable — Unique identifier of the category that this voucher belongs to.
            - `categories` Category[] — Contains details about the category.
              - …
            - `active` boolean — Shows whether the voucher is on or off. `true` indicates an *active* voucher and `false` indicates an *inactive* voucher.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the order was created in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
            - `redemption` object — Defines the redemption limits on vouchers.
              - …
            - `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.
            - `metadata` object — A set of custom key/value pairs that you can attach to a voucher. The metadata object stores all custom attributes assigned to the voucher.
            - `object` 'voucher', required — The type of the object represented by JSON.
          - `points` integer — The number of expired points.
          - `buckets` LoyaltyPointsBucket[]
            - `id` string, required — Unique identifier of the loyalty points bucket.
            - `voucher_id` string, required — Unique identifier of the parent loyalty card.
            - `campaign_id` string, required — Unique identifier of the parent campaign.
            - `bucket` object, required — Defines the number of points stored in this loyalty point bucket.
              - …
            - `status` string, required — Loyalty point bucket status.
            - `expires_at` string, date, required — Date when the number of points defined in the bucket object are due to expire.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the loyalty point bucket object was created in ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the loyalty point bucket object was updated in ISO 8601 format.
            - `object` 'loyalty_points_bucket', required — The type of the object represented by JSON. This object stores information about the loyalty point bucket.
          - `transaction` object
            - `id` string, required — Unique transaction ID.
            - `source_id` string, nullable, required — The merchant's transaction ID if it is different from the Voucherify transaction ID. It is really useful in case of an integration between multiple systems. It can be a transaction ID from a CRM system, database or 3rd-party service. In case of a redemption, this value is null.
            - `voucher_id` string, required — Unique voucher ID.
            - `campaign_id` string, required — Unqiue campaign ID of the voucher's parent campaign if it is part of campaign that generates bulk codes.
            - `source` string, nullable, required — The channel through which the transaction took place, whether through the API or the Dashboard. In case of a redemption, this value is null.
            - `reason` string, nullable, required — Reason why the transaction occurred. In case of a redemption, this value is null.
            - `related_transaction_id` string, nullable, required — The related transaction ID on the receiving card.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the transaction was created. The value is shown in the ISO 8601 format.
            - `details` object, required — Contains the detailed information about the transaction.
              - …
            - `type` 'POINTS_EXPIRATION', required — Transaction type concerning loyalty card points.
        - object — Event data object schema for `customer.voucher.deleted`.
          - `customer` 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.
          - `campaign` SimpleCampaign — Simplified campaign data.
            - `id` string — Campaign ID.
            - `name` string — Campaign name.
            - `campaign_type` string — Type of campaign.
            - `type` 'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' — Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers. - `AUTO_UPDATE`: the campaign is dynamic, i.e. vouchers will generate based on set criteria - `STATIC`: vouchers need to be manually published - `STANDALONE`: campaign for single vouchers
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `voucher` SimpleCampaignVoucher — Simplified campaign voucher data.
              - …
            - `referral_program` ReferralProgram — Defines the referee reward and the way a referral is triggered. Context: `REFERRAL_PROGRAM`.
              - …
            - `auto_join` boolean — Indicates whether customers will be able to auto-join the campaign if any earning rule is fulfilled.
            - `join_once` boolean — If this value is set to `true`, customers will be able to join the campaign only once. It is always `false` for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always `true` for loyalty campaigns and it cannot be changed in them.
            - `active` boolean — Indicates whether the campaign is active.
            - `category_id` string, nullable — The unique category ID that this campaign belongs to.
            - `category` string — Unique category name.
            - `categories` Category[] — Contains details about the category.
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a campaign. The metadata object stores all custom attributes assigned to the campaign.
            - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive *before* this date.
            - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive *after* this date.
            - `description` string — An optional field to keep extra textual information about the campaign such as a campaign description and details.
            - `created_at` string, date-time — Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the campaign was updated in the ISO 8601 format.
            - `object` 'campaign' — The type of the object represented by JSON. This object stores information about the campaign.
          - `voucher` SimpleVoucher — Simplified voucher data.
            - `id` string — A unique identifier that represents the voucher assigned by Voucherify.
            - `code` string, required — Voucher code.
            - `gift` Gift — Contains current gift card balance information.
              - …
            - `discount` union — Contains information about discount.
              - …
            - `loyalty_card` SimpleLoyaltyCard — Simplified loyalty card data.
              - …
            - `type` 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' | 'GIFT_VOUCHER', required — Type of the voucher.
            - `campaign` string — Campaign name.
            - `campaign_id` string — Campaign unique ID.
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `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 referrer assigned by Voucherify.
            - `category_id` string, nullable — Unique identifier of the category that this voucher belongs to.
            - `categories` Category[] — Contains details about the category.
              - …
            - `active` boolean — Shows whether the voucher is on or off. `true` indicates an *active* voucher and `false` indicates an *inactive* voucher.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the order was created in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
            - `redemption` object — Defines the redemption limits on vouchers.
              - …
            - `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.
            - `metadata` object — A set of custom key/value pairs that you can attach to a voucher. The metadata object stores all custom attributes assigned to the voucher.
            - `object` 'voucher', required — The type of the object represented by JSON.
        - object — Event data object schema for `customer.publication.succeeded`.
          - `customer` 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.
          - `campaign` SimpleCampaign — Simplified campaign data.
            - `id` string — Campaign ID.
            - `name` string — Campaign name.
            - `campaign_type` string — Type of campaign.
            - `type` 'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' — Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers. - `AUTO_UPDATE`: the campaign is dynamic, i.e. vouchers will generate based on set criteria - `STATIC`: vouchers need to be manually published - `STANDALONE`: campaign for single vouchers
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `voucher` SimpleCampaignVoucher — Simplified campaign voucher data.
              - …
            - `referral_program` ReferralProgram — Defines the referee reward and the way a referral is triggered. Context: `REFERRAL_PROGRAM`.
              - …
            - `auto_join` boolean — Indicates whether customers will be able to auto-join the campaign if any earning rule is fulfilled.
            - `join_once` boolean — If this value is set to `true`, customers will be able to join the campaign only once. It is always `false` for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always `true` for loyalty campaigns and it cannot be changed in them.
            - `active` boolean — Indicates whether the campaign is active.
            - `category_id` string, nullable — The unique category ID that this campaign belongs to.
            - `category` string — Unique category name.
            - `categories` Category[] — Contains details about the category.
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a campaign. The metadata object stores all custom attributes assigned to the campaign.
            - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive *before* this date.
            - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive *after* this date.
            - `description` string — An optional field to keep extra textual information about the campaign such as a campaign description and details.
            - `created_at` string, date-time — Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the campaign was updated in the ISO 8601 format.
            - `object` 'campaign' — The type of the object represented by JSON. This object stores information about the campaign.
          - `publication` ListPublicationsItemValidSingleVoucher
            - `id` string, required — Unique publication ID, assigned by Voucherify.
            - `object` 'publication', required — The type of the object represented by the JSON. This object stores information about the `publication`.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the publication was created. The value is shown in the ISO 8601 format.
            - `customer_id` string, required — Unique customer ID of the customer receiving the publication.
            - `tracking_id` string — Customer's `source_id`.
            - `metadata` object, required — The metadata object stores all custom attributes assigned to the publication. A set of key/value pairs that you can attach to a publication object. It can be useful for storing additional information about the publication in a structured format.
              - …
            - `channel` string, required — How the publication was originated. It can be your own custom channel or an example value provided here.
            - `source_id` string, nullable, required — The merchant's publication ID if it is different from the Voucherify publication ID. It's an optional tracking identifier of a publication. It is really useful in case of an integration between multiple systems. It can be a publication ID from a CRM system, database or 3rd-party service.
            - `customer` CustomerWithSummaryLoyaltyReferrals, required
              - …
            - `vouchers` string[] — Contains the voucher IDs that was assigned by Voucherify.
            - `vouchers_id` string[], required — Contains the unique internal voucher IDs that was assigned by Voucherify.
            - `result` 'SUCCESS', required — Status of the publication attempt.
            - `voucher` ListPublicationsItemVoucher, required
              - …
        - object — Event data object schema for `customer.publication.failed`.
          - `customer` 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.
          - `campaign` SimpleCampaign — Simplified campaign data.
            - `id` string — Campaign ID.
            - `name` string — Campaign name.
            - `campaign_type` string — Type of campaign.
            - `type` 'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' — Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers. - `AUTO_UPDATE`: the campaign is dynamic, i.e. vouchers will generate based on set criteria - `STATIC`: vouchers need to be manually published - `STANDALONE`: campaign for single vouchers
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `voucher` SimpleCampaignVoucher — Simplified campaign voucher data.
              - …
            - `referral_program` ReferralProgram — Defines the referee reward and the way a referral is triggered. Context: `REFERRAL_PROGRAM`.
              - …
            - `auto_join` boolean — Indicates whether customers will be able to auto-join the campaign if any earning rule is fulfilled.
            - `join_once` boolean — If this value is set to `true`, customers will be able to join the campaign only once. It is always `false` for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always `true` for loyalty campaigns and it cannot be changed in them.
            - `active` boolean — Indicates whether the campaign is active.
            - `category_id` string, nullable — The unique category ID that this campaign belongs to.
            - `category` string — Unique category name.
            - `categories` Category[] — Contains details about the category.
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a campaign. The metadata object stores all custom attributes assigned to the campaign.
            - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive *before* this date.
            - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive *after* this date.
            - `description` string — An optional field to keep extra textual information about the campaign such as a campaign description and details.
            - `created_at` string, date-time — Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the campaign was updated in the ISO 8601 format.
            - `object` 'campaign' — The type of the object represented by JSON. This object stores information about the campaign.
          - `publication` ListPublicationsItemValidSingleVoucher
            - `id` string, required — Unique publication ID, assigned by Voucherify.
            - `object` 'publication', required — The type of the object represented by the JSON. This object stores information about the `publication`.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the publication was created. The value is shown in the ISO 8601 format.
            - `customer_id` string, required — Unique customer ID of the customer receiving the publication.
            - `tracking_id` string — Customer's `source_id`.
            - `metadata` object, required — The metadata object stores all custom attributes assigned to the publication. A set of key/value pairs that you can attach to a publication object. It can be useful for storing additional information about the publication in a structured format.
              - …
            - `channel` string, required — How the publication was originated. It can be your own custom channel or an example value provided here.
            - `source_id` string, nullable, required — The merchant's publication ID if it is different from the Voucherify publication ID. It's an optional tracking identifier of a publication. It is really useful in case of an integration between multiple systems. It can be a publication ID from a CRM system, database or 3rd-party service.
            - `customer` CustomerWithSummaryLoyaltyReferrals, required
              - …
            - `vouchers` string[] — Contains the voucher IDs that was assigned by Voucherify.
            - `vouchers_id` string[], required — Contains the unique internal voucher IDs that was assigned by Voucherify.
            - `result` 'SUCCESS', required — Status of the publication attempt.
            - `voucher` ListPublicationsItemVoucher, required
              - …
        - object — Event data object schema for `customer.validation.succeeded`.
          - `customer` 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.
          - `validation` ValidationEntity
            - `id` string — Unique validation id.
            - `session_id` string — Unique session id.
            - `status` 'VALID' | 'INVALID' — The validation status
            - `created_at` string, date-time — Timestamp representing the date and time when the validation was created. The value is shown in the ISO 8601 format.
            - `customer_id` string — Unique customer identifier of the customer making the purchase. The ID is assigned by Voucherify.
            - `redeemables` object[] — Lists validation results of each redeemable.
              - …
            - `skipped_redeemables` object[] — Lists validation results of each redeemable.
              - …
            - `inapplicable_redeemables` object[] — Lists validation results of each redeemable.
              - …
        - object — Event data object schema for `customer.validation.failed`.
          - `customer` 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.
          - `validation` ValidationEntity
            - `id` string — Unique validation id.
            - `session_id` string — Unique session id.
            - `status` 'VALID' | 'INVALID' — The validation status
            - `created_at` string, date-time — Timestamp representing the date and time when the validation was created. The value is shown in the ISO 8601 format.
            - `customer_id` string — Unique customer identifier of the customer making the purchase. The ID is assigned by Voucherify.
            - `redeemables` object[] — Lists validation results of each redeemable.
              - …
            - `skipped_redeemables` object[] — Lists validation results of each redeemable.
              - …
            - `inapplicable_redeemables` object[] — Lists validation results of each redeemable.
              - …
        - EventCustomerRedemption
          - `customer` 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.
          - `order` SimpleOrder — Order information.
            - `id` string — Unique identifier of an existing order that will be linked to the redemption of this request.
            - `source_id` string — Unique source identifier of an existing order that will be linked to the redemption of this request.
            - `status` 'CREATED' | 'PAID' | 'CANCELED' | 'FULFILLED' — The order status.
            - `customer_id` string, nullable — Unique customer identifier of the customer making the purchase. The ID is assigned by Voucherify.
            - `referrer_id` string, nullable — Unique identifier of the referrer assigned by Voucherify.
            - `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).
            - `applied_discount_amount` integer — This field shows the order-level discount applied. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items_discount_amount` integer — Sum of all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items_applied_discount_amount` integer — Sum of all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00). `sum(items, i => i.applied_discount_amount)`
            - `total_discount_amount` integer — Sum of all order-level AND all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `total_applied_discount_amount` integer — Sum of all order-level AND all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00). `total_applied_discount_amount` = `applied_discount_amount` + `items_applied_discount_amount`
            - `total_amount` integer — Order amount after undoing all the discounts through the rollback redemption. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
            - `items` SimpleOrderItem[] — Array of items applied to the order. It can include up to 500 items.
              - …
            - `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.
            - `object` 'order', required — The type of the object represented by JSON.
          - `campaign` SimpleCampaign — Simplified campaign data.
            - `id` string — Campaign ID.
            - `name` string — Campaign name.
            - `campaign_type` string — Type of campaign.
            - `type` 'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' — Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers. - `AUTO_UPDATE`: the campaign is dynamic, i.e. vouchers will generate based on set criteria - `STATIC`: vouchers need to be manually published - `STANDALONE`: campaign for single vouchers
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `voucher` SimpleCampaignVoucher — Simplified campaign voucher data.
              - …
            - `referral_program` ReferralProgram — Defines the referee reward and the way a referral is triggered. Context: `REFERRAL_PROGRAM`.
              - …
            - `auto_join` boolean — Indicates whether customers will be able to auto-join the campaign if any earning rule is fulfilled.
            - `join_once` boolean — If this value is set to `true`, customers will be able to join the campaign only once. It is always `false` for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always `true` for loyalty campaigns and it cannot be changed in them.
            - `active` boolean — Indicates whether the campaign is active.
            - `category_id` string, nullable — The unique category ID that this campaign belongs to.
            - `category` string — Unique category name.
            - `categories` Category[] — Contains details about the category.
              - …
            - `metadata` object — A set of custom key/value pairs that you can attach to a campaign. The metadata object stores all custom attributes assigned to the campaign.
            - `start_date` string, date-time — Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive *before* this date.
            - `expiration_date` string, date-time — Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive *after* this date.
            - `description` string — An optional field to keep extra textual information about the campaign such as a campaign description and details.
            - `created_at` string, date-time — Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the campaign was updated in the ISO 8601 format.
            - `object` 'campaign' — The type of the object represented by JSON. This object stores information about the campaign.
          - `voucher` SimpleVoucher — Simplified voucher data.
            - `id` string — A unique identifier that represents the voucher assigned by Voucherify.
            - `code` string, required — Voucher code.
            - `gift` Gift — Contains current gift card balance information.
              - …
            - `discount` union — Contains information about discount.
              - …
            - `loyalty_card` SimpleLoyaltyCard — Simplified loyalty card data.
              - …
            - `type` 'DISCOUNT_VOUCHER' | 'LOYALTY_CARD' | 'GIFT_VOUCHER', required — Type of the voucher.
            - `campaign` string — Campaign name.
            - `campaign_id` string — Campaign unique ID.
            - `is_referral_code` boolean — Flag indicating whether this voucher is a referral code; `true` for campaign type `REFERRAL_PROGRAM`.
            - `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 referrer assigned by Voucherify.
            - `category_id` string, nullable — Unique identifier of the category that this voucher belongs to.
            - `categories` Category[] — Contains details about the category.
              - …
            - `active` boolean — Shows whether the voucher is on or off. `true` indicates an *active* voucher and `false` indicates an *inactive* voucher.
            - `created_at` string, date-time, required — Timestamp representing the date and time when the order was created in the ISO 8601 format.
            - `updated_at` string, date-time — Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
            - `redemption` object — Defines the redemption limits on vouchers.
              - …
            - `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.
            - `metadata` object — A set of custom key/value pairs that you can attach to a voucher. The metadata object stores all custom attributes assigned to the voucher.
            - `object` 'voucher', required — The type of the object represented by JSON.
          - `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.
- … truncated; see the full OpenAPI document linked below

---

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