---
title: "List points products"
method: GET
path: "/points_products"
tags: ["Points Products"]
---

# List points products

`GET /points_products`

Retrieves a list of points products based on the specified filters.

## Query parameters

- `exchange_type` 'fixed' | 'variable' — Filter results to only points products with the provided `exchange_type`.
- `page_size` integer — The maximum number of points products to retrieve.
- `page` integer — The page of points products to retrieve.

## Response `200`

The points products were successfully retrieved.

- object
  - `points_products` PointsProduct[]
    - `id` integer — Unique identifier for the points product.
    - `exchange_type` 'fixed' | 'variable' — How points are exchanged for the reward.
    - `exchange_description` string — A human readable description of how a customer spends points on this reward. It includes the points branding for the program.
    - `points_price` integer, nullable — Number of points needed to purchase this reward. Only present when `exchange_type` is `fixed`.
    - `variable_points_step` integer, nullable — Imagine there's a points slider your customers can drag to spend more or less points on a reward. The `variable_points_step` represents the number of points between each notch on the slider. E.g. If this value is set to 100, it means customers can spend their points in increments of 100. They will drag the slider from 100, 200, 300, etc. Only present when `exchange_type` is `variable`.
    - `variable_points_step_reward_value` integer, nullable — Imagine there's a points slider your customers can drag to spend more or less points on a reward. The `variable_points_step_reward_value` represents the corresponding reward value for each step increment on the slider. E.g. if this value is set to 1, and the variable_points_step is set to 100, the customer will get $1 off for every 100 points they spend. Only present when `exchange_type` is `variable.`
    - `variable_points_min` integer, nullable — The minimum amount of points the customer must spend to get this reward. Normally the minimum value of the points slider. Only present when `exchange_type` is `variable`.
    - `variable_points_max` integer, nullable — The maximum amount of points the customer must spend to get this reward. Normally the maximum value of the points slider. Only present when `exchange_type` is `variable`.
    - `reward` Reward
      - `id` integer — Unique identifier for the reward.
      - `name` string — The name of the reward.
      - `description` string — A description of the reward.
      - `image_url` string — An image for the reward.
      - `created_at` string, date-time — The date and time when the reward was created.
      - `updated_at` string, date-time — The date and time when the reward was last updated.
    - `created_at` string, date-time — The date and time when the points product was created.
    - `updated_at` string, date-time — The date and time when the points product was last updated.

---

[API](https://skmtc.dev/smile/apis/smile-io-rest-api.md) · [All operations](https://skmtc.dev/smile/apis/smile-io-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/smile/smile-io-rest-api/revisions/081bc804c5df/schema)
