> ## Documentation Index
> Fetch the complete documentation index at: https://developers.mageloyalty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# points.redeemed

> Fired when a customer redeems points for a reward, generating a discount code.

Fired when a customer successfully redeems points for a reward. At this point the points have been deducted and a discount code has been generated.

## Payload fields

| Field                 | Type           | Description                                                     |
| --------------------- | -------------- | --------------------------------------------------------------- |
| `shopify_customer_id` | string         | The customer's Shopify customer ID                              |
| `email`               | string \| null | The customer's email address                                    |
| `points_redeemed`     | integer        | Number of points spent on this redemption                       |
| `points_balance`      | integer        | The customer's remaining available points after this redemption |
| `reward_name`         | string         | Name of the reward that was redeemed                            |
| `reward_id`           | string \| null | The reward's Mage Loyalty ID                                    |
| `discount_code`       | string \| null | The Shopify discount code generated for this redemption         |

## Store-credit shops

On store-credit shops, `points_redeemed` and `points_balance` are minor currency units, and `data` carries `loyalty_mode` (`store_credit`), `currency`, and major-unit decimal-string companions `credit_redeemed` and `credit_balance`. Points-mode payloads do not include these fields. See [Loyalty modes](/api-reference/loyalty-modes).

## Example payload

<ResponseExample>
  ```json points.redeemed theme={null}
  {
    "event": "points.redeemed",
    "shop": "my-store",
    "timestamp": "2026-02-18T12:00:00.000Z",
    "data": {
      "shopify_customer_id": "6789012345",
      "email": "jane@example.com",
      "points_redeemed": 500,
      "points_balance": 200,
      "reward_name": "£10 off",
      "reward_id": "clrew456def",
      "discount_code": "MAGE-A1B2C3"
    }
  }
  ```

  ```json points.redeemed (store-credit shop) theme={null}
  {
    "event": "points.redeemed",
    "shop": "my-store",
    "timestamp": "2026-02-18T12:00:00.000Z",
    "data": {
      "shopify_customer_id": "6789012345",
      "email": "jane@example.com",
      "points_redeemed": 500,
      "points_balance": 200,
      "reward_name": "£5.00 off your order",
      "reward_id": "clrew456def",
      "discount_code": "MAGE-A1B2C3",
      "loyalty_mode": "store_credit",
      "currency": "GBP",
      "credit_redeemed": "5.00",
      "credit_balance": "2.00"
    }
  }
  ```
</ResponseExample>

## Common use cases

* Send a follow-up email reminding the customer to use their discount code
* Log redemptions in an external analytics or BI tool
* Trigger a congratulatory push notification
* Sync discount code data to a fulfilment or ERP system
