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

# Track when a user redeems their points

## Parameters

<ParamField body="event" type="string" required default="user.redeem">
  Must be `user.redeem`
</ParamField>

<ParamField body="user_id" type="string">
  The ID of the user. Must be provided in conjunction with either `location_id`
  or `rewards_program_id`
</ParamField>

<ParamField body="location_id" type="string">
  The ID of the location where the redemption was made. Must be provided in
  conjunction with `user_id`
</ParamField>

<ParamField body="rewards_program_id" type="string">
  The ID of the rewards program that the user is redeeming under. Useful when
  redemptions are made at the brand level rather than in-store. Should not be
  simultaneously provided with `location_id`
</ParamField>

<ParamField body="location_member_id" type="string">
  The ID of the location member. Can be used instead of a providing a pair of
  `user_id` and `location_id`
</ParamField>

<ParamField body="member_id" type="string">
  The ID of the rewards program member. Can be used instead of providing a pair
  of `user_id` and `rewards_program_id`.
</ParamField>

<ParamField body="points" type="integer" required>
  The number of points to redeem
</ParamField>

## Returns

<ResponseField name="id" type="string">
  The ID of the event
</ResponseField>

<ResponseField name="event_name" type="string">
  The name of the event that was captured
</ResponseField>

<ResponseField name="member" type="string">
  <Expandable>
    <ResponseField name="id" type="string">
      The unique ID of the member (user and rewards program association)
    </ResponseField>

    <ResponseField name="point_balance" type="integer">
      The number of points the member currently has
    </ResponseField>

    <ResponseField name="point_total" type="integer">
      The number of points the member has earned all-time
    </ResponseField>

    <ResponseField name="user" type="User">
      The user object

      <Expandable>
        <ResponseField name="id" type="string">
          The ID of the user
        </ResponseField>

        <ResponseField name="phone_number" type="string">
          The user's phone number
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>
