{
  "openapi": "3.1.0",
  "info": {
    "title": "Events - Events loyalty transaction",
    "version": "2024-01-01",
    "description": ""
  },
  "paths": {},
  "components": {
    "schemas": {
      "EventLoyaltyPointsEarnedData": {
        "title": "Loyalty Points Earned Data",
        "type": "object",
        "description": "Event data object schema for `POINTS_EARNED`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2PointsEarnedTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyAdminCreditData": {
        "title": "Loyalty Admin Credit Data",
        "type": "object",
        "description": "Event data object schema for `ADMIN_CREDIT`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2AdminCreditTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyAdminDebitData": {
        "title": "Loyalty Admin Debit Data",
        "type": "object",
        "description": "Event data object schema for `ADMIN_DEBIT`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2AdminDebitTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyAdminPointsExpirationData": {
        "title": "Loyalty Admin Points Expiration Data",
        "type": "object",
        "description": "Event data object schema for `ADMIN_POINTS_EXPIRATION`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2AdminPointsExpirationTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyPointsSpentOnRewardData": {
        "title": "Loyalty Points Spent On Reward Data",
        "type": "object",
        "description": "Event data object schema for `POINTS_SPENT_ON_REWARD`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2PointsSpentOnRewardTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyPointsPurchasedData": {
        "title": "Loyalty Points Purchased Data",
        "type": "object",
        "description": "Event data object schema for `POINTS_PURCHASED`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2PointsPurchasedTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyPointsPurchaseReversedData": {
        "title": "Loyalty Points Purchase Reversed Data",
        "type": "object",
        "description": "Event data object schema for `POINTS_PURCHASE_REVERSED`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2PointsPurchaseReversedTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyPointsSpentOnOrderData": {
        "title": "Loyalty Points Spent On Order Data",
        "type": "object",
        "description": "Event data object schema for `POINTS_SPENT_ON_ORDER`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2PointsSpentOnOrderTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyPointsRefundedData": {
        "title": "Loyalty Points Refunded Data",
        "type": "object",
        "description": "Event data object schema for `POINTS_REFUNDED`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2PointsRefundedTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyPointsReturnedData": {
        "title": "Loyalty Points Returned Data",
        "type": "object",
        "description": "Event data object schema for `POINTS_RETURNED`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2PointsReturnedTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyPointsExpiredData": {
        "title": "Loyalty Points Expired Data",
        "type": "object",
        "description": "Event data object schema for `POINTS_EXPIRED`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2PointsExpiredTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyPendingPointsAddedData": {
        "title": "Loyalty Pending Points Added Data",
        "type": "object",
        "description": "Event data object schema for `PENDING_POINTS_ADDED`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2PendingPointsAddedTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyPendingPointsActivatedData": {
        "title": "Loyalty Pending Points Activated Data",
        "type": "object",
        "description": "Event data object schema for `PENDING_POINTS_ACTIVATED`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2PendingPointsActivatedTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyPendingPointsCanceledData": {
        "title": "Loyalty Pending Points Canceled Data",
        "type": "object",
        "description": "Event data object schema for `PENDING_POINTS_CANCELED`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2PendingPointsCanceledTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyPayWithPointsData": {
        "title": "Loyalty Pay With Points Data",
        "type": "object",
        "description": "Event data object schema for `PAY_WITH_POINTS`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2PayWithPointsTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyTierUpgradedData": {
        "title": "Loyalty Tier Upgraded Data",
        "type": "object",
        "description": "Event data object schema for `UPGRADED`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2TierUpgradedTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyTierDowngradedData": {
        "title": "Loyalty Tier Downgraded Data",
        "type": "object",
        "description": "Event data object schema for `DOWNGRADED`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2TierDowngradedTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyTierJoinedData": {
        "title": "Loyalty Tier Joined Data",
        "type": "object",
        "description": "Event data object schema for `JOINED`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2TierJoinedTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyTierLeftData": {
        "title": "Loyalty Tier Left Data",
        "type": "object",
        "description": "Event data object schema for `LEFT`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2TierLeftTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyTierExpirationChangedData": {
        "title": "Loyalty Tier ExpirationChanged Data",
        "type": "object",
        "description": "Event data object schema for `EXPIRATION_CHANGED`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2TierExpirationChangedTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyTierEvaluationRefreshedData": {
        "title": "Loyalty Tier EvaluationRefreshed Data",
        "type": "object",
        "description": "Event data object schema for `EVALUATION_REFRESHED`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2TierEvaluationRefreshedTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyRewardPurchaseData": {
        "title": "Loyalty Reward Purchase Data",
        "type": "object",
        "description": "Event data object schema for `PURCHASE`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2RewardPurchaseTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyRewardRefundData": {
        "title": "Loyalty Reward Refund Data",
        "type": "object",
        "description": "Event data object schema for `REFUND`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2RewardRefundTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "EventLoyaltyBenefitFulfillmentData": {
        "title": "Loyalty Benefit Fulfillment Data",
        "type": "object",
        "description": "Event data object schema for `FULFILLMENT`.",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/LoyaltyV2BenefitFulfillmentTransaction"
          }
        },
        "required": [
          "transaction"
        ]
      },
      "LoyaltyV2PointsEarnedTransaction": {
        "title": "Loyalty Points Earned Transaction",
        "type": "object",
        "description": "A Loyalty v2 card transaction created when points are earned.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^lctx_[a-f0-9]+$",
            "description": "Unique card transaction ID."
          },
          "card_id": {
            "type": "string",
            "pattern": "^lcrd_[a-f0-9]+$",
            "description": "ID of the loyalty card credited with points."
          },
          "program_id": {
            "type": "string",
            "pattern": "^lprg_[a-f0-9]+$",
            "description": "ID of the Loyalty v2 program."
          },
          "member_id": {
            "type": "string",
            "pattern": "^lmbr_[a-f0-9]+$",
            "description": "ID of the program member."
          },
          "card_definition_id": {
            "type": "string",
            "pattern": "^lcdef_[a-f0-9]+$",
            "description": "ID of the card definition."
          },
          "card_type": {
            "type": "string",
            "enum": [
              "INDIVIDUAL"
            ],
            "description": "Type of loyalty card. Currently, only `INDIVIDUAL`."
          },
          "type": {
            "type": "string",
            "const": "POINTS_EARNED",
            "description": "Transaction type. Always `POINTS_EARNED`."
          },
          "details": {
            "$ref": "#/components/schemas/LoyaltyV2PointsEarnedDetails"
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "PROCESSING",
              "APPROVED",
              "REJECTED"
            ],
            "description": "Transaction status. A workflow can filter which statuses trigger its run."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the transaction was created."
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Timestamp when the transaction was last updated, or `null`."
          },
          "object": {
            "type": "string",
            "const": "card_transaction",
            "description": "Object type. Always `card_transaction`."
          }
        },
        "required": [
          "id",
          "card_id",
          "program_id",
          "member_id",
          "card_definition_id",
          "card_type",
          "type",
          "details",
          "status",
          "created_at",
          "updated_at",
          "object"
        ]
      },
      "LoyaltyV2AdminCreditTransaction": {
        "title": "Loyalty Admin Credit Transaction",
        "description": "A Loyalty v2 card transaction with the `ADMIN_CREDIT` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2CardTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "ADMIN_CREDIT",
                "description": "Transaction type. Always `ADMIN_CREDIT`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2AdminCreditDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2AdminDebitTransaction": {
        "title": "Loyalty Admin Debit Transaction",
        "description": "A Loyalty v2 card transaction with the `ADMIN_DEBIT` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2CardTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "ADMIN_DEBIT",
                "description": "Transaction type. Always `ADMIN_DEBIT`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2AdminDebitDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2AdminPointsExpirationTransaction": {
        "title": "Loyalty Admin Points Expiration Transaction",
        "description": "A Loyalty v2 card transaction with the `ADMIN_POINTS_EXPIRATION` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2CardTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "ADMIN_POINTS_EXPIRATION",
                "description": "Transaction type. Always `ADMIN_POINTS_EXPIRATION`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2AdminPointsExpirationDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2PointsSpentOnRewardTransaction": {
        "title": "Loyalty Points Spent On Reward Transaction",
        "description": "A Loyalty v2 card transaction with the `POINTS_SPENT_ON_REWARD` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2CardTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "POINTS_SPENT_ON_REWARD",
                "description": "Transaction type. Always `POINTS_SPENT_ON_REWARD`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2PointsSpentOnRewardDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2PointsPurchasedTransaction": {
        "title": "Loyalty Points Purchased Transaction",
        "description": "A Loyalty v2 card transaction with the `POINTS_PURCHASED` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2CardTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "POINTS_PURCHASED",
                "description": "Transaction type. Always `POINTS_PURCHASED`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2PointsPurchasedDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2PointsPurchaseReversedTransaction": {
        "title": "Loyalty Points Purchase Reversed Transaction",
        "description": "A Loyalty v2 card transaction with the `POINTS_PURCHASE_REVERSED` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2CardTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "POINTS_PURCHASE_REVERSED",
                "description": "Transaction type. Always `POINTS_PURCHASE_REVERSED`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2PointsPurchaseReversedDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2PointsSpentOnOrderTransaction": {
        "title": "Loyalty Points Spent On Order Transaction",
        "description": "A Loyalty v2 card transaction with the `POINTS_SPENT_ON_ORDER` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2CardTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "POINTS_SPENT_ON_ORDER",
                "description": "Transaction type. Always `POINTS_SPENT_ON_ORDER`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2PointsSpentOnOrderDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2PointsRefundedTransaction": {
        "title": "Loyalty Points Refunded Transaction",
        "description": "A Loyalty v2 card transaction with the `POINTS_REFUNDED` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2CardTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "POINTS_REFUNDED",
                "description": "Transaction type. Always `POINTS_REFUNDED`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2PointsRefundedDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2PointsReturnedTransaction": {
        "title": "Loyalty Points Returned Transaction",
        "description": "A Loyalty v2 card transaction with the `POINTS_RETURNED` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2CardTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "POINTS_RETURNED",
                "description": "Transaction type. Always `POINTS_RETURNED`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2PointsReturnedDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2PointsExpiredTransaction": {
        "title": "Loyalty Points Expired Transaction",
        "description": "A Loyalty v2 card transaction with the `POINTS_EXPIRED` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2CardTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "POINTS_EXPIRED",
                "description": "Transaction type. Always `POINTS_EXPIRED`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2PointsExpiredDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2PendingPointsAddedTransaction": {
        "title": "Loyalty Pending Points Added Transaction",
        "description": "A Loyalty v2 card transaction with the `PENDING_POINTS_ADDED` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2CardTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "PENDING_POINTS_ADDED",
                "description": "Transaction type. Always `PENDING_POINTS_ADDED`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2PendingPointsAddedDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2PendingPointsActivatedTransaction": {
        "title": "Loyalty Pending Points Activated Transaction",
        "description": "A Loyalty v2 card transaction with the `PENDING_POINTS_ACTIVATED` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2CardTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "PENDING_POINTS_ACTIVATED",
                "description": "Transaction type. Always `PENDING_POINTS_ACTIVATED`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2PendingPointsActivatedDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2PendingPointsCanceledTransaction": {
        "title": "Loyalty Pending Points Canceled Transaction",
        "description": "A Loyalty v2 card transaction with the `PENDING_POINTS_CANCELED` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2CardTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "PENDING_POINTS_CANCELED",
                "description": "Transaction type. Always `PENDING_POINTS_CANCELED`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2PendingPointsCanceledDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2PayWithPointsTransaction": {
        "title": "Loyalty Pay With Points Transaction",
        "description": "A Loyalty v2 order transaction with the `PAY_WITH_POINTS` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2OrderTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "PAY_WITH_POINTS",
                "description": "Transaction type. Always `PAY_WITH_POINTS`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2PayWithPointsDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2TierUpgradedTransaction": {
        "title": "Loyalty Tier Upgraded Transaction",
        "description": "A Loyalty v2 tier transaction with the `UPGRADED` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2TierTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "UPGRADED",
                "description": "Transaction type. Always `UPGRADED`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2TierTransactionDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2TierDowngradedTransaction": {
        "title": "Loyalty Tier Downgraded Transaction",
        "description": "A Loyalty v2 tier transaction with the `DOWNGRADED` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2TierTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "DOWNGRADED",
                "description": "Transaction type. Always `DOWNGRADED`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2TierTransactionDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2TierJoinedTransaction": {
        "title": "Loyalty Tier Joined Transaction",
        "description": "A Loyalty v2 tier transaction with the `JOINED` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2TierTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "JOINED",
                "description": "Transaction type. Always `JOINED`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2TierTransactionDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2TierLeftTransaction": {
        "title": "Loyalty Tier Left Transaction",
        "description": "A Loyalty v2 tier transaction with the `LEFT` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2TierTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "LEFT",
                "description": "Transaction type. Always `LEFT`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2TierTransactionDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2TierExpirationChangedTransaction": {
        "title": "Loyalty Tier ExpirationChanged Transaction",
        "description": "A Loyalty v2 tier transaction with the `EXPIRATION_CHANGED` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2TierTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "EXPIRATION_CHANGED",
                "description": "Transaction type. Always `EXPIRATION_CHANGED`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2TierTransactionDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2TierEvaluationRefreshedTransaction": {
        "title": "Loyalty Tier EvaluationRefreshed Transaction",
        "description": "A Loyalty v2 tier transaction with the `EVALUATION_REFRESHED` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2TierTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "EVALUATION_REFRESHED",
                "description": "Transaction type. Always `EVALUATION_REFRESHED`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2TierTransactionDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2RewardPurchaseTransaction": {
        "title": "Loyalty Reward Purchase Transaction",
        "description": "A Loyalty v2 reward transaction with the `PURCHASE` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2RewardTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "PURCHASE",
                "description": "Transaction type. Always `PURCHASE`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2RewardPurchaseDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2RewardRefundTransaction": {
        "title": "Loyalty Reward Refund Transaction",
        "description": "A Loyalty v2 reward transaction with the `REFUND` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2RewardTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "REFUND",
                "description": "Transaction type. Always `REFUND`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2RewardRefundDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2BenefitFulfillmentTransaction": {
        "title": "Loyalty Benefit Fulfillment Transaction",
        "description": "A Loyalty v2 benefit transaction with the `FULFILLMENT` type.",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2BenefitTransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "FULFILLMENT",
                "description": "Transaction type. Always `FULFILLMENT`."
              },
              "details": {
                "$ref": "#/components/schemas/LoyaltyV2BenefitFulfillmentDetails"
              }
            },
            "required": [
              "type",
              "details"
            ]
          }
        ]
      },
      "LoyaltyV2PointsEarnedDetails": {
        "title": "Loyalty Points Earned Transaction Details",
        "type": "object",
        "description": "Details of a `POINTS_EARNED` card transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "oneOf": [
              {
                "type": "object",
                "title": "Loyalty Card Transaction Rejection",
                "properties": {
                  "reason": {
                    "type": "string",
                    "description": "Rejection reason."
                  },
                  "details": {
                    "type": "object",
                    "description": "Additional rejection details."
                  }
                },
                "required": [
                  "reason"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "points": {
            "type": "object",
            "description": "Points credited by the transaction.",
            "properties": {
              "total": {
                "type": "integer",
                "description": "Number of points credited."
              },
              "expiration_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date",
                "description": "Date when the credited points expire, or `null` when they do not expire."
              }
            },
            "required": [
              "total",
              "expiration_date"
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "points"
        ]
      },
      "LoyaltyV2CardTransactionBase": {
        "title": "Loyalty Card Transaction Base",
        "type": "object",
        "description": "Fields shared by Loyalty v2 card transactions.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^lctx_[a-f0-9]+$",
            "description": "Unique card transaction ID."
          },
          "card_id": {
            "type": "string",
            "pattern": "^lcrd_[a-f0-9]+$",
            "description": "ID of the loyalty card."
          },
          "program_id": {
            "type": "string",
            "pattern": "^lprg_[a-f0-9]+$",
            "description": "ID of the Loyalty v2 program."
          },
          "member_id": {
            "type": "string",
            "pattern": "^lmbr_[a-f0-9]+$",
            "description": "ID of the program member."
          },
          "card_definition_id": {
            "type": "string",
            "pattern": "^lcdef_[a-f0-9]+$",
            "description": "ID of the card definition."
          },
          "card_type": {
            "type": "string",
            "enum": [
              "INDIVIDUAL"
            ],
            "description": "Type of loyalty card. Currently, only `INDIVIDUAL`."
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "PROCESSING",
              "APPROVED",
              "REJECTED"
            ],
            "description": "Transaction status. A workflow can filter which statuses trigger its run."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the transaction was created."
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Timestamp when the transaction was last updated, or `null`."
          },
          "object": {
            "type": "string",
            "const": "card_transaction",
            "description": "Object type. Always `card_transaction`."
          }
        },
        "required": [
          "id",
          "card_id",
          "program_id",
          "member_id",
          "card_definition_id",
          "card_type",
          "status",
          "created_at",
          "updated_at",
          "object"
        ]
      },
      "LoyaltyV2AdminCreditDetails": {
        "title": "Loyalty Admin Credit Transaction Details",
        "type": "object",
        "description": "Details of an `ADMIN_CREDIT` card transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "points": {
            "type": "object",
            "description": "Points affected by the transaction.",
            "properties": {
              "total": {
                "type": "number",
                "description": "Number of points affected."
              },
              "expiration_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date",
                "description": "Date when the points expire, or `null` when they do not expire."
              }
            },
            "required": [
              "total",
              "expiration_date"
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "points"
        ]
      },
      "LoyaltyV2AdminDebitDetails": {
        "title": "Loyalty Admin Debit Transaction Details",
        "type": "object",
        "description": "Details of an `ADMIN_DEBIT` card transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "points": {
            "type": "object",
            "description": "Points affected by the transaction.",
            "properties": {
              "total": {
                "type": "number",
                "description": "Number of points debited, represented as a negative value.",
                "maximum": -1
              }
            },
            "required": [
              "total"
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "points"
        ]
      },
      "LoyaltyV2AdminPointsExpirationDetails": {
        "title": "Loyalty Admin Points Expiration Transaction Details",
        "type": "object",
        "description": "Details of an `ADMIN_POINTS_EXPIRATION` card transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "bucket": {
            "$ref": "#/components/schemas/LoyaltyV2CardPointsBucketSimple"
          }
        },
        "required": [
          "rejection",
          "metadata",
          "bucket"
        ]
      },
      "LoyaltyV2PointsSpentOnRewardDetails": {
        "title": "Loyalty Points Spent On Reward Transaction Details",
        "type": "object",
        "description": "Details of a `POINTS_SPENT_ON_REWARD` card transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "points": {
            "type": "object",
            "description": "Points affected by the transaction.",
            "properties": {
              "total": {
                "type": "number",
                "description": "Number of points affected."
              }
            },
            "required": [
              "total"
            ]
          },
          "reward": {
            "description": "Reward reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRewardReference"
              },
              {
                "type": "null"
              }
            ]
          },
          "cost": {
            "description": "Cost reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionCostReference"
              },
              {
                "type": "null"
              }
            ]
          },
          "spending": {
            "description": "Spending reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionSpendingReference"
              },
              {
                "type": "null"
              }
            ]
          },
          "reward_transaction": {
            "description": "RewardTransaction reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRewardTransactionReference"
              },
              {
                "type": "null"
              }
            ]
          },
          "target_card": {
            "description": "Card reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionCardReference"
              },
              {
                "type": "null"
              }
            ]
          },
          "purchase_transaction": {
            "description": "CardTransaction reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionCardTransactionReference"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "points",
          "reward",
          "cost",
          "spending",
          "reward_transaction",
          "target_card",
          "purchase_transaction"
        ]
      },
      "LoyaltyV2PointsPurchasedDetails": {
        "title": "Loyalty Points Purchased Transaction Details",
        "type": "object",
        "description": "Details of a `POINTS_PURCHASED` card transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "points": {
            "type": "object",
            "description": "Points affected by the transaction.",
            "properties": {
              "total": {
                "type": "number",
                "description": "Number of points affected."
              },
              "expiration_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date",
                "description": "Date when the points expire, or `null` when they do not expire."
              },
              "expiration_type": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "NO_EXPIRATION",
                  "ROLLING_EXPIRATION",
                  "CALENDAR_EXPIRATION",
                  "SLIDING_EXPIRATION",
                  null
                ],
                "description": "Expiration type of the affected points, or `null`."
              }
            },
            "required": [
              "total",
              "expiration_date",
              "expiration_type"
            ]
          },
          "reward": {
            "description": "Reward reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRewardReference"
              },
              {
                "type": "null"
              }
            ]
          },
          "reward_transaction": {
            "description": "RewardTransaction reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRewardTransactionReference"
              },
              {
                "type": "null"
              }
            ]
          },
          "card_transaction": {
            "description": "CardTransaction reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionCardTransactionReference"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "points",
          "reward",
          "reward_transaction",
          "card_transaction"
        ]
      },
      "LoyaltyV2PointsPurchaseReversedDetails": {
        "title": "Loyalty Points Purchase Reversed Transaction Details",
        "type": "object",
        "description": "Details of a `POINTS_PURCHASE_REVERSED` card transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "points": {
            "type": "object",
            "description": "Points affected by the transaction.",
            "properties": {
              "total": {
                "type": "number",
                "description": "Number of points affected."
              },
              "expiration_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date",
                "description": "Date when the points expire, or `null` when they do not expire."
              },
              "expiration_type": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "NO_EXPIRATION",
                  "ROLLING_EXPIRATION",
                  "CALENDAR_EXPIRATION",
                  "SLIDING_EXPIRATION",
                  null
                ],
                "description": "Expiration type of the affected points, or `null`."
              }
            },
            "required": [
              "total",
              "expiration_date",
              "expiration_type"
            ]
          },
          "reward": {
            "description": "Reward reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRewardReference"
              },
              {
                "type": "null"
              }
            ]
          },
          "purchase": {
            "description": "Purchase reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionPurchaseReference"
              },
              {
                "type": "null"
              }
            ]
          },
          "reward_transaction": {
            "description": "RewardTransaction reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRewardTransactionReference"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "points",
          "reward",
          "purchase",
          "reward_transaction"
        ]
      },
      "LoyaltyV2PointsSpentOnOrderDetails": {
        "title": "Loyalty Points Spent On Order Transaction Details",
        "type": "object",
        "description": "Details of a `POINTS_SPENT_ON_ORDER` card transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "points": {
            "type": "object",
            "description": "Points affected by the transaction.",
            "properties": {
              "total": {
                "type": "number",
                "description": "Number of points affected."
              }
            },
            "required": [
              "total"
            ]
          },
          "order": {
            "description": "Order reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionOrderReference"
              },
              {
                "type": "null"
              }
            ]
          },
          "order_transaction": {
            "description": "OrderTransaction reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionOrderTransactionReference"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "points",
          "order",
          "order_transaction"
        ]
      },
      "LoyaltyV2PointsRefundedDetails": {
        "title": "Loyalty Points Refunded Transaction Details",
        "type": "object",
        "description": "Details of a `POINTS_REFUNDED` card transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "points": {
            "type": "object",
            "description": "Points affected by the transaction.",
            "properties": {
              "total": {
                "type": "number",
                "description": "Number of points affected."
              }
            },
            "required": [
              "total"
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "points"
        ]
      },
      "LoyaltyV2PointsReturnedDetails": {
        "title": "Loyalty Points Returned Transaction Details",
        "type": "object",
        "description": "Details of a `POINTS_RETURNED` card transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "points": {
            "type": "object",
            "description": "Points affected by the transaction.",
            "properties": {
              "total": {
                "type": "number",
                "description": "Number of points affected."
              },
              "expiration_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date",
                "description": "Date when the points expire, or `null` when they do not expire."
              },
              "expiration_type": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "NO_EXPIRATION",
                  "ROLLING_EXPIRATION",
                  "CALENDAR_EXPIRATION",
                  "SLIDING_EXPIRATION",
                  null
                ],
                "description": "Expiration type of the affected points, or `null`."
              }
            },
            "required": [
              "total",
              "expiration_date",
              "expiration_type"
            ]
          },
          "reward": {
            "description": "Reward reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRewardReference"
              },
              {
                "type": "null"
              }
            ]
          },
          "purchase": {
            "description": "Purchase reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionPurchaseReference"
              },
              {
                "type": "null"
              }
            ]
          },
          "reward_transaction": {
            "description": "RewardTransaction reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRewardTransactionReference"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "points",
          "reward",
          "purchase",
          "reward_transaction"
        ]
      },
      "LoyaltyV2PointsExpiredDetails": {
        "title": "Loyalty Points Expired Transaction Details",
        "type": "object",
        "description": "Details of a `POINTS_EXPIRED` card transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "points": {
            "type": "object",
            "description": "Points affected by the transaction.",
            "properties": {
              "total": {
                "type": "number",
                "description": "Number of points affected."
              }
            },
            "required": [
              "total"
            ]
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "Date when the points expired."
          },
          "buckets": {
            "type": "array",
            "description": "Point buckets included in the expiration.",
            "items": {
              "$ref": "#/components/schemas/LoyaltyV2CardPointsBucketSimple"
            }
          }
        },
        "required": [
          "rejection",
          "metadata",
          "points",
          "date",
          "buckets"
        ]
      },
      "LoyaltyV2PendingPointsAddedDetails": {
        "title": "Loyalty Pending Points Added Transaction Details",
        "type": "object",
        "description": "Details of a `PENDING_POINTS_ADDED` card transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "points": {
            "type": "object",
            "description": "Points affected by the transaction.",
            "properties": {
              "total": {
                "type": "number",
                "description": "Number of points affected."
              },
              "date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date",
                "description": "Activation or cancellation date associated with the pending points."
              },
              "type": {
                "type": "string",
                "enum": [
                  "IMMEDIATE",
                  "PERIOD_BASED",
                  "FIXED_DATES",
                  "EVENT_BASED"
                ],
                "description": "Pending-points activation type."
              }
            },
            "required": [
              "total",
              "date",
              "type"
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "points"
        ]
      },
      "LoyaltyV2PendingPointsActivatedDetails": {
        "title": "Loyalty Pending Points Activated Transaction Details",
        "type": "object",
        "description": "Details of a `PENDING_POINTS_ACTIVATED` card transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "points": {
            "type": "object",
            "description": "Points affected by the transaction.",
            "properties": {
              "total": {
                "type": "number",
                "description": "Number of points affected."
              },
              "date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date",
                "description": "Activation or cancellation date associated with the pending points."
              },
              "type": {
                "type": "string",
                "enum": [
                  "IMMEDIATE",
                  "PERIOD_BASED",
                  "FIXED_DATES",
                  "EVENT_BASED"
                ],
                "description": "Pending-points activation type."
              }
            },
            "required": [
              "total",
              "date",
              "type"
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "points"
        ]
      },
      "LoyaltyV2PendingPointsCanceledDetails": {
        "title": "Loyalty Pending Points Canceled Transaction Details",
        "type": "object",
        "description": "Details of a `PENDING_POINTS_CANCELED` card transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "points": {
            "type": "object",
            "description": "Points affected by the transaction.",
            "properties": {
              "total": {
                "type": "number",
                "description": "Number of points affected."
              },
              "date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date",
                "description": "Activation or cancellation date associated with the pending points."
              },
              "type": {
                "type": "string",
                "enum": [
                  "IMMEDIATE",
                  "PERIOD_BASED",
                  "FIXED_DATES",
                  "EVENT_BASED"
                ],
                "description": "Pending-points activation type."
              }
            },
            "required": [
              "total",
              "date",
              "type"
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "points"
        ]
      },
      "LoyaltyV2OrderTransactionBase": {
        "title": "Loyalty Order Transaction Base",
        "type": "object",
        "description": "Fields shared by Loyalty v2 order transactions.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^lotx_[a-f0-9]+$",
            "description": "Unique order transaction ID."
          },
          "program_id": {
            "type": "string",
            "pattern": "^lprg_[a-f0-9]+$",
            "description": "ID of the Loyalty v2 program."
          },
          "member_id": {
            "type": "string",
            "pattern": "^lmbr_[a-f0-9]+$",
            "description": "ID of the program member."
          },
          "card_id": {
            "type": "string",
            "pattern": "^lcrd_[a-f0-9]+$",
            "description": "ID of the loyalty card used for payment."
          },
          "card_definition_id": {
            "type": "string",
            "pattern": "^lcdef_[a-f0-9]+$",
            "description": "ID of the card definition."
          },
          "card_transaction_id": {
            "type": "string",
            "pattern": "^lctx_[a-f0-9]+$",
            "description": "ID of the related card transaction."
          },
          "order_id": {
            "type": "string",
            "pattern": "^ord_[a-zA-Z0-9]+$",
            "description": "ID of the order paid with points."
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "PROCESSING",
              "APPROVED",
              "REJECTED"
            ],
            "description": "Transaction status. A workflow can filter which statuses trigger its run."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the transaction was created."
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Timestamp when the transaction was last updated, or `null`."
          },
          "object": {
            "type": "string",
            "const": "order_transaction",
            "description": "Object type. Always `order_transaction`."
          }
        },
        "required": [
          "id",
          "program_id",
          "member_id",
          "card_id",
          "card_definition_id",
          "card_transaction_id",
          "order_id",
          "status",
          "created_at",
          "updated_at",
          "object"
        ]
      },
      "LoyaltyV2PayWithPointsDetails": {
        "title": "Loyalty Pay With Points Transaction Details",
        "type": "object",
        "description": "Details of a `PAY_WITH_POINTS` order transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "payment": {
            "type": "object",
            "description": "Payment calculated for the order.",
            "properties": {
              "id": {
                "type": "string",
                "description": "Payment ID. Present after the payment is registered."
              },
              "amount": {
                "type": "number",
                "description": "Order amount covered by the points payment."
              },
              "points_spent": {
                "type": "number",
                "description": "Number of points spent on the payment."
              },
              "exchange_ratio": {
                "type": "number",
                "description": "Exchange ratio used to convert points to amount."
              }
            },
            "required": [
              "amount",
              "points_spent",
              "exchange_ratio"
            ]
          },
          "spending_cap": {
            "type": "object",
            "description": "Spending cap that limited the payment. Omitted on transactions created before this property existed.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "CARD_SPENDING_GLOBAL_SPENDING_BASED_LIMIT",
                  "CARD_SPENDING_GLOBAL_TIME_BASED_LIMIT",
                  "CARD_SPENDING_TRANSACTIONS_LIMIT",
                  "REQUEST_PAYMENT_LIMIT",
                  "ORDER_TOTAL_AMOUNT",
                  "CARD_BALANCE_POINTS"
                ],
                "description": "Spending cap type."
              },
              "unit": {
                "type": "string",
                "enum": [
                  "POINTS",
                  "AMOUNT"
                ],
                "description": "Unit of the spending cap value."
              },
              "value": {
                "type": "number",
                "description": "Cap value in the selected unit."
              }
            },
            "required": [
              "type",
              "unit",
              "value"
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "payment"
        ]
      },
      "LoyaltyV2TierTransactionBase": {
        "title": "Loyalty Tier Transaction Base",
        "type": "object",
        "description": "Fields shared by Loyalty v2 tier transactions.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^lttx_[a-f0-9]+$",
            "description": "Unique tier transaction ID."
          },
          "card_id": {
            "type": "string",
            "pattern": "^lcrd_[a-f0-9]+$",
            "description": "ID of the loyalty card."
          },
          "program_id": {
            "type": "string",
            "pattern": "^lprg_[a-f0-9]+$",
            "description": "ID of the Loyalty v2 program."
          },
          "member_id": {
            "type": "string",
            "pattern": "^lmbr_[a-f0-9]+$",
            "description": "ID of the program member."
          },
          "card_definition_id": {
            "type": "string",
            "pattern": "^lcdef_[a-f0-9]+$",
            "description": "ID of the card definition."
          },
          "tier_structure_id": {
            "type": "string",
            "pattern": "^lts_[a-f0-9]+$",
            "description": "ID of the tier structure."
          },
          "tier_id": {
            "description": "ID of the resulting or current tier, or `null`.",
            "anyOf": [
              {
                "type": "string",
                "pattern": "^lt_[a-f0-9]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "APPROVED",
              "REJECTED"
            ],
            "description": "Transaction status. A workflow can filter which statuses trigger its run."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the transaction was created."
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Timestamp when the transaction was last updated, or `null`."
          },
          "object": {
            "type": "string",
            "const": "tier_transaction",
            "description": "Object type. Always `tier_transaction`."
          }
        },
        "required": [
          "id",
          "card_id",
          "program_id",
          "member_id",
          "card_definition_id",
          "tier_structure_id",
          "tier_id",
          "status",
          "created_at",
          "updated_at",
          "object"
        ]
      },
      "LoyaltyV2TierTransactionDetails": {
        "title": "Loyalty Tier Transaction Details",
        "type": "object",
        "description": "Details of a Loyalty v2 tier transaction. Unused fields are `null`.",
        "properties": {
          "points": {
            "description": "Points used in the tier evaluation, or `null`.",
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "tier_from": {
            "description": "Source tier ID, or `null`.",
            "anyOf": [
              {
                "type": "string",
                "pattern": "^lt_[a-f0-9]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "tier_to": {
            "description": "Target or current tier ID, or `null`.",
            "anyOf": [
              {
                "type": "string",
                "pattern": "^lt_[a-f0-9]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "origin": {
            "description": "Transaction origin, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2TierTransactionOrigin"
              },
              {
                "type": "null"
              }
            ]
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "start_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Timestamp when the resulting tier assignment starts, or `null`."
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Timestamp when the resulting tier assignment expires, or `null`."
          }
        },
        "required": [
          "points",
          "tier_from",
          "tier_to",
          "origin",
          "rejection",
          "start_at",
          "expires_at"
        ]
      },
      "LoyaltyV2RewardTransactionBase": {
        "title": "Loyalty Reward Transaction Base",
        "type": "object",
        "description": "Fields shared by Loyalty v2 reward transactions.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^lrtx_[a-f0-9]+$",
            "description": "Unique reward transaction ID."
          },
          "card_id": {
            "type": "string",
            "pattern": "^lcrd_[a-f0-9]+$",
            "description": "ID of the loyalty card."
          },
          "card_transaction_id": {
            "type": "string",
            "pattern": "^lctx_[a-f0-9]+$",
            "description": "ID of the related card transaction."
          },
          "program_id": {
            "type": "string",
            "pattern": "^lprg_[a-f0-9]+$",
            "description": "ID of the Loyalty v2 program."
          },
          "member_id": {
            "type": "string",
            "pattern": "^lmbr_[a-f0-9]+$",
            "description": "ID of the program member."
          },
          "reward_id": {
            "type": "string",
            "pattern": "^lrew_[a-f0-9]+$",
            "description": "ID of the reward."
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "PROCESSING",
              "APPROVED",
              "REJECTED",
              "REFUNDED"
            ],
            "description": "Transaction status. A workflow can filter which statuses trigger its run."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the transaction was created."
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Timestamp when the transaction was last updated, or `null`."
          },
          "object": {
            "type": "string",
            "const": "reward_transaction",
            "description": "Object type. Always `reward_transaction`."
          }
        },
        "required": [
          "id",
          "card_id",
          "card_transaction_id",
          "program_id",
          "member_id",
          "reward_id",
          "status",
          "created_at",
          "updated_at",
          "object"
        ]
      },
      "LoyaltyV2RewardPurchaseDetails": {
        "title": "Loyalty Reward Purchase Transaction Details",
        "type": "object",
        "description": "Details of a `PURCHASE` reward transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "points": {
            "description": "Points spent on the reward, or `null`.",
            "anyOf": [
              {
                "type": "object",
                "title": "Loyalty Card Transaction Points",
                "properties": {
                  "total": {
                    "type": "number",
                    "description": "Number of points spent."
                  }
                },
                "required": [
                  "total"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "result": {
            "description": "Fulfillment result, or `null` before the purchase is fulfilled.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2RewardTransactionResult"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "points",
          "result"
        ]
      },
      "LoyaltyV2RewardRefundDetails": {
        "title": "Loyalty Reward Refund Transaction Details",
        "type": "object",
        "description": "Details of a `REFUND` reward transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "points": {
            "description": "Points spent on the reward, or `null`.",
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "total": {
                    "type": "number",
                    "description": "Number of points spent."
                  }
                },
                "required": [
                  "total"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "result": {
            "description": "Refund fulfillment result, or `null`. Digital coupon and gift voucher items include a `result` outcome (`DELETED`, `SKIPPED`, or `CREDITS_SUBTRACTED`).",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2RewardTransactionResult"
              },
              {
                "type": "null"
              }
            ]
          },
          "purchase": {
            "description": "Original purchase references, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionPurchaseReference"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "points",
          "result",
          "purchase"
        ]
      },
      "LoyaltyV2BenefitTransactionBase": {
        "title": "Loyalty Benefit Transaction Base",
        "type": "object",
        "description": "Fields shared by Loyalty v2 benefit transactions.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^lbtx_[a-f0-9]+$",
            "description": "Unique benefit transaction ID."
          },
          "benefit_id": {
            "type": "string",
            "pattern": "^lben_[a-f0-9]+$",
            "description": "ID of the benefit."
          },
          "program_id": {
            "type": "string",
            "pattern": "^lprg_[a-f0-9]+$",
            "description": "ID of the Loyalty v2 program."
          },
          "member_id": {
            "type": "string",
            "pattern": "^lmbr_[a-f0-9]+$",
            "description": "ID of the program member."
          },
          "earning_rule_id": {
            "type": "string",
            "pattern": "^lern_[a-f0-9]+$",
            "description": "ID of the earning rule that triggered the benefit."
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "APPROVED",
              "REJECTED"
            ],
            "description": "Transaction status. A workflow can filter which statuses trigger its run."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the transaction was created."
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Timestamp when the transaction was last updated, or `null`."
          },
          "object": {
            "type": "string",
            "const": "benefit_transaction",
            "description": "Object type. Always `benefit_transaction`."
          }
        },
        "required": [
          "id",
          "benefit_id",
          "program_id",
          "member_id",
          "earning_rule_id",
          "status",
          "created_at",
          "updated_at",
          "object"
        ]
      },
      "LoyaltyV2BenefitFulfillmentDetails": {
        "title": "Loyalty Benefit Fulfillment Transaction Details",
        "type": "object",
        "description": "Details of a `FULFILLMENT` benefit transaction.",
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Reason recorded for the transaction."
          },
          "rejection": {
            "description": "Rejection information, or `null` when the transaction was not rejected.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "type": "object",
            "description": "Custom metadata associated with the transaction."
          },
          "result": {
            "description": "Fulfillment result, or `null` when the transaction is rejected. Successful results nest effect data under `details`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2BenefitFulfillmentResult"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "rejection",
          "metadata",
          "result"
        ]
      },
      "LoyaltyV2CardTransactionRejection": {
        "title": "Loyalty Card Transaction Rejection",
        "type": "object",
        "description": "Rejection information for a Loyalty v2 card transaction.",
        "properties": {
          "reason": {
            "type": "string",
            "description": "Rejection reason."
          },
          "details": {
            "type": "object",
            "description": "Additional rejection details."
          }
        },
        "required": [
          "reason"
        ]
      },
      "LoyaltyV2CardPointsBucketSimple": {
        "title": "Loyalty Card Points Bucket",
        "type": "object",
        "description": "Simple representation of a points expiration bucket, embedded in card\ntransaction details.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^lcpeb_[a-f0-9]+$",
            "description": "Point expiration bucket ID."
          },
          "points": {
            "type": "object",
            "description": "Points affected by the transaction.",
            "properties": {
              "total": {
                "type": "number",
                "description": "Number of points affected."
              }
            },
            "required": [
              "total"
            ]
          },
          "expiration_date": {
            "type": "string",
            "format": "date",
            "description": "Date when the points expire."
          },
          "expiration_type": {
            "type": "string",
            "enum": [
              "NO_EXPIRATION",
              "ROLLING_EXPIRATION",
              "CALENDAR_EXPIRATION",
              "SLIDING_EXPIRATION"
            ],
            "description": "Expiration type of the points."
          }
        },
        "required": [
          "id",
          "points",
          "expiration_date",
          "expiration_type"
        ]
      },
      "LoyaltyV2CardTransactionRewardReference": {
        "title": "Loyalty Reward Reference",
        "type": "object",
        "description": "Reference to a Loyalty v2 reward.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^lrew_[a-f0-9]+$",
            "description": "Loyalty Reward Reference ID."
          }
        },
        "required": [
          "id"
        ]
      },
      "LoyaltyV2CardTransactionCostReference": {
        "title": "Loyalty Reward Cost Reference",
        "type": "object",
        "description": "Reference to a Loyalty v2 reward cost.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^lrcst_[a-f0-9]+$",
            "description": "Loyalty reward cost reference ID."
          }
        },
        "required": [
          "id"
        ]
      },
      "LoyaltyV2CardTransactionSpendingReference": {
        "title": "Loyalty Reward Spending Reference",
        "type": "object",
        "description": "Reference to a Loyalty v2 reward spending definition.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^lrspn_[a-f0-9]+$",
            "description": "Loyalty reward spending reference ID."
          }
        },
        "required": [
          "id"
        ]
      },
      "LoyaltyV2CardTransactionRewardTransactionReference": {
        "title": "Loyalty Reward Transaction Reference",
        "type": "object",
        "description": "Reference to a Loyalty v2 reward transaction.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^lrtx_[a-f0-9]+$",
            "description": "Loyalty reward transaction reference ID."
          }
        },
        "required": [
          "id"
        ]
      },
      "LoyaltyV2CardTransactionCardReference": {
        "title": "Loyalty Card Reference",
        "type": "object",
        "description": "Reference to a Loyalty v2 card.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^lcrd_[a-f0-9]+$",
            "description": "Loyalty card reference ID."
          }
        },
        "required": [
          "id"
        ]
      },
      "LoyaltyV2CardTransactionCardTransactionReference": {
        "title": "Loyalty Card Transaction Reference",
        "type": "object",
        "description": "Reference to a Loyalty v2 card transaction.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^lctx_[a-f0-9]+$",
            "description": "Loyalty card transaction reference ID."
          }
        },
        "required": [
          "id"
        ]
      },
      "LoyaltyV2CardTransactionPurchaseReference": {
        "title": "Loyalty Reward Purchase Reference",
        "type": "object",
        "description": "References to the card and reward transactions created for the original reward purchase.",
        "properties": {
          "card_transaction": {
            "description": "CardTransaction reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionCardTransactionReference"
              },
              {
                "type": "null"
              }
            ]
          },
          "reward_transaction": {
            "description": "RewardTransaction reference, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2CardTransactionRewardTransactionReference"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "card_transaction",
          "reward_transaction"
        ]
      },
      "LoyaltyV2CardTransactionOrderReference": {
        "title": "Order Reference",
        "type": "object",
        "description": "Reference to an order.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^ord_[a-zA-Z0-9]+$",
            "description": "Order reference ID."
          }
        },
        "required": [
          "id"
        ]
      },
      "LoyaltyV2CardTransactionOrderTransactionReference": {
        "title": "Loyalty Order Transaction Reference",
        "type": "object",
        "description": "Reference to a Loyalty v2 order transaction.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^lotx_[a-f0-9]+$",
            "description": "Loyalty order transaction reference ID."
          }
        },
        "required": [
          "id"
        ]
      },
      "LoyaltyV2TierTransactionOrigin": {
        "title": "Loyalty Tier Transaction Origin",
        "type": "object",
        "description": "Origin of a Loyalty v2 tier transaction.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "card_operations",
              "daily_task_operations",
              "member_card_created",
              "member_card_deleted",
              "segment_change"
            ],
            "description": "Origin type."
          },
          "card_transaction_ids": {
            "type": "array",
            "description": "Related card transaction IDs, when the origin is a card operation.",
            "items": {
              "type": "string",
              "pattern": "^lctx_[a-f0-9]+$"
            }
          },
          "segment_ids": {
            "type": "array",
            "description": "Related segment IDs, when the origin is a segment change.",
            "items": {
              "type": "string",
              "pattern": "^seg_[a-zA-Z0-9]+$"
            }
          }
        },
        "required": [
          "type"
        ]
      },
      "LoyaltyV2RewardTransactionResult": {
        "title": "Loyalty Reward Transaction Result",
        "type": "object",
        "description": "Fulfillment result of a reward transaction. Populated once the purchase is processed (`APPROVED`). `null` for `PENDING` or `PROCESSING` transactions.",
        "properties": {
          "reward": {
            "description": "Reward snapshot, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2RewardTransactionResultReward"
              },
              {
                "type": "null"
              }
            ]
          },
          "quantity": {
            "description": "Fulfilled quantity, or `null`.",
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "material": {
            "description": "Material fulfillment details, or `null` for digital rewards.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2RewardTransactionResultMaterial"
              },
              {
                "type": "null"
              }
            ]
          },
          "digital": {
            "description": "Digital fulfillment details, or `null` for material rewards.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/LoyaltyV2RewardTransactionResultDigital"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "reward",
          "quantity",
          "material",
          "digital"
        ]
      },
      "LoyaltyV2BenefitFulfillmentResult": {
        "title": "Loyalty Benefit Fulfillment Result",
        "type": "object",
        "description": "Fulfillment result of a benefit transaction. Present on `APPROVED` transactions.",
        "properties": {
          "details": {
            "$ref": "#/components/schemas/LoyaltyV2BenefitFulfillmentResultDetails"
          }
        },
        "required": [
          "details"
        ]
      },
      "LoyaltyV2RewardTransactionResultReward": {
        "title": "Loyalty Reward Transaction Result Reward",
        "type": "object",
        "description": "Snapshot of the fulfilled reward.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^lrew_[a-f0-9]+$",
            "description": "Reward ID."
          },
          "type": {
            "type": "string",
            "enum": [
              "MATERIAL",
              "DIGITAL"
            ],
            "description": "Reward type."
          }
        },
        "required": [
          "id",
          "type"
        ]
      },
      "LoyaltyV2RewardTransactionResultMaterial": {
        "title": "Loyalty Reward Transaction Result Material",
        "description": "Material fulfillment details. Present for `MATERIAL` rewards. The unused `product` or `sku` sibling is omitted.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2RewardTransactionResultMaterialProduct"
          },
          {
            "$ref": "#/components/schemas/LoyaltyV2RewardTransactionResultMaterialSku"
          }
        ]
      },
      "LoyaltyV2RewardTransactionResultDigital": {
        "title": "Loyalty Reward Transaction Result Digital",
        "description": "Digital fulfillment details. Present for `DIGITAL` rewards. Unused siblings (`discount_coupons`, `gift_vouchers`, `loyalty_card_points`) are omitted.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2RewardTransactionResultDigitalDiscountCoupons"
          },
          {
            "$ref": "#/components/schemas/LoyaltyV2RewardTransactionResultDigitalGiftVouchers"
          },
          {
            "$ref": "#/components/schemas/LoyaltyV2RewardTransactionResultDigitalLoyaltyCardPoints"
          }
        ]
      },
      "LoyaltyV2BenefitFulfillmentResultDetails": {
        "title": "Loyalty Benefit Fulfillment Result Details",
        "description": "Fulfillment effect stored under `result.details`.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2BenefitFulfillmentResultDetailsMaterial"
          },
          {
            "$ref": "#/components/schemas/LoyaltyV2BenefitFulfillmentResultDetailsDigitalDiscountCoupons"
          },
          {
            "$ref": "#/components/schemas/LoyaltyV2BenefitFulfillmentResultDetailsDigitalGiftVouchers"
          }
        ]
      },
      "LoyaltyV2RewardTransactionResultMaterialProduct": {
        "title": "Loyalty Reward Transaction Result Material Product",
        "type": "object",
        "description": "Material fulfillment for a `PRODUCT` reward.",
        "properties": {
          "type": {
            "type": "string",
            "const": "PRODUCT",
            "description": "Material type. Always `PRODUCT`."
          },
          "product": {
            "$ref": "#/components/schemas/LoyaltyV2RewardTransactionResultMaterialProductItem"
          }
        },
        "required": [
          "type",
          "product"
        ]
      },
      "LoyaltyV2RewardTransactionResultMaterialSku": {
        "title": "Loyalty Reward Transaction Result Material SKU",
        "type": "object",
        "description": "Material fulfillment for an `SKU` reward.",
        "properties": {
          "type": {
            "type": "string",
            "const": "SKU",
            "description": "Material type. Always `SKU`."
          },
          "sku": {
            "$ref": "#/components/schemas/LoyaltyV2RewardTransactionResultMaterialSkuItem"
          }
        },
        "required": [
          "type",
          "sku"
        ]
      },
      "LoyaltyV2RewardTransactionResultDigitalDiscountCoupons": {
        "title": "Loyalty Reward Transaction Result Digital Discount Coupons",
        "type": "object",
        "description": "Digital fulfillment for a `DISCOUNT_COUPONS` reward.",
        "properties": {
          "type": {
            "type": "string",
            "const": "DISCOUNT_COUPONS",
            "description": "Digital type. Always `DISCOUNT_COUPONS`."
          },
          "discount_coupons": {
            "type": "array",
            "description": "Published discount coupons.",
            "items": {
              "$ref": "#/components/schemas/LoyaltyV2RewardTransactionResultDigitalCoupon"
            }
          }
        },
        "required": [
          "type",
          "discount_coupons"
        ]
      },
      "LoyaltyV2RewardTransactionResultDigitalGiftVouchers": {
        "title": "Loyalty Reward Transaction Result Digital Gift Vouchers",
        "type": "object",
        "description": "Digital fulfillment for a `GIFT_VOUCHERS` reward.",
        "properties": {
          "type": {
            "type": "string",
            "const": "GIFT_VOUCHERS",
            "description": "Digital type. Always `GIFT_VOUCHERS`."
          },
          "gift_vouchers": {
            "type": "array",
            "description": "Published gift vouchers.",
            "items": {
              "$ref": "#/components/schemas/LoyaltyV2RewardTransactionResultDigitalGiftVoucher"
            }
          }
        },
        "required": [
          "type",
          "gift_vouchers"
        ]
      },
      "LoyaltyV2RewardTransactionResultDigitalLoyaltyCardPoints": {
        "title": "Loyalty Reward Transaction Result Digital Loyalty Card Points",
        "type": "object",
        "description": "Digital fulfillment for a `LOYALTY_CARD_POINTS` reward.",
        "properties": {
          "type": {
            "type": "string",
            "const": "LOYALTY_CARD_POINTS",
            "description": "Digital type. Always `LOYALTY_CARD_POINTS`."
          },
          "loyalty_card_points": {
            "$ref": "#/components/schemas/LoyaltyV2RewardTransactionResultDigitalLoyaltyCardPointsValue"
          }
        },
        "required": [
          "type",
          "loyalty_card_points"
        ]
      },
      "LoyaltyV2BenefitFulfillmentResultDetailsMaterial": {
        "title": "Loyalty Benefit Fulfillment Result Details Material",
        "type": "object",
        "description": "Fulfillment effect for a material benefit.",
        "properties": {
          "material": {
            "$ref": "#/components/schemas/LoyaltyV2BenefitMaterial"
          }
        },
        "required": [
          "material"
        ]
      },
      "LoyaltyV2BenefitFulfillmentResultDetailsDigitalDiscountCoupons": {
        "title": "Loyalty Benefit Fulfillment Result Details Digital Discount Coupons",
        "type": "object",
        "description": "Fulfillment effect for a `DISCOUNT_COUPONS` benefit. Includes the benefit snapshot and the published voucher.",
        "properties": {
          "digital": {
            "$ref": "#/components/schemas/LoyaltyV2BenefitDigitalDiscountCoupons"
          },
          "voucher_id": {
            "type": "string",
            "description": "Published voucher ID."
          },
          "code": {
            "type": "string",
            "description": "Published voucher code."
          }
        },
        "required": [
          "digital",
          "voucher_id",
          "code"
        ]
      },
      "LoyaltyV2BenefitFulfillmentResultDetailsDigitalGiftVouchers": {
        "title": "Loyalty Benefit Fulfillment Result Details Digital Gift Vouchers",
        "type": "object",
        "description": "Fulfillment effect for a `GIFT_VOUCHERS` benefit. Includes the benefit snapshot, the published voucher, and the gift balance after credit.",
        "properties": {
          "digital": {
            "$ref": "#/components/schemas/LoyaltyV2BenefitDigitalGiftVouchers"
          },
          "voucher_id": {
            "type": "string",
            "description": "Published voucher ID."
          },
          "code": {
            "type": "string",
            "description": "Published voucher code."
          },
          "balance": {
            "type": "number",
            "description": "Gift balance after the voucher is published and credited."
          }
        },
        "required": [
          "digital",
          "voucher_id",
          "code",
          "balance"
        ]
      },
      "LoyaltyV2RewardTransactionResultMaterialProductItem": {
        "title": "Loyalty Reward Transaction Result Material Product Item",
        "type": "object",
        "description": "Product fulfilled by a material reward.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^prod_[a-f0-9]+$",
            "description": "Product ID."
          }
        },
        "required": [
          "id"
        ]
      },
      "LoyaltyV2RewardTransactionResultMaterialSkuItem": {
        "title": "Loyalty Reward Transaction Result Material SKU Item",
        "type": "object",
        "description": "SKU fulfilled by a material reward.",
        "properties": {
          "product_id": {
            "type": "string",
            "pattern": "^prod_[a-f0-9]+$",
            "description": "Parent product ID."
          },
          "id": {
            "type": "string",
            "pattern": "^sku_[a-f0-9]+$",
            "description": "SKU ID."
          }
        },
        "required": [
          "product_id",
          "id"
        ]
      },
      "LoyaltyV2RewardTransactionResultDigitalCoupon": {
        "title": "Loyalty Reward Transaction Result Digital Coupon",
        "type": "object",
        "description": "Discount coupon published for a digital reward. `result` is present on `REFUND` transactions only.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Voucher ID."
          },
          "code": {
            "type": "string",
            "description": "Voucher code."
          },
          "result": {
            "type": "string",
            "enum": [
              "DELETED",
              "SKIPPED"
            ],
            "description": "Refund outcome. Present on `REFUND` transactions only."
          }
        },
        "required": [
          "id",
          "code"
        ]
      },
      "LoyaltyV2RewardTransactionResultDigitalGiftVoucher": {
        "title": "Loyalty Reward Transaction Result Digital Gift Voucher",
        "type": "object",
        "description": "Gift voucher published for a digital reward. `result` is present on `REFUND` transactions only. `amount` is negative when credits are subtracted.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Voucher ID."
          },
          "code": {
            "type": "string",
            "description": "Voucher code."
          },
          "amount": {
            "type": "number",
            "description": "Amount credited to the gift voucher. Negative on refund when credits are subtracted."
          },
          "balance": {
            "type": "number",
            "description": "Gift balance after the operation."
          },
          "result": {
            "type": "string",
            "enum": [
              "CREDITS_SUBTRACTED",
              "SKIPPED"
            ],
            "description": "Refund outcome. Present on `REFUND` transactions only."
          }
        },
        "required": [
          "id",
          "code",
          "amount",
          "balance"
        ]
      },
      "LoyaltyV2RewardTransactionResultDigitalLoyaltyCardPointsValue": {
        "title": "Loyalty Reward Transaction Result Digital Loyalty Card Points Value",
        "type": "object",
        "description": "Points credited to a target loyalty card.",
        "properties": {
          "points": {
            "type": "integer",
            "description": "Points credited to the target card."
          },
          "card_definition_id": {
            "type": "string",
            "pattern": "^lcdef_[a-f0-9]+$",
            "description": "Target card definition ID."
          },
          "card_id": {
            "type": "string",
            "pattern": "^lcrd_[a-f0-9]+$",
            "description": "Target card ID."
          }
        },
        "required": [
          "points",
          "card_definition_id",
          "card_id"
        ]
      },
      "LoyaltyV2BenefitMaterial": {
        "title": "Loyalty Benefit Material",
        "description": "Material benefit snapshot. The unused `product` or `sku` sibling is omitted.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/LoyaltyV2BenefitMaterialProduct"
          },
          {
            "$ref": "#/components/schemas/LoyaltyV2BenefitMaterialSku"
          }
        ]
      },
      "LoyaltyV2BenefitDigitalDiscountCoupons": {
        "title": "Loyalty Benefit Digital Discount Coupons",
        "type": "object",
        "description": "Digital benefit snapshot for a `DISCOUNT_COUPONS` benefit.",
        "properties": {
          "type": {
            "type": "string",
            "const": "DISCOUNT_COUPONS",
            "description": "Digital type. Always `DISCOUNT_COUPONS`."
          },
          "discount_coupons": {
            "$ref": "#/components/schemas/LoyaltyV2BenefitDigitalDiscountCouponsConfig"
          }
        },
        "required": [
          "type",
          "discount_coupons"
        ]
      },
      "LoyaltyV2BenefitDigitalGiftVouchers": {
        "title": "Loyalty Benefit Digital Gift Vouchers",
        "type": "object",
        "description": "Digital benefit snapshot for a `GIFT_VOUCHERS` benefit.",
        "properties": {
          "type": {
            "type": "string",
            "const": "GIFT_VOUCHERS",
            "description": "Digital type. Always `GIFT_VOUCHERS`."
          },
          "gift_vouchers": {
            "$ref": "#/components/schemas/LoyaltyV2BenefitDigitalGiftVouchersConfig"
          }
        },
        "required": [
          "type",
          "gift_vouchers"
        ]
      },
      "LoyaltyV2BenefitMaterialProduct": {
        "title": "Loyalty Benefit Material Product",
        "type": "object",
        "description": "Material benefit effect for a `PRODUCT` benefit.",
        "properties": {
          "type": {
            "type": "string",
            "const": "PRODUCT",
            "description": "Material type. Always `PRODUCT`."
          },
          "product": {
            "$ref": "#/components/schemas/LoyaltyV2BenefitMaterialProductItem"
          }
        },
        "required": [
          "type",
          "product"
        ]
      },
      "LoyaltyV2BenefitMaterialSku": {
        "title": "Loyalty Benefit Material SKU",
        "type": "object",
        "description": "Material benefit effect for an `SKU` benefit.",
        "properties": {
          "type": {
            "type": "string",
            "const": "SKU",
            "description": "Material type. Always `SKU`."
          },
          "sku": {
            "$ref": "#/components/schemas/LoyaltyV2BenefitMaterialSkuItem"
          }
        },
        "required": [
          "type",
          "sku"
        ]
      },
      "LoyaltyV2BenefitDigitalDiscountCouponsConfig": {
        "title": "Loyalty Benefit Digital Discount Coupons Config",
        "type": "object",
        "description": "Discount coupon campaign linked to a digital benefit.",
        "properties": {
          "campaign_id": {
            "type": "string",
            "pattern": "^camp_[a-zA-Z0-9]+$",
            "description": "Campaign ID used to publish the coupon."
          }
        },
        "required": [
          "campaign_id"
        ]
      },
      "LoyaltyV2BenefitDigitalGiftVouchersConfig": {
        "title": "Loyalty Benefit Digital Gift Vouchers Config",
        "type": "object",
        "description": "Gift voucher campaign linked to a digital benefit.",
        "properties": {
          "campaign_id": {
            "type": "string",
            "pattern": "^camp_[a-zA-Z0-9]+$",
            "description": "Campaign ID used to publish the gift voucher."
          },
          "balance": {
            "type": "number",
            "description": "Amount credited to the published gift voucher."
          }
        },
        "required": [
          "campaign_id",
          "balance"
        ]
      },
      "LoyaltyV2BenefitMaterialProductItem": {
        "title": "Loyalty Benefit Material Product Item",
        "type": "object",
        "description": "Product granted by a material benefit.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^prod_[a-f0-9]+$",
            "description": "Product ID."
          }
        },
        "required": [
          "id"
        ]
      },
      "LoyaltyV2BenefitMaterialSkuItem": {
        "title": "Loyalty Benefit Material SKU Item",
        "type": "object",
        "description": "SKU granted by a material benefit.",
        "properties": {
          "product_id": {
            "type": "string",
            "pattern": "^prod_[a-f0-9]+$",
            "description": "Parent product ID."
          },
          "id": {
            "type": "string",
            "pattern": "^sku_[a-f0-9]+$",
            "description": "SKU ID."
          }
        },
        "required": [
          "product_id",
          "id"
        ]
      }
    }
  },
  "webhooks": {
    "POINTS_EARNED": {
      "post": {
        "operationId": "loyalty-transaction-card-points-earned",
        "summary": "Points earned",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyPointsEarnedData"
              },
              "examples": {
                "POINTS_EARNED": {
                  "value": {
                    "transaction": {
                      "id": "lctx_7d2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "card_type": "INDIVIDUAL",
                      "type": "POINTS_EARNED",
                      "details": {
                        "reason": "Order paid",
                        "rejection": null,
                        "metadata": {
                          "order_source": "online_store"
                        },
                        "points": {
                          "total": 250,
                          "expiration_date": "2027-08-20"
                        }
                      },
                      "status": "APPROVED",
                      "created_at": "2026-08-20T14:32:18.412Z",
                      "updated_at": "2026-08-20T14:32:18.497Z",
                      "object": "card_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "ADMIN_CREDIT": {
      "post": {
        "operationId": "loyalty-transaction-card-admin-credit",
        "summary": "Admin credit",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyAdminCreditData"
              },
              "examples": {
                "ADMIN_CREDIT": {
                  "value": {
                    "transaction": {
                      "id": "lctx_0cd2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "card_type": "INDIVIDUAL",
                      "type": "ADMIN_CREDIT",
                      "details": {
                        "reason": "Customer service adjustment",
                        "rejection": null,
                        "metadata": {},
                        "points": {
                          "total": 100,
                          "expiration_date": "2027-09-07"
                        }
                      },
                      "status": "APPROVED",
                      "created_at": "2026-09-07T09:15:43.091Z",
                      "updated_at": "2026-09-07T09:15:43.284Z",
                      "object": "card_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "ADMIN_DEBIT": {
      "post": {
        "operationId": "loyalty-transaction-card-admin-debit",
        "summary": "Admin debit",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyAdminDebitData"
              },
              "examples": {
                "ADMIN_DEBIT": {
                  "value": {
                    "transaction": {
                      "id": "lctx_0bd2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "card_type": "INDIVIDUAL",
                      "type": "ADMIN_DEBIT",
                      "details": {
                        "reason": "Correction of an incorrect balance",
                        "rejection": null,
                        "metadata": {},
                        "points": {
                          "total": -50
                        }
                      },
                      "status": "APPROVED",
                      "created_at": "2026-09-07T09:15:43.091Z",
                      "updated_at": "2026-09-07T09:15:43.284Z",
                      "object": "card_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "ADMIN_POINTS_EXPIRATION": {
      "post": {
        "operationId": "loyalty-transaction-card-admin-points-expiration",
        "summary": "Admin points expiration",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyAdminPointsExpirationData"
              },
              "examples": {
                "ADMIN_POINTS_EXPIRATION": {
                  "value": {
                    "transaction": {
                      "id": "lctx_17d2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "card_type": "INDIVIDUAL",
                      "type": "ADMIN_POINTS_EXPIRATION",
                      "details": {
                        "reason": "Manual expiration",
                        "rejection": null,
                        "metadata": {},
                        "bucket": {
                          "id": "lcpeb_6a2d9f41c783",
                          "points": {
                            "total": 75
                          },
                          "expiration_date": "2026-09-07",
                          "expiration_type": "CALENDAR_EXPIRATION"
                        }
                      },
                      "status": "APPROVED",
                      "created_at": "2026-09-07T09:15:43.091Z",
                      "updated_at": "2026-09-07T09:15:43.284Z",
                      "object": "card_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "POINTS_SPENT_ON_REWARD": {
      "post": {
        "operationId": "loyalty-transaction-card-points-spent-on-reward",
        "summary": "Points spent on reward",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyPointsSpentOnRewardData"
              },
              "examples": {
                "POINTS_SPENT_ON_REWARD": {
                  "value": {
                    "transaction": {
                      "id": "lctx_16d2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "card_type": "INDIVIDUAL",
                      "type": "POINTS_SPENT_ON_REWARD",
                      "details": {
                        "reason": "Points spent on reward",
                        "rejection": null,
                        "metadata": {},
                        "points": {
                          "total": 300
                        },
                        "reward": {
                          "id": "lrew_3e8a1c74d952"
                        },
                        "cost": {
                          "id": "lrcst_6a2d9f41c783"
                        },
                        "spending": {
                          "id": "lrspn_91f6b2e84a37"
                        },
                        "reward_transaction": {
                          "id": "lrtx_55bfc63a8142"
                        },
                        "target_card": null,
                        "purchase_transaction": null
                      },
                      "status": "APPROVED",
                      "created_at": "2026-09-07T09:15:43.091Z",
                      "updated_at": "2026-09-07T09:15:43.284Z",
                      "object": "card_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "POINTS_PURCHASED": {
      "post": {
        "operationId": "loyalty-transaction-card-points-purchased",
        "summary": "Points purchased",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyPointsPurchasedData"
              },
              "examples": {
                "POINTS_PURCHASED": {
                  "value": {
                    "transaction": {
                      "id": "lctx_10d2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "card_type": "INDIVIDUAL",
                      "type": "POINTS_PURCHASED",
                      "details": {
                        "reason": "Points purchased through reward",
                        "rejection": null,
                        "metadata": {},
                        "points": {
                          "total": 500,
                          "expiration_date": "2027-09-07",
                          "expiration_type": "ROLLING_EXPIRATION"
                        },
                        "reward": {
                          "id": "lrew_3e8a1c74d952"
                        },
                        "reward_transaction": {
                          "id": "lrtx_55bfc63a8142"
                        },
                        "card_transaction": {
                          "id": "lctx_7d2f5a39b461"
                        }
                      },
                      "status": "APPROVED",
                      "created_at": "2026-09-07T09:15:43.091Z",
                      "updated_at": "2026-09-07T09:15:43.284Z",
                      "object": "card_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "POINTS_PURCHASE_REVERSED": {
      "post": {
        "operationId": "loyalty-transaction-card-points-purchase-reversed",
        "summary": "Points purchase reversed",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyPointsPurchaseReversedData"
              },
              "examples": {
                "POINTS_PURCHASE_REVERSED": {
                  "value": {
                    "transaction": {
                      "id": "lctx_18d2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "card_type": "INDIVIDUAL",
                      "type": "POINTS_PURCHASE_REVERSED",
                      "details": {
                        "reason": "Reward refund — point purchase reversed",
                        "rejection": null,
                        "metadata": {},
                        "points": {
                          "total": 500,
                          "expiration_date": "2027-09-07",
                          "expiration_type": "ROLLING_EXPIRATION"
                        },
                        "reward": {
                          "id": "lrew_3e8a1c74d952"
                        },
                        "purchase": {
                          "card_transaction": {
                            "id": "lctx_7d2f5a39b461"
                          },
                          "reward_transaction": {
                            "id": "lrtx_55bfc63a8142"
                          }
                        },
                        "reward_transaction": {
                          "id": "lrtx_8a6d13f90c42"
                        }
                      },
                      "status": "APPROVED",
                      "created_at": "2026-09-07T09:15:43.091Z",
                      "updated_at": "2026-09-07T09:15:43.284Z",
                      "object": "card_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "POINTS_SPENT_ON_ORDER": {
      "post": {
        "operationId": "loyalty-transaction-card-points-spent-on-order",
        "summary": "Points spent on order",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyPointsSpentOnOrderData"
              },
              "examples": {
                "POINTS_SPENT_ON_ORDER": {
                  "value": {
                    "transaction": {
                      "id": "lctx_15d2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "card_type": "INDIVIDUAL",
                      "type": "POINTS_SPENT_ON_ORDER",
                      "details": {
                        "reason": "Points spent on order payment",
                        "rejection": null,
                        "metadata": {},
                        "points": {
                          "total": 200
                        },
                        "order": {
                          "id": "ord_6a2d9f41c783"
                        },
                        "order_transaction": {
                          "id": "lotx_91f6b2e84a37"
                        }
                      },
                      "status": "APPROVED",
                      "created_at": "2026-09-07T09:15:43.091Z",
                      "updated_at": "2026-09-07T09:15:43.284Z",
                      "object": "card_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "POINTS_REFUNDED": {
      "post": {
        "operationId": "loyalty-transaction-card-points-refunded",
        "summary": "Points refunded",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyPointsRefundedData"
              },
              "examples": {
                "POINTS_REFUNDED": {
                  "value": {
                    "transaction": {
                      "id": "lctx_0fd2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "card_type": "INDIVIDUAL",
                      "type": "POINTS_REFUNDED",
                      "details": {
                        "reason": "Order item returned",
                        "rejection": null,
                        "metadata": {},
                        "points": {
                          "total": 40
                        }
                      },
                      "status": "APPROVED",
                      "created_at": "2026-09-07T09:15:43.091Z",
                      "updated_at": "2026-09-07T09:15:43.284Z",
                      "object": "card_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "POINTS_RETURNED": {
      "post": {
        "operationId": "loyalty-transaction-card-points-returned",
        "summary": "Points returned",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyPointsReturnedData"
              },
              "examples": {
                "POINTS_RETURNED": {
                  "value": {
                    "transaction": {
                      "id": "lctx_0fd2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "card_type": "INDIVIDUAL",
                      "type": "POINTS_RETURNED",
                      "details": {
                        "reason": "Reward purchase refunded",
                        "rejection": null,
                        "metadata": {},
                        "points": {
                          "total": 300,
                          "expiration_date": "2027-09-07",
                          "expiration_type": "ROLLING_EXPIRATION"
                        },
                        "reward": {
                          "id": "lrew_3e8a1c74d952"
                        },
                        "purchase": {
                          "card_transaction": {
                            "id": "lctx_7d2f5a39b461"
                          },
                          "reward_transaction": {
                            "id": "lrtx_55bfc63a8142"
                          }
                        },
                        "reward_transaction": {
                          "id": "lrtx_8a6d13f90c42"
                        }
                      },
                      "status": "APPROVED",
                      "created_at": "2026-09-07T09:15:43.091Z",
                      "updated_at": "2026-09-07T09:15:43.284Z",
                      "object": "card_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "POINTS_EXPIRED": {
      "post": {
        "operationId": "loyalty-transaction-card-points-expired",
        "summary": "Points expired",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyPointsExpiredData"
              },
              "examples": {
                "POINTS_EXPIRED": {
                  "value": {
                    "transaction": {
                      "id": "lctx_0ed2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "card_type": "INDIVIDUAL",
                      "type": "POINTS_EXPIRED",
                      "details": {
                        "reason": "Points expiration",
                        "rejection": null,
                        "metadata": {},
                        "points": {
                          "total": 75
                        },
                        "date": "2026-09-07",
                        "buckets": [
                          {
                            "id": "lcpeb_6a2d9f41c783",
                            "points": {
                              "total": 75
                            },
                            "expiration_date": "2026-09-07",
                            "expiration_type": "CALENDAR_EXPIRATION"
                          }
                        ]
                      },
                      "status": "APPROVED",
                      "created_at": "2026-09-07T09:15:43.091Z",
                      "updated_at": "2026-09-07T09:15:43.284Z",
                      "object": "card_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "PENDING_POINTS_ADDED": {
      "post": {
        "operationId": "loyalty-transaction-card-pending-points-added",
        "summary": "Pending points added",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyPendingPointsAddedData"
              },
              "examples": {
                "PENDING_POINTS_ADDED": {
                  "value": {
                    "transaction": {
                      "id": "lctx_14d2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "card_type": "INDIVIDUAL",
                      "type": "PENDING_POINTS_ADDED",
                      "details": {
                        "reason": "Pending points added",
                        "rejection": null,
                        "metadata": {},
                        "points": {
                          "total": 120,
                          "date": "2026-09-14",
                          "type": "PERIOD_BASED"
                        }
                      },
                      "status": "APPROVED",
                      "created_at": "2026-09-07T09:15:43.091Z",
                      "updated_at": "2026-09-07T09:15:43.284Z",
                      "object": "card_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "PENDING_POINTS_ACTIVATED": {
      "post": {
        "operationId": "loyalty-transaction-card-pending-points-activated",
        "summary": "Pending points activated",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyPendingPointsActivatedData"
              },
              "examples": {
                "PENDING_POINTS_ACTIVATED": {
                  "value": {
                    "transaction": {
                      "id": "lctx_18d2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "card_type": "INDIVIDUAL",
                      "type": "PENDING_POINTS_ACTIVATED",
                      "details": {
                        "reason": "Pending points activated",
                        "rejection": null,
                        "metadata": {},
                        "points": {
                          "total": 120,
                          "date": "2026-09-14",
                          "type": "PERIOD_BASED"
                        }
                      },
                      "status": "APPROVED",
                      "created_at": "2026-09-07T09:15:43.091Z",
                      "updated_at": "2026-09-07T09:15:43.284Z",
                      "object": "card_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "PENDING_POINTS_CANCELED": {
      "post": {
        "operationId": "loyalty-transaction-card-pending-points-canceled",
        "summary": "Pending points canceled",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyPendingPointsCanceledData"
              },
              "examples": {
                "PENDING_POINTS_CANCELED": {
                  "value": {
                    "transaction": {
                      "id": "lctx_17d2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "card_type": "INDIVIDUAL",
                      "type": "PENDING_POINTS_CANCELED",
                      "details": {
                        "reason": "Pending points canceled",
                        "rejection": null,
                        "metadata": {},
                        "points": {
                          "total": 120,
                          "date": "2026-09-14",
                          "type": "PERIOD_BASED"
                        }
                      },
                      "status": "APPROVED",
                      "created_at": "2026-09-07T09:15:43.091Z",
                      "updated_at": "2026-09-07T09:15:43.284Z",
                      "object": "card_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "PAY_WITH_POINTS": {
      "post": {
        "operationId": "loyalty-transaction-order-pay-with-points",
        "summary": "Pay with points",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyPayWithPointsData"
              },
              "examples": {
                "PAY_WITH_POINTS": {
                  "value": {
                    "transaction": {
                      "id": "lotx_8d2f5a39b461",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_id": "lcrd_28c4e7b195fa",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "card_transaction_id": "lctx_8d2f5a39b461",
                      "order_id": "ord_7d2f5a39b461",
                      "status": "APPROVED",
                      "type": "PAY_WITH_POINTS",
                      "details": {
                        "reason": "Points spent on order payment",
                        "rejection": null,
                        "metadata": {
                          "amount_limit": 5000,
                          "points_limit": 500
                        },
                        "payment": {
                          "id": "pay_7d2f5a39b461c",
                          "amount": 2500,
                          "points_spent": 500,
                          "exchange_ratio": 0.1
                        },
                        "spending_cap": {
                          "type": "CARD_BALANCE_POINTS",
                          "unit": "POINTS",
                          "value": 500
                        }
                      },
                      "created_at": "2026-09-09T10:15:43.091Z",
                      "updated_at": "2026-09-09T10:15:43.284Z",
                      "object": "order_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "UPGRADED": {
      "post": {
        "operationId": "loyalty-transaction-tier-upgraded",
        "summary": "Upgraded",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyTierUpgradedData"
              },
              "examples": {
                "UPGRADED": {
                  "value": {
                    "transaction": {
                      "id": "lttx_8d2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "tier_structure_id": "lts_3e8a1c74d952",
                      "tier_id": "lt_91f6b2e84a37",
                      "status": "APPROVED",
                      "created_at": "2026-09-09T10:15:43.091Z",
                      "updated_at": "2026-09-09T10:15:43.284Z",
                      "object": "tier_transaction",
                      "type": "UPGRADED",
                      "details": {
                        "points": 1200,
                        "tier_from": "lt_6a2d9f41c783",
                        "tier_to": "lt_91f6b2e84a37",
                        "origin": {
                          "type": "card_operations",
                          "card_transaction_ids": [
                            "lctx_8d2f5a39b461"
                          ]
                        },
                        "rejection": null,
                        "start_at": "2026-09-09T10:15:43.091Z",
                        "expires_at": "2027-09-09T23:59:59.999Z"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "DOWNGRADED": {
      "post": {
        "operationId": "loyalty-transaction-tier-downgraded",
        "summary": "Downgraded",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyTierDowngradedData"
              },
              "examples": {
                "DOWNGRADED": {
                  "value": {
                    "transaction": {
                      "id": "lttx_91f6b2e84a37",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "tier_structure_id": "lts_3e8a1c74d952",
                      "tier_id": "lt_6a2d9f41c783",
                      "status": "APPROVED",
                      "created_at": "2026-09-09T10:15:43.091Z",
                      "updated_at": "2026-09-09T10:15:43.284Z",
                      "object": "tier_transaction",
                      "type": "DOWNGRADED",
                      "details": {
                        "points": 400,
                        "tier_from": "lt_91f6b2e84a37",
                        "tier_to": "lt_6a2d9f41c783",
                        "origin": {
                          "type": "daily_task_operations"
                        },
                        "rejection": null,
                        "start_at": "2026-09-09T10:15:43.091Z",
                        "expires_at": "2027-09-09T23:59:59.999Z"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "JOINED": {
      "post": {
        "operationId": "loyalty-transaction-tier-joined",
        "summary": "Joined",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyTierJoinedData"
              },
              "examples": {
                "JOINED": {
                  "value": {
                    "transaction": {
                      "id": "lttx_3e8a1c74d952",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "tier_structure_id": "lts_3e8a1c74d952",
                      "tier_id": "lt_6a2d9f41c783",
                      "status": "APPROVED",
                      "created_at": "2026-09-09T10:15:43.091Z",
                      "updated_at": "2026-09-09T10:15:43.284Z",
                      "object": "tier_transaction",
                      "type": "JOINED",
                      "details": {
                        "points": 200,
                        "tier_from": null,
                        "tier_to": "lt_6a2d9f41c783",
                        "origin": {
                          "type": "member_card_created"
                        },
                        "rejection": null,
                        "start_at": "2026-09-09T10:15:43.091Z",
                        "expires_at": null
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "LEFT": {
      "post": {
        "operationId": "loyalty-transaction-tier-left",
        "summary": "Left",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyTierLeftData"
              },
              "examples": {
                "LEFT": {
                  "value": {
                    "transaction": {
                      "id": "lttx_6a2d9f41c783",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "tier_structure_id": "lts_3e8a1c74d952",
                      "tier_id": null,
                      "status": "APPROVED",
                      "created_at": "2026-09-09T10:15:43.091Z",
                      "updated_at": "2026-09-09T10:15:43.284Z",
                      "object": "tier_transaction",
                      "type": "LEFT",
                      "details": {
                        "points": 0,
                        "tier_from": "lt_6a2d9f41c783",
                        "tier_to": null,
                        "origin": {
                          "type": "member_card_deleted"
                        },
                        "rejection": null,
                        "start_at": null,
                        "expires_at": null
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "EXPIRATION_CHANGED": {
      "post": {
        "operationId": "loyalty-transaction-tier-expiration-changed",
        "summary": "Expiration changed",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyTierExpirationChangedData"
              },
              "examples": {
                "EXPIRATION_CHANGED": {
                  "value": {
                    "transaction": {
                      "id": "lttx_7d2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "tier_structure_id": "lts_3e8a1c74d952",
                      "tier_id": null,
                      "status": "APPROVED",
                      "created_at": "2026-09-09T10:15:43.091Z",
                      "updated_at": "2026-09-09T10:15:43.284Z",
                      "object": "tier_transaction",
                      "type": "EXPIRATION_CHANGED",
                      "details": {
                        "points": 850,
                        "tier_from": null,
                        "tier_to": null,
                        "origin": {
                          "type": "card_operations",
                          "card_transaction_ids": [
                            "lctx_8d2f5a39b461"
                          ]
                        },
                        "rejection": null,
                        "start_at": null,
                        "expires_at": "2027-03-09T23:59:59.999Z"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "EVALUATION_REFRESHED": {
      "post": {
        "operationId": "loyalty-transaction-tier-evaluation-refreshed",
        "summary": "Evaluation refreshed",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyTierEvaluationRefreshedData"
              },
              "examples": {
                "EVALUATION_REFRESHED": {
                  "value": {
                    "transaction": {
                      "id": "lttx_4c91a287d053",
                      "card_id": "lcrd_28c4e7b195fa",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "card_definition_id": "lcdef_6a2d9f41c783",
                      "tier_structure_id": "lts_3e8a1c74d952",
                      "tier_id": null,
                      "status": "APPROVED",
                      "created_at": "2026-09-09T10:15:43.091Z",
                      "updated_at": "2026-09-09T10:15:43.284Z",
                      "object": "tier_transaction",
                      "type": "EVALUATION_REFRESHED",
                      "details": {
                        "points": 850,
                        "tier_from": null,
                        "tier_to": null,
                        "origin": {
                          "type": "daily_task_operations"
                        },
                        "rejection": null,
                        "start_at": null,
                        "expires_at": null
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "PURCHASE": {
      "post": {
        "operationId": "loyalty-transaction-reward-purchase",
        "summary": "Purchase",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyRewardPurchaseData"
              },
              "examples": {
                "PURCHASE": {
                  "value": {
                    "transaction": {
                      "id": "lrtx_8d2f5a39b461",
                      "card_id": "lcrd_28c4e7b195fa",
                      "card_transaction_id": "lctx_8d2f5a39b461",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "reward_id": "lrew_3e8a1c74d952",
                      "status": "APPROVED",
                      "type": "PURCHASE",
                      "details": {
                        "reason": "Points spent on reward",
                        "rejection": null,
                        "metadata": {},
                        "points": {
                          "total": 200
                        },
                        "result": {
                          "reward": {
                            "id": "lrew_3e8a1c74d952",
                            "type": "MATERIAL"
                          },
                          "quantity": 1,
                          "material": {
                            "type": "PRODUCT",
                            "product": {
                              "id": "prod_7d2f5a39b461"
                            }
                          },
                          "digital": null
                        }
                      },
                      "created_at": "2026-09-09T10:15:43.091Z",
                      "updated_at": "2026-09-09T10:15:43.284Z",
                      "object": "reward_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "REFUND": {
      "post": {
        "operationId": "loyalty-transaction-reward-refund",
        "summary": "Refund",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyRewardRefundData"
              },
              "examples": {
                "REFUND": {
                  "value": {
                    "transaction": {
                      "id": "lrtx_91f6b2e84a37",
                      "card_id": "lcrd_28c4e7b195fa",
                      "card_transaction_id": "lctx_91f6b2e84a37",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "reward_id": "lrew_3e8a1c74d952",
                      "status": "APPROVED",
                      "type": "REFUND",
                      "details": {
                        "reason": "Manual reward refund",
                        "rejection": null,
                        "metadata": {},
                        "points": {
                          "total": 200
                        },
                        "result": {
                          "reward": {
                            "id": "lrew_3e8a1c74d952",
                            "type": "MATERIAL"
                          },
                          "quantity": 1,
                          "material": {
                            "type": "PRODUCT",
                            "product": {
                              "id": "prod_7d2f5a39b461"
                            }
                          },
                          "digital": null
                        },
                        "purchase": {
                          "card_transaction": {
                            "id": "lctx_8d2f5a39b461"
                          },
                          "reward_transaction": {
                            "id": "lrtx_8d2f5a39b461"
                          }
                        }
                      },
                      "created_at": "2026-09-09T11:15:43.091Z",
                      "updated_at": null,
                      "object": "reward_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "FULFILLMENT": {
      "post": {
        "operationId": "loyalty-transaction-benefit-fulfillment",
        "summary": "Fulfillment",
        "description": "",
        "tags": [
          "Events loyalty transaction"
        ],
        "responses": {
          "200": {
            "description": "Webhook accepted"
          },
          "202": {
            "description": "Webhook accepted"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLoyaltyBenefitFulfillmentData"
              },
              "examples": {
                "FULFILLMENT": {
                  "value": {
                    "transaction": {
                      "id": "lbtx_8d2f5a39b461",
                      "benefit_id": "lben_3e8a1c74d952",
                      "program_id": "lprg_3e8a1c74d952",
                      "member_id": "lmbr_91f6b2e84a37",
                      "earning_rule_id": "lern_6a2d9f41c783",
                      "type": "FULFILLMENT",
                      "status": "APPROVED",
                      "details": {
                        "reason": "Coffee Club / Order paid bonus",
                        "rejection": null,
                        "metadata": {
                          "event_id": "evt_7d2f5a39b461",
                          "earning_item_id": "lernei_8d2f5a39b461"
                        },
                        "result": {
                          "details": {
                            "material": {
                              "type": "PRODUCT",
                              "product": {
                                "id": "prod_7d2f5a39b461"
                              }
                            }
                          }
                        }
                      },
                      "created_at": "2026-09-09T10:15:43.091Z",
                      "updated_at": null,
                      "object": "benefit_transaction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}