Loyalty webhooks

In this page you find the currently supported Loyalty events and their respective payloads.

Balance webhook events

Membership webhook events

Subscription webhook events

Tier webhook events

Voucher webhook events

Balance minimum value reached

Attribute nameDatatypeDescription
balance_definition.idStringBalance definition ID
balance_definition.metadataObjectBalance definition data
balance_definition.nameStringBalance definition name
balance_definition.unitStringBalance definition unit
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringName of the Loyalty program
source_event_idStringSource event ID
valueNumericBalance value
{
  "balance_definition": {
    "id": "a74cxx1d-4a96-4xx3-804e-dc3xxd9axxeb",
    "metadata": {
        "key": "value"
      },
    "name": "Event",
    "unit": "points"
  },
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP club"
  },
  "source_event_id": "test",
  "value": 123
}

Subscription year anniversary

Attribute nameDatatypeDescription
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringName of Loyalty program
subscription.created_atStringTime and date when subscription was created
subscription.loyalty_subscription_idStringLoyalty subscription ID
{
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP club"
  },
  "subscription": {
    "created_at": "2025-06-10T07:09:01.696Z",
    "loyalty_subscription_id": "2ba00576-a5a9-400d-8b34-1e21xxd3xxd3"
  }
}

Balance transaction unauthorized

Attribute nameDatatypeDescription
balance_definition.idStringBalance definition ID
balance_definition.metadataStringBalance definition metadata
balance_definition.nameStringBalance definition name
balance_definition.unitStringBalance definition unit
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
reasonStringRejection reason
transaction.typeStringTransaction type
transaction.valueNumericTransaction value
{
  "balance_definition": {
    "id": "a74cxx1d-4a96-4xx3-804e-dc3xxd9axxeb",
    "metadata": {
        "key": "value"
      },
    "name": "Event",
    "unit": "points"
  },
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "reason": "Amount falls above maximum balance amount limit",
  "transaction": {
    "type": "credit",
    "value": 123
  }
}

Tier anniversary reminder

Attribute nameDatatypeDescription
attributed_atStringTime and date of tier attribution
loyalty_program.idStringLoyalty Program ID
loyalty_program.nameStringLoyalty Program name
membership.card_idStringMembership Card ID
membership.created_atStringMembership creation date
reminder.unitStringReminder unit
reminder.valueNumericReminder value
tier.idStringTier ID
tier.nameStringTier name
tier_group.idStringTier group ID
tier_group.nameStringTier group name
{
  "attributed_at": "2025-06-10T07:09:01.696Z",
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "membership": {
    "card_id": "ABCDE00045SS125",
    "created_at": "2025-06-10T07:09:01.696Z"
  },
  "reminder": {
    "unit": "week",
    "value": 123
  },
  "tier": {
    "id": "67000bb5-f193-4xxb-bx58-d08dc000c12f",
    "name": "Gold"
  },
  "tier_group": {
    "id": "2exxx6ee-6x9f-400d-a85d-a312xx1a445b",
    "name": "Medal"
  }
}

Subscription revoked

Attribute nameDatatypeDescription
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
loyalty_subscription_idStringLoyalty subscription ID
{
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "loyalty_subscription_id": "2ba00576-a5a9-400d-8b34-1e21xxd3xxd3"
}

Balance expiration reminder

Attribute nameDatatypeDescription
amountNumericBalance amount remaining
balance_definition.idStringBalance definition ID
balance_definition.metadataStringBalance definition metadata
balance_definition.nameStringBalance definition name
balance_definition.unitStringBalance definition unit
created_atStringTime and date the balance reminder was created
expires_atStringTime and date when balance expires
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
membership.card_idStringMembership card ID
membership.created_atStringTime and date membership was created
reminder.unitStringReminder unit
reminder.valueNumericReminder value
{
  "amount": 123,
  "balance_definition": {
    "id": "a74cxx1d-4a96-4xx3-804e-dc3xxd9axxeb",
    "metadata": {
        "key": "value"
      },
    "name": "Event",
    "unit": "points"
  },
  "created_at": "2025-06-10T07:09:01.696Z",
  "expires_at": "2025-06-10T07:09:01.696Z",
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "membership": {
    "card_id": "ABCDE00045SS125",
    "created_at": "2025-06-10T07:09:01.696Z"
  },
  "reminder": {
    "unit": "week",
    "value": 123
  }
}

Subscription created

Attribute nameDatatypeDescription
created_atStringTime and date the subscription was created
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
loyalty_subscription_idStringLoyalty subscription ID
{
  "created_at": "2025-06-10T07:09:01.696Z",
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "loyalty_subscription_id": "2ba00576-a5a9-400d-8b34-1e21xxd3xxd3"
}

Voucher created

Attribute nameDatatypeDescription
codeStringVoucher code
expires_atStringTime and date when voucher expires
idStringVoucher ID
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
offer.idStringOffer ID
offer.nameStringOffer name
offer.public_descriptionStringOffer public description
offer.public_imageStringOffer public image
offer.public_nameStringOffer public name
source_event_idStringSource event ID
valid_fromStringTime and date from which the voucher becomes valid
{
  "code": "6c",
  "expires_at": "2025-06-10T07:09:01.696Z",
  "id": "3c000afd-fb2e-4275-9007-29178f00fd5a",
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "offer": {
    "id": "29xx7df8-3cf3-4x5c-8e74-8cd00085000e",
    "name": "RewardName",
    "public_description": "offerdescription",
    "public_image": "imageoffer",
    "public_name": "offernamepublic"
  },
  "source_event_id": "test",
  "valid_from": "2025-06-10T07:09:01.696Z"
}

Balance value expired

Attribute nameDatatypeDescription
balance_definition.idStringBalance definition ID
balance_definition.metadataStringBalance definition metadata
balance_definition.nameStringBalance definition name
balance_definition.unitStringBalance definition unit
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
valueNumericBalance value
{
  "balance_definition": {
    "id": "a74cxx1d-4a96-4xx3-804e-dc3xxd9axxeb",
    "metadata": {
        "key": "value"
      },
    "name": "Event",
    "unit": "points"
  },
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "value": 123
}

Balance value updated

Attribute nameDatatypeDescription
balance_definition.idStringBalance definition ID
balance_definition.metadataStringBalance definition metadata
balance_definition.nameStringBalance definition name
balance_definition.unitStringBalance definition unit
createdBoolTells if balance was created or updated
expiration_dateStringBalance expiration date
initial_valueNumericInitial balance value
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
source_event_idStringSource event ID
transaction.typeStringTransaction type
transaction.valueNumericTransaction value
valueNumericBalance value
{
  "balance_definition": {
    "id": "a74cxx1d-4a96-4xx3-804e-dc3xxd9axxeb",
    "metadata": {
        "key": "value"
      },
    "name": "Event",
    "unit": "points"
  },
  "created": true,
  "expiration_date": "2025-06-10T07:09:01.696Z",
  "initial_value": 123,
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "source_event_id": "test",
  "transaction": {
    "type": "credit",
    "value": 123
  },
  "value": 123
}

Membership anniversary reminder

Attribute nameDatatypeDescription
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
membership.card_idStringMembership card ID
membership.created_atStringMembership creation date
reminder.unitStringReminder unit
reminder.valueNumericReminder value
{
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "membership": {
    "card_id": "ABCDE00045SS125",
    "created_at": "2025-06-10T07:09:01.696Z"
  },
  "reminder": {
    "unit": "week",
    "value": 123
  }
}

Subscription member removed

Attribute nameDatatypeDescription
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
member_idNumericMember ID
{
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "member_id": 123
}

Voucher revoked

Attribute nameDatatypeDescription
codeStringVoucher code
idStringVoucher ID
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
offer.idStringOffer id
offer.nameStringOffer name
offer.public_descriptionStringOffer public description
offer.public_imageStringOffer public image
offer.public_nameStringOffer public name
source_event_idStringSource event ID
{
  "code": "test",
  "id": "test",
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "offer": {
    "id": "29xx7df8-3cf3-4x5c-8e74-8cd00085000e",
    "name": "RewardName",
    "public_description": "offerdescription",
    "public_image": "imageoffer",
    "public_name": "offernamepublic"
  },
  "source_event_id": "test"
}

Subscription member added

Attribute nameDatatypeDescription
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
member_idNumericMember ID
{
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "member_id": 123
}

Voucher attribution failed

Attribute nameDatatypeDescription
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
rejection_errorStringVoucher attribution error
voucher_offer_idStringVoucher offer ID
{
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "rejection_error": "test",
  "voucher_offer_id": "test"
}

Voucher expired

Attribute nameDatatypeDescription
codeStringVoucher code
idStringVoucher ID
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
offer.idStringOffer ID
offer.nameStringOffer name
offer.public_descriptionStringOffer public description
offer.public_imageStringOffer public image
offer. public_nameStringOffer public name
{
  "code": "6c",
  "id": "test",
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "offer": {
    "id": "29xx7df8-3cf3-4x5c-8e74-8cd00085000e",
    "name": "RewardName",
    "public_description": "offerdescription",
    "public_image": "imageoffer",
    "public_name": "offernamepublic"
  }
}

Subscription month anniversary

Attribute nameDatatypeDescription
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
subscription.created_atStringTime and date of subscription creation
subscription.loyalty_subscription_idStringLoyalty subscription ID
{
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "subscription": {
    "created_at": "2025-06-10T07:09:01.696Z",
    "loyalty_subscription_id": "2ba00576-a5a9-400d-8b34-1e21xxd3xxd3"
  }
}

Tier association year anniversary

Attribute nameDatatypeDescription
created_atStringTier creation date
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
tier.idStringTier ID
tier.nameStringTier name
tier_group.idStringTier group ID
tier_group.nameStringTier group name
{
  "created_at": "2025-06-10T07:09:01.696Z",
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "tier": {
    "id": "67000bb5-f193-4xxb-bx58-d08dc000c12f",
    "name": "Gold"
  },
  "tier_group": {
    "id": "2exxx6ee-6x9f-400d-a85d-a312xx1a445b",
    "name": "Medal"
  }
}

Tier association updated

Attribute nameDatatypeDescription
from_tier.idStringPrevious tier ID
from_tier.nameStringPrevious tier name
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
source_event_idStringSource event ID
tier_group.idStringTier group ID
tier_group.nameStringTier group name
to_tier.idStringNew tier ID
to_tier.nameStringNew tier name
upgradedBoolStatus of update
{
  "from_tier": {
    "id": "Initial tier identifier",
    "name": "Initial tier name"
  },
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "source_event_id": "test",
  "tier_group": {
    "id": "2exxx6ee-6x9f-400d-a85d-a312xx1a445b",
    "name": "Medal"
  },
  "to_tier": {
    "id": "Final tier identifier",
    "name": "Final tier name"
  },
  "upgraded": true
}

Voucher expiration reminder

Attribute nameDatatypeDescription
codeStringVoucher code
expired_atStringTime and date of voucher expiry
idStringVoucher ID
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
membership.card_idStringMembership card ID
membership.created_atStringTime and date of membership creation
offer.idStringOffer ID
offer.nameStringOffer name
offer.public_descriptionStringOffer public description
offer.public_imageStringOffer public image
offer.public_nameStringOffer public name
reminder.unitStringReminder unit
reminder.valueNumericReminder value
valid_fromStringTime and date voucher is valid from
{
  "code": "10OFF-120006789",
  "expired_at": "2025-06-10T07:09:01.696Z",
  "id": "fb0000b4-38fd-4006-9xc5-f7800420617e",
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "membership": {
    "card_id": "ABCDE00045SS125",
    "created_at": "2025-06-10T07:09:01.696Z"
  },
  "offer": {
    "id": "29xx7df8-3cf3-4x5c-8e74-8cd00085000e",
    "name": "RewardName",
    "public_description": "offerdescription",
    "public_image": "imageoffer",
    "public_name": "offernamepublic"
  },
  "reminder": {
    "unit": "week",
    "value": 123
  },
  "valid_from": "2025-06-10T07:09:01.696Z"
}

Voucher redeemed

Attribute nameDatatypeDescription
codeStringVoucher code
idStringVoucher ID
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
offer.idStringOffer ID
offer.nameStringOffer name
offer.public_descriptionStringOffer public description
offer.public_imageStringOffer public image
offer.public_nameStringOffer public name
{
  "code": "10OFF-120006789",
  "id": "fb0000b4-38fd-4006-9xc5-f7800420617e",
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "offer": {
    "id": "29xx7df8-3cf3-4x5c-8e74-8cd00085000e",
    "name": "RewardName",
    "public_description": "offerdescription",
    "public_image": "imageoffer",
    "public_name": "offernamepublic"
  }
}

Balance maximum value reached

Attribute nameDatatypeDescription
balance_definition.idStringBalance definition ID
balance_definition.metadataStringBalance definition metadata
balance_definition.nameStringBalance definition name
balance_definition.unitStringBalance definition unit
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
source_event_idStringSource event ID
valueNumericBalance value
{
  "balance_definition": {
    "id": "a74cxx1d-4a96-4xx3-804e-dc3xxd9axxeb",
    "metadata": {
        "key": "value"
      },
    "name": "Event",
    "unit": "points"
  },
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "source_event_id": "test",
  "value": 123
}

Voucher redeem unauthorized

Attribute nameDatatypeDescription
codeStringVoucher code
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
offer.idStringOffer ID
offer.nameStringOffer name
offer.public_descriptionStringOffer public description
offer.public_imageStringOffer public image
offer.public_nameStringOffer public name
reasonStringUnauthorization reason
{
  "code": "10OFF-120006789",
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "offer": {
    "id": "29xx7df8-3cf3-4x5c-8e74-8cd00085000e",
    "name": "RewardName",
    "public_description": "offerdescription",
    "public_image": "imageoffer",
    "public_name": "offernamepublic"
  },
  "reason": "Amount falls above maximum balance amount limit"
}

Tier association month anniversary

Attribute nameDatatypeDescription
created_atStringTime and date of tier creation
loyalty_program.idStringLoyalty program ID
loyalty_program.nameStringLoyalty program name
tier.idStringTier ID
tier.nameStringTier nae
tier_group.idStringTier group ID
tier_group.nameStringTier group name
{
  "created_at": "2025-06-10T07:09:01.696Z",
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "tier": {
    "id": "67000bb5-f193-4xxb-bx58-d08dc000c12f",
    "name": "Gold"
  },
  "tier_group": {
    "id": "2exxx6ee-6x9f-400d-a85d-a312xx1a445b",
    "name": "Medal"
  }
}