> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.brevo.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.brevo.com/_mcp/server.

# Loyalty webhooks

## Overview

Loyalty webhooks deliver real-time events to your server when something meaningful happens in a program. Use them to trigger automated emails, push notifications, CRM updates, and personalization logic without polling the API.

Loyalty webhooks follow the same setup as all Brevo webhooks. See [Webhooks getting started](/docs/how-to-use-webhooks) for configuration, security, and retry behavior.

**Webhook event reference**

| Event                              | Fires when                                                       | Recommended automation                               |
| ---------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------- |
| `balance_value_updated`            | A transaction is completed and balance changes                   | "You earned X points" email or push notification     |
| `balance_expiration_reminder`      | N days before balance expires (configured on balance definition) | "Your points expire soon" campaign                   |
| `balance_value_expired`            | Points have expired                                              | Winback automation                                   |
| `balance_minimum_value_reached`    | Balance drops below configured minimum                           | Alert for cashback programs                          |
| `balance_maximum_value_reached`    | Credit refused — member hit balance cap                          | Notify customer their cap was reached                |
| `balance_transaction_unauthorized` | Transaction blocked (cap, rule, or cancelled)                    | Log + optional customer notification                 |
| `tier_association_updated`         | Member tier upgraded or downgraded                               | "Welcome to Gold" email + trigger reward attribution |
| `tier_anniversary_reminder`        | N days before tier anniversary (configured on tier group)        | Re-engagement: "Maintain your Gold status"           |
| `subscription_created`             | Contact enrolled in program                                      | Welcome flow + send digital loyalty card             |
| `subscription_revoked`             | Member unenrolled                                                | Offboarding flow                                     |
| `subscription_month_anniversary`   | Monthly enrollment anniversary                                   | Monthly summary email                                |
| `subscription_year_anniversary`    | Annual enrollment anniversary                                    | Anniversary reward + email                           |
| `voucher_expiration_reminder`      | Voucher approaching expiry                                       | "Use your reward before it expires" email            |
| `voucher_redeemed`                 | Member redeemed a voucher                                        | Confirmation + loyalty activity log                  |
| `voucher_expired`                  | Voucher has expired                                              | Re-engagement offer                                  |

---

## Event payloads

The currently supported Loyalty events and their payloads are listed below.

**Balance webhook events**

* [Balance minimum value reached](/docs/loyalty-webhooks#balance-minimum-value-reached)
* [Balance maximum value reached](/docs/loyalty-webhooks#balance-maximum-value-reached)
* [Balance transaction unauthorized](/docs/loyalty-webhooks#balance-transaction-unauthorized)
* [Balance expiration reminder](/docs/loyalty-webhooks#balance-expiration-reminder)
* [Balance value expired](/docs/loyalty-webhooks#balance-value-expired)
* [Balance value updated](/docs/loyalty-webhooks#balance-value-updated)

**Membership webhook events**

* [Membership anniversary reminder](/docs/loyalty-webhooks#membership-anniversary-reminder)

**Subscription webhook events**

* [Subscription revoked](/docs/loyalty-webhooks#subscription-revoked)
* [Subscription member removed](/docs/loyalty-webhooks#subscription-member-removed)
* [Subscription created](/docs/loyalty-webhooks#balance-expiration-reminder)
* [Subscription member added](/docs/loyalty-webhooks#subscription-member-added)
* [Subscription month anniversary](/docs/loyalty-webhooks#subscription-month-anniversary)
* [Subscription year anniversary](/docs/loyalty-webhooks#subscription-year-anniversary)

**Tier webhook events**

* [Tier association year anniversary](/docs/loyalty-webhooks#tier-association-year-anniversary)
* [Tier association updated](/docs/loyalty-webhooks#tier-association-updated)
* [Tier association month anniversary](/docs/loyalty-webhooks#tier-association-month-anniversary)
* [Tier anniversary reminder](/docs/loyalty-webhooks#tier-anniversary-reminder)

**Voucher webhook events**

* [Voucher expiration reminder](/docs/loyalty-webhooks#voucher-expiration-reminder)
* [Voucher redeemed](/docs/loyalty-webhooks#voucher-redeemed)
* [Voucher expired](/docs/loyalty-webhooks#voucher-expired)
* [Voucher redeem unauthorized](/docs/loyalty-webhooks#voucher-redeem-unauthorized)
* [Voucher revoked](/docs/loyalty-webhooks#voucher-revoked)
* [Voucher created](/docs/loyalty-webhooks#voucher-created)
* [Voucher attribution failed](/docs/loyalty-webhooks#voucher-attribution-failed)

## Balance minimum value reached

| Attribute name                | Datatype | Description                 |
| :---------------------------- | :------- | :-------------------------- |
| `balance_definition.id`       | String   | Balance definition ID       |
| `balance_definition.metadata` | Object   | Balance definition data     |
| `balance_definition.name`     | String   | Balance definition name     |
| `balance_definition.unit`     | String   | Balance definition unit     |
| `loyalty_program.id`          | String   | Loyalty program ID          |
| `loyalty_program.name`        | String   | Name of the Loyalty program |
| `source_event_id`             | String   | Source event ID             |
| `value`                       | Numeric  | Balance value               |

```json
{
  "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 name                         | Datatype | Description                                 |
| :------------------------------------- | :------- | :------------------------------------------ |
| `loyalty_program.id`                   | String   | Loyalty program ID                          |
| `loyalty_program.name`                 | String   | Name of Loyalty program                     |
| `subscription.created_at`              | String   | Time and date when subscription was created |
| `subscription.loyalty_subscription_id` | String   | Loyalty subscription ID                     |

```json
{
  "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 name                | Datatype | Description                 |
| :---------------------------- | :------- | :-------------------------- |
| `balance_definition.id`       | String   | Balance definition ID       |
| `balance_definition.metadata` | String   | Balance definition metadata |
| `balance_definition.name`     | String   | Balance definition name     |
| `balance_definition.unit`     | String   | Balance definition unit     |
| `loyalty_program.id`          | String   | Loyalty program ID          |
| `loyalty_program.name`        | String   | Loyalty program name        |
| `reason`                      | String   | Rejection reason            |
| `transaction.type`            | String   | Transaction type            |
| `transaction.value`           | Numeric  | Transaction value           |

```json
{
  "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 name          | Datatype | Description                       |
| :---------------------- | :------- | :-------------------------------- |
| `attributed_at`         | String   | Time and date of tier attribution |
| `loyalty_program.id`    | String   | Loyalty Program ID                |
| `loyalty_program.name`  | String   | Loyalty Program name              |
| `membership.card_id`    | String   | Membership Card ID                |
| `membership.created_at` | String   | Membership creation date          |
| `reminder.unit`         | String   | Reminder unit                     |
| `reminder.value`        | Numeric  | Reminder value                    |
| `tier.id`               | String   | Tier ID                           |
| `tier.name`             | String   | Tier name                         |
| `tier_group.id`         | String   | Tier group ID                     |
| `tier_group.name`       | String   | Tier group name                   |

```json
{
  "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 name            | Datatype | Description             |
| :------------------------ | :------- | :---------------------- |
| `loyalty_program.id`      | String   | Loyalty program ID      |
| `loyalty_program.name`    | String   | Loyalty program name    |
| `loyalty_subscription_id` | String   | Loyalty subscription ID |

```json
{
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "loyalty_subscription_id": "2ba00576-a5a9-400d-8b34-1e21xxd3xxd3"
}
```

## Balance expiration reminder

| Attribute name                | Datatype | Description                                    |
| :---------------------------- | :------- | :--------------------------------------------- |
| `amount`                      | Numeric  | Balance amount remaining                       |
| `balance_definition.id`       | String   | Balance definition ID                          |
| `balance_definition.metadata` | String   | Balance definition metadata                    |
| `balance_definition.name`     | String   | Balance definition name                        |
| `balance_definition.unit`     | String   | Balance definition unit                        |
| `created_at`                  | String   | Time and date the balance reminder was created |
| `expires_at`                  | String   | Time and date when balance expires             |
| `loyalty_program.id`          | String   | Loyalty program ID                             |
| `loyalty_program.name`        | String   | Loyalty program name                           |
| `membership.card_id`          | String   | Membership card ID                             |
| `membership.created_at`       | String   | Time and date membership was created           |
| `reminder.unit`               | String   | Reminder unit                                  |
| `reminder.value`              | Numeric  | Reminder value                                 |

```json
{
  "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 name            | Datatype | Description                                |
| :------------------------ | :------- | :----------------------------------------- |
| `created_at`              | String   | Time and date the subscription was created |
| `loyalty_program.id`      | String   | Loyalty program ID                         |
| `loyalty_program.name`    | String   | Loyalty program name                       |
| `loyalty_subscription_id` | String   | Loyalty subscription ID                    |

```json
{
  "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 name             | Datatype | Description                                        |
| :------------------------- | :------- | :------------------------------------------------- |
| `code`                     | String   | Voucher code                                       |
| `expires_at`               | String   | Time and date when voucher expires                 |
| `id`                       | String   | Voucher ID                                         |
| `loyalty_program.id`       | String   | Loyalty program ID                                 |
| `loyalty_program.name`     | String   | Loyalty program name                               |
| `offer.id`                 | String   | Offer ID                                           |
| `offer.name`               | String   | Offer name                                         |
| `offer.public_description` | String   | Offer public description                           |
| `offer.public_image`       | String   | Offer public image                                 |
| `offer.public_name`        | String   | Offer public name                                  |
| `source_event_id`          | String   | Source event ID                                    |
| `valid_from`               | String   | Time and date from which the voucher becomes valid |

```json
{
  "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 name                | Datatype | Description                 |
| :---------------------------- | :------- | :-------------------------- |
| `balance_definition.id`       | String   | Balance definition ID       |
| `balance_definition.metadata` | String   | Balance definition metadata |
| `balance_definition.name`     | String   | Balance definition name     |
| `balance_definition.unit`     | String   | Balance definition unit     |
| `loyalty_program.id`          | String   | Loyalty program ID          |
| `loyalty_program.name`        | String   | Loyalty program name        |
| `value`                       | Numeric  | Balance value               |

```json
{
  "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 name                | Datatype | Description                             |
| :---------------------------- | :------- | :-------------------------------------- |
| `balance_definition.id`       | String   | Balance definition ID                   |
| `balance_definition.metadata` | String   | Balance definition metadata             |
| `balance_definition.name`     | String   | Balance definition name                 |
| `balance_definition.unit`     | String   | Balance definition unit                 |
| `created`                     | Bool     | Tells if balance was created or updated |
| `expiration_date`             | String   | Balance expiration date                 |
| `initial_value`               | Numeric  | Initial balance value                   |
| `loyalty_program.id`          | String   | Loyalty program ID                      |
| `loyalty_program.name`        | String   | Loyalty program name                    |
| `source_event_id`             | String   | Source event ID                         |
| `transaction.type`            | String   | Transaction type                        |
| `transaction.value`           | Numeric  | Transaction value                       |
| `value`                       | Numeric  | Balance value                           |

```json
{
  "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 name          | Datatype | Description              |
| :---------------------- | :------- | :----------------------- |
| `loyalty_program.id`    | String   | Loyalty program ID       |
| `loyalty_program.name`  | String   | Loyalty program name     |
| `membership.card_id`    | String   | Membership card ID       |
| `membership.created_at` | String   | Membership creation date |
| `reminder.unit`         | String   | Reminder unit            |
| `reminder.value`        | Numeric  | Reminder value           |

```json
{
  "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 name         | Datatype | Description          |
| :--------------------- | :------- | :------------------- |
| `loyalty_program.id`   | String   | Loyalty program ID   |
| `loyalty_program.name` | String   | Loyalty program name |
| `member_id`            | Numeric  | Member ID            |

```json
{
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "member_id": 123
}
```

## Voucher revoked

| Attribute name             | Datatype | Description              |
| :------------------------- | :------- | :----------------------- |
| `code`                     | String   | Voucher code             |
| `id`                       | String   | Voucher ID               |
| `loyalty_program.id`       | String   | Loyalty program ID       |
| `loyalty_program.name`     | String   | Loyalty program name     |
| `offer.id`                 | String   | Offer id                 |
| `offer.name`               | String   | Offer name               |
| `offer.public_description` | String   | Offer public description |
| `offer.public_image`       | String   | Offer public image       |
| `offer.public_name`        | String   | Offer public name        |
| `source_event_id`          | String   | Source event ID          |

```json
{
  "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 name         | Datatype | Description          |
| :--------------------- | :------- | :------------------- |
| `loyalty_program.id`   | String   | Loyalty program ID   |
| `loyalty_program.name` | String   | Loyalty program name |
| `member_id`            | Numeric  | Member ID            |

```json
{
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "member_id": 123
}
```

## Voucher attribution failed

| Attribute name         | Datatype | Description               |
| :--------------------- | :------- | :------------------------ |
| `loyalty_program.id`   | String   | Loyalty program ID        |
| `loyalty_program.name` | String   | Loyalty program name      |
| `rejection_error`      | String   | Voucher attribution error |
| `voucher_offer_id`     | String   | Voucher offer ID          |

```json
{
  "loyalty_program": {
    "id": "27xxdd7a-af67-0020-ba65-19d60000a26e",
    "name": "VIP Club"
  },
  "rejection_error": "test",
  "voucher_offer_id": "test"
}
```

## Voucher expired

| Attribute name             | Datatype | Description              |
| :------------------------- | :------- | :----------------------- |
| `code`                     | String   | Voucher code             |
| `id`                       | String   | Voucher ID               |
| `loyalty_program.id`       | String   | Loyalty program ID       |
| `loyalty_program.name`     | String   | Loyalty program name     |
| `offer.id`                 | String   | Offer ID                 |
| `offer.name`               | String   | Offer name               |
| `offer.public_description` | String   | Offer public description |
| `offer.public_image`       | String   | Offer public image       |
| `offer. public_name`       | String   | Offer public name        |

```json
{
  "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 name                         | Datatype | Description                            |
| :------------------------------------- | :------- | :------------------------------------- |
| `loyalty_program.id`                   | String   | Loyalty program ID                     |
| `loyalty_program.name`                 | String   | Loyalty program name                   |
| `subscription.created_at`              | String   | Time and date of subscription creation |
| `subscription.loyalty_subscription_id` | String   | Loyalty subscription ID                |

```json
{
  "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 name         | Datatype | Description          |
| :--------------------- | :------- | :------------------- |
| `created_at`           | String   | Tier creation date   |
| `loyalty_program.id`   | String   | Loyalty program ID   |
| `loyalty_program.name` | String   | Loyalty program name |
| `tier.id`              | String   | Tier ID              |
| `tier.name`            | String   | Tier name            |
| `tier_group.id`        | String   | Tier group ID        |
| `tier_group.name`      | String   | Tier group name      |

```json
{
  "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 name         | Datatype | Description          |
| :--------------------- | :------- | :------------------- |
| `from_tier.id`         | String   | Previous tier ID     |
| `from_tier.name`       | String   | Previous tier name   |
| `loyalty_program.id`   | String   | Loyalty program ID   |
| `loyalty_program.name` | String   | Loyalty program name |
| `source_event_id`      | String   | Source event ID      |
| `tier_group.id`        | String   | Tier group ID        |
| `tier_group.name`      | String   | Tier group name      |
| `to_tier.id`           | String   | New tier ID          |
| `to_tier.name`         | String   | New tier name        |
| `upgraded`             | Bool     | Status of update     |

```json
{
  "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 name             | Datatype | Description                          |
| :------------------------- | :------- | :----------------------------------- |
| `code`                     | String   | Voucher code                         |
| `expired_at`               | String   | Time and date of voucher expiry      |
| `id`                       | String   | Voucher ID                           |
| `loyalty_program.id`       | String   | Loyalty program ID                   |
| `loyalty_program.name`     | String   | Loyalty program name                 |
| `membership.card_id`       | String   | Membership card ID                   |
| `membership.created_at`    | String   | Time and date of membership creation |
| `offer.id`                 | String   | Offer ID                             |
| `offer.name`               | String   | Offer name                           |
| `offer.public_description` | String   | Offer public description             |
| `offer.public_image`       | String   | Offer public image                   |
| `offer.public_name`        | String   | Offer public name                    |
| `reminder.unit`            | String   | Reminder unit                        |
| `reminder.value`           | Numeric  | Reminder value                       |
| `valid_from`               | String   | Time and date voucher is valid from  |

```json
{
  "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 name             | Datatype | Description              |
| :------------------------- | :------- | :----------------------- |
| `code`                     | String   | Voucher code             |
| `id`                       | String   | Voucher ID               |
| `loyalty_program.id`       | String   | Loyalty program ID       |
| `loyalty_program.name`     | String   | Loyalty program name     |
| `offer.id`                 | String   | Offer ID                 |
| `offer.name`               | String   | Offer name               |
| `offer.public_description` | String   | Offer public description |
| `offer.public_image`       | String   | Offer public image       |
| `offer.public_name`        | String   | Offer public name        |

```json
{
  "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 name                | Datatype | Description                 |
| :---------------------------- | :------- | :-------------------------- |
| `balance_definition.id`       | String   | Balance definition ID       |
| `balance_definition.metadata` | String   | Balance definition metadata |
| `balance_definition.name`     | String   | Balance definition name     |
| `balance_definition.unit`     | String   | Balance definition unit     |
| `loyalty_program.id`          | String   | Loyalty program ID          |
| `loyalty_program.name`        | String   | Loyalty program name        |
| `source_event_id`             | String   | Source event ID             |
| `value`                       | Numeric  | Balance value               |

```json
{
  "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 name             | Datatype | Description              |
| :------------------------- | :------- | :----------------------- |
| `code`                     | String   | Voucher code             |
| `loyalty_program.id`       | String   | Loyalty program ID       |
| `loyalty_program.name`     | String   | Loyalty program name     |
| `offer.id`                 | String   | Offer ID                 |
| `offer.name`               | String   | Offer name               |
| `offer.public_description` | String   | Offer public description |
| `offer.public_image`       | String   | Offer public image       |
| `offer.public_name`        | String   | Offer public name        |
| `reason`                   | String   | Unauthorization reason   |

```json
{
  "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 name         | Datatype | Description                    |
| :--------------------- | :------- | :----------------------------- |
| `created_at`           | String   | Time and date of tier creation |
| `loyalty_program.id`   | String   | Loyalty program ID             |
| `loyalty_program.name` | String   | Loyalty program name           |
| `tier.id`              | String   | Tier ID                        |
| `tier.name`            | String   | Tier nae                       |
| `tier_group.id`        | String   | Tier group ID                  |
| `tier_group.name`      | String   | Tier group name                |

```json
{
  "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"
  }
}
```