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

# List points products

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

export const scope_0 = "points_product:read"

<Callout icon="key" iconType="regular">
  This endpoint requires the **{scope_0}** scope.
</Callout>


## OpenAPI

````yaml schemas/rest-api.json GET /points_products
openapi: 3.1.0
info:
  title: Smile.io REST API
  version: 1.0.0
  description: A RESTful interface for interacting with Smile.io loyalty programs.
servers:
  - url: https://api.smile.io/v1
security:
  - bearerAuth: []
paths:
  /points_products:
    get:
      tags:
        - Points Products
      summary: List points products
      description: Retrieves a list of points products based on the specified filters.
      operationId: get__points_products
      parameters:
        - name: exchange_type
          in: query
          required: false
          schema:
            type: string
            description: >-
              Filter results to only points products with the provided
              `exchange_type`.
            enum:
              - fixed
              - variable
            example: variable
          description: >-
            Filter results to only points products with the provided
            `exchange_type`.
        - name: page_size
          in: query
          required: false
          schema:
            type: integer
            description: The maximum number of points products to retrieve.
            minimum: 1
            maximum: 250
            default: 50
          description: The maximum number of points products to retrieve.
        - name: page
          in: query
          required: false
          schema:
            type: integer
            description: The page of points products to retrieve.
            default: 1
          description: The page of points products to retrieve.
      responses:
        '200':
          description: The points products were successfully retrieved.
          content:
            application/json:
              schema:
                type: object
                properties:
                  points_products:
                    type: array
                    items:
                      $ref: '#/components/schemas/PointsProduct'
components:
  schemas:
    PointsProduct:
      type: object
      properties:
        id:
          type: integer
          example: 132456921
          description: Unique identifier for the points product.
        exchange_type:
          type: string
          enum:
            - fixed
            - variable
          example: variable
          description: How points are exchanged for the reward.
        exchange_description:
          type: string
          example: 100 Points = $1 off
          description: >-
            A human readable description of how a customer spends points on this
            reward. It includes the points branding for the program.
        points_price:
          type:
            - integer
            - 'null'
          description: >-
            Number of points needed to purchase this reward. Only present when
            `exchange_type` is `fixed`.
        variable_points_step:
          type:
            - integer
            - 'null'
          example: 100
          description: >-
            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:
          type:
            - integer
            - 'null'
          example: 1
          description: >-
            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:
          type:
            - integer
            - 'null'
          example: 100
          description: >-
            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:
          type:
            - integer
            - 'null'
          example: 5000
          description: >-
            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:
          $ref: '#/components/schemas/Reward'
          description: >-
            A nested Reward object representing the reward issued to the
            customer when they purchase the points product.
        created_at:
          type: string
          format: date-time
          example: '2024-04-04T15:10:42.030Z'
          description: The date and time when the points product was created.
        updated_at:
          type: string
          format: date-time
          example: '2024-04-04T15:10:42.030Z'
          description: The date and time when the points product was last updated.
    Reward:
      type: object
      properties:
        id:
          type: integer
          example: 924565472
          description: Unique identifier for the reward.
        name:
          type: string
          example: Order discount
          description: The name of the reward.
        description:
          type: string
          description: A description of the reward.
        image_url:
          type: string
          example: https://platform-images.smilecdn.co/3755938.png
          description: An image for the reward.
        created_at:
          type: string
          format: date-time
          example: '2024-04-04T15:10:42.030Z'
          description: The date and time when the reward was created.
        updated_at:
          type: string
          format: date-time
          example: '2024-04-04T15:10:42.030Z'
          description: The date and time when the reward was last updated.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````