---
title: "List reward activities"
method: GET
path: "/v2/loyalties/rewards/{rewardId}/activities"
tags: ["Rewards"]
---

# List reward activities

`GET /v2/loyalties/rewards/{rewardId}/activities`

## Request

- Base URL: `https://api.voucherify.io`
- URL: `https://api.voucherify.io/v2/loyalties/rewards/{rewardId}/activities`
- Auth: none required

<Warning>

<Badge color="yellow">BETA endpoint</Badge>

This is a work-in-progress documentation of a BETA endpoint. The parameters, fields, request and response bodies, and other data may subject to change. If you want to share feedback or improvements, contact [Voucherify support](https://www.voucherify.io/contact-support) or your Technical Account Manager.

</Warning>

Returns a cursor-paginated list of activities recorded for the given reward
(created, updated, deleted, assigned, unassigned, activated, deactivated, drafted).
Returns 404 when the reward does not exist.

## Path parameters

- `id` string, required

## Query parameters

- `limit` unknown
- `order` union
  - string[]
  - 'created_at' | '-created_at'
- `cursor` unknown
- `filters` RewardActivityListFilters: Filters for the reward activities list. Each field accepts an object with a required `conditions` property.
  - `junction` 'AND' | 'OR': How multiple field filters are combined. Defaults to AND behavior.
  - `id` RewardActivityIdFilter: ID filter conditions for reward activities. `$is`/`$is_not` accept a single value (string or 1-element array); `$in`/`$not_in` accept a string or an array of 1-100 values. All values must match the activity ID pattern `^larew_[a-f0-9]+$`.
    - `conditions` object, required
      - `$is` union: Matches the exact activity ID. Single value (string or 1-element array).
        - string
        - string[]
      - `$is_not` union: Excludes the exact activity ID. Single value (string or 1-element array).
        - string
        - string[]
      - `$in` union: Matches any of the given activity IDs (up to 100).
        - string
        - string[]
      - `$not_in` union: Excludes all of the given activity IDs (up to 100).
        - string
        - string[]
  - `type` RewardActivityTypeFilter: Enum filter conditions for the activity `type` field. `$is`/`$is_not` accept a single value (string or 1-element array); `$in`/`$not_in` accept a string or an array of 1-10 values.
    - `conditions` object, required
      - `$is` union: Matches the exact activity type.
        - 'vl.reward.created' | 'vl.reward.updated' | 'vl.reward.deleted' | 'vl.reward.assigned' | 'vl.reward.unassigned' | 'vl.reward.activated' | 'vl.reward.deactivated' | 'vl.reward.drafted': Reward activity type.
        - RewardActivityType[]
      - `$is_not` union: Excludes the exact activity type.
        - 'vl.reward.created' | 'vl.reward.updated' | 'vl.reward.deleted' | 'vl.reward.assigned' | 'vl.reward.unassigned' | 'vl.reward.activated' | 'vl.reward.deactivated' | 'vl.reward.drafted': Reward activity type.
        - RewardActivityType[]
      - `$in` union: Matches any of the given activity types (up to 10).
        - 'vl.reward.created' | 'vl.reward.updated' | 'vl.reward.deleted' | 'vl.reward.assigned' | 'vl.reward.unassigned' | 'vl.reward.activated' | 'vl.reward.deactivated' | 'vl.reward.drafted': Reward activity type.
        - RewardActivityType[]
      - `$not_in` union: Excludes all of the given activity types (up to 10).
        - 'vl.reward.created' | 'vl.reward.updated' | 'vl.reward.deleted' | 'vl.reward.assigned' | 'vl.reward.unassigned' | 'vl.reward.activated' | 'vl.reward.deactivated' | 'vl.reward.drafted': Reward activity type.
        - RewardActivityType[]
  - `created_at` RewardDateFilter: Date filter conditions. `$before`/`$after` accept an ISO-8601 date string (or a 1-element array of one); `$is`, `$more_than` and `$less_than` accept a non-negative integer value passed as a string; `$has_value` and `$is_unknown` take no meaningful value.
    - `conditions` object, required
      - `$before` union: Date is before the given ISO-8601 date.
        - string
        - string[]
      - `$after` union: Date is after the given ISO-8601 date.
        - string
        - string[]
      - `$is` union: A non-negative integer value, passed as a string.
        - string
        - string[]
      - `$more_than` union: A non-negative integer value, passed as a string.
        - string
        - string[]
      - `$less_than` union: A non-negative integer value, passed as a string.
        - string
        - string[]
      - `$has_value` string: Field has a value. The condition value itself is ignored (string or array with at most 1 item).
      - `$is_unknown` string: Field has no value. The condition value itself is ignored (string or array with at most 1 item).

## Response `200`

Cursor-paginated list of reward activities.

- RewardActivityListResponse: Cursor-paginated list of reward activities.
  - `data` RewardActivity[], required: The activities on the current page.
    - `id` string, required: Unique activity identifier, prefixed with `larew_`.
    - `type` 'vl.reward.created' | 'vl.reward.updated' | 'vl.reward.deleted' | 'vl.reward.assigned' | 'vl.reward.unassigned' | 'vl.reward.activated' | 'vl.reward.deactivated' | 'vl.reward.drafted', required: Reward activity type.
    - `data` RewardActivityData, required: Activity payload. `reward` is always present and contains a full snapshot of the reward at the time of the activity. For `vl.reward.assigned` and `vl.reward.unassigned` activities, `program` (a snapshot of the program) and `program_reward` (a snapshot of the program-reward assignment) are also present.
      - `reward` RewardResponse, required: A reward, as returned by the API.
        - `id` string, required: Unique reward identifier, prefixed with `lrew_`.
        - `name` string, required: Display name of the reward.
        - `type` 'MATERIAL' | 'DIGITAL', required: Reward type.
        - `status` 'ACTIVE' | 'DRAFT' | 'INACTIVE' | 'DELETED', required: Current lifecycle status of the reward.
        - `start_date` string, date-time: Date from which the reward is available, or null when not set.
        - `end_date` string, date-time: Date until which the reward is available, or null when not set.
        - `validity_hours` RewardValidityHoursResponse, required: Validity hours. `daily` is present only when `type` is DAILY; omitted otherwise.
          - `type` 'DAILY' | 'ANY_TIME', required: Whether the reward is purchasable at any time or only during specific daily windows.
          - `daily` RewardValidityDailyHoursResponse[]: Daily time windows. Present only when `type` is DAILY.
            - `days_of_week` integer[], required: Days of the week the window applies to, as integers 0-6 (0 = Sunday).
            - `start_time` string, required: Window start time in `HH:mm` format.
            - `end_time` string, required: Window end time in `HH:mm` format.
        - `material` RewardMaterialResponse: Material reward definition.
          - `type` 'PRODUCT' | 'SKU', required: Kind of material reward.
          - `product` RewardMaterialProductResponse: Product reference.
            - `id` string, required: Product identifier, prefixed with `prod_`.
          - `sku` RewardMaterialSKUResponse: SKU reference.
            - `product_id` string, required: Identifier of the product the SKU belongs to, prefixed with `prod_`.
            - `id` string, required: SKU identifier, prefixed with `sku_`.
        - `digital` RewardDigitalResponse: Digital reward definition. Only the object matching `type` is present; the others are omitted.
          - `type` 'DISCOUNT_COUPONS' | 'GIFT_VOUCHERS' | 'LOYALTY_CARD_POINTS', required: Kind of digital reward.
          - `discount_coupons` RewardDigitalDiscountCouponsResponse: Discount coupons configuration.
            - `campaign_id` string, required: Identifier of the discount coupons campaign, prefixed with `camp_`.
          - `gift_vouchers` RewardDigitalGiftVouchersResponse: Gift vouchers configuration.
            - `campaign_id` string, required: Identifier of the gift vouchers campaign, prefixed with `camp_`.
            - `balance` number, required: Gift card balance credited when the reward is delivered.
          - `loyalty_card_points` RewardDigitalLoyaltyCardPointsResponse: Loyalty card points configuration.
            - `points` integer, required: Number of points credited when the reward is delivered.
            - `card_definition_id` string, required: Identifier of the card definition points are credited to, prefixed with `lcdef_`.
        - `refunds` RewardRefundsResponse, required: Refund policy.
          - `type` 'NONE' | 'REFUNDABLE', required: Whether reward purchases can be refunded. Defaults to NONE.
        - `costs` RewardCostResponse[], required: Point costs of the reward. Empty array when no costs are defined.
          - `id` string, required: Unique cost identifier, prefixed with `lrcst_`.
          - `rules` RewardCostRuleGroupResponse: Rules group. Contains a `logic` formula string plus numbered rule definition properties (positive-integer keys).
            - `logic` string: Logical formula combining the numbered rule definitions, e.g. `"1 AND 2"`.
          - `spending` RewardCostSpendingResponse[]: Points spending definitions, or null when none are defined.
            - `points` integer, required: Number of points the member must spend.
            - `card_definition_id` string, required: Identifier of the card definition the points are spent from, prefixed with `lcdef_`.
        - `metadata` object, required: Arbitrary key-value metadata attached to the reward. Empty object when not set.
        - `created_at` string, date-time, required: Timestamp when the reward was created (ISO-8601).
        - `updated_at` string, date-time: Timestamp when the reward was last updated (ISO-8601), or null when never updated.
        - `object` string, required: Object type marker; always `reward`.
      - `program` object: Snapshot of the program. Present only for assigned/unassigned activities.
      - `program_reward` object: Snapshot of the program-reward assignment. Present only for assigned/unassigned activities.
    - `created_at` string, date-time, required: Timestamp when the activity occurred (ISO-8601).
    - `group_id` unknown
    - `source` RewardActivitySource: Origin of an activity.
      - `channel` 'USER_PORTAL' | 'API' | 'CLIENT_API' | 'INTERNAL', required: Channel through which the change was made.
      - `user` RewardActivitySourceUser: User reference in an activity source.
        - `id` string, required: User identifier.
      - `api_key` RewardActivitySourceApiKey: API key reference in an activity source.
        - `name` string: Name of the API key.
        - `app_id` string: Application identifier of the API key.
        - `client_app_id` string: Client application identifier of the API key.
    - `reward_id` string, required: Identifier of the reward the activity belongs to, prefixed with `lrew_`.
  - `cursor` RewardListCursor, required: Pagination cursor.
    - `next` string, required: Cursor value to pass as the `cursor` query parameter to fetch the next page.
    - `expires_at` string, date-time: Timestamp when the cursor expires.
  - `object` string, required: Object type marker; always `list`.

## Other responses

- `400`: Validation error - request body or query parameters failed validation, or the operation is not allowed in the current resource state.
- `404`: Resource not found.
- `409`: Conflict - e.g. duplicate resource or invalid state transition.
- `500`: Internal server error.

---

[API](https://skmtc.dev/voucherifyio/apis/voucherify-api-async-actions.md) - [All operations](https://skmtc.dev/voucherifyio/apis/voucherify-api-async-actions/llms.txt) - [OpenAPI document](https://skmtc.dev/voucherifyio/apis/voucherify-api-async-actions/revisions/4982266e0494?raw)
