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

# List program rewards summary reports

> Returns all-time reward-purchase totals for the program, one row per reward with a recorded purchase attempt. Filters rows with `filters[reward_id]`. Returns at most 100 rows, ordered by `id` descending. `limit` and `order` are not query parameters. A filter that matches no rows returns an empty `data` array.

Returns `400` when query validation fails. Returns `404` when the program does not exist.



## OpenAPI

````yaml /openapi/loyalties-v2.json get /v2/loyalties/programs/{programId}/reports/rewards/summary
openapi: 3.1.0
info:
  title: Voucherify API - Loyalty v2
  version: v2018-08-01
  description: >-
    Voucherify promotion engine REST API. Please see
    https://docs.voucherify.io/docs for more details.
  contact:
    name: Voucherify Team
    url: https://www.voucherify.io/contact-support
    email: support@voucherify.io
  termsOfService: https://www.voucherify.io/legal/subscription-agreement
  license:
    name: MIT
    url: https://github.com/voucherifyio/voucherify-js-sdk/blob/main/LICENSE
servers:
  - url: https://{cluster}.voucherify.io
    description: Base URL
    variables:
      cluster:
        default: api
        enum:
          - api
          - us1.api
          - as1.api
          - download
          - us1.download
          - as1.download
security: []
paths:
  /v2/loyalties/programs/{programId}/reports/rewards/summary:
    parameters:
      - name: programId
        in: path
        required: true
        description: >-
          Identifies the loyalty program (`lprg_` followed by hexadecimal
          characters).
        schema:
          type: string
    get:
      tags:
        - Programs
      summary: List program rewards summary reports
      description: >-
        Returns all-time reward-purchase totals for the program, one row per
        reward with a recorded purchase attempt. Filters rows with
        `filters[reward_id]`. Returns at most 100 rows, ordered by `id`
        descending. `limit` and `order` are not query parameters. A filter that
        matches no rows returns an empty `data` array.


        Returns `400` when query validation fails. Returns `404` when the
        program does not exist.
      operationId: listProgramRewardsSummaryReports
      parameters:
        - name: filters
          in: query
          required: false
          style: deepObject
          explode: true
          description: >-
            Filters rows by field conditions, e.g.
            `filters[reward_id][conditions][$is]=lrew_...`.
          schema:
            $ref: '#/components/schemas/RewardsReportListFilters'
      responses:
        '200':
          description: Program rewards summary report.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/LoyaltiesProgramsReportsRewardsSummaryListResponseBody
              examples:
                Summary rewards report:
                  value:
                    data:
                      - id: lprrs_132d80d588916617aa
                        reward_id: lrew_1294cebb458e4904a0
                        success_count: 3
                        failures_count: 1
                        failures_breakdown:
                          FREQUENCY: 1
                        object: program_rewards_summary_report
                    object: report
                Empty rewards summary report:
                  value:
                    data: []
                    object: report
        '400':
          description: Query parameters failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                'Invalid query parameters: `reward_id` is invalid':
                  value:
                    code: 400
                    key: invalid_query_params
                    message: Invalid query params
                    details: >-
                      Property .filters.reward_id.conditions.$is must match
                      pattern "^lrew_[a-f0-9]+$"
                    request_id: v-131e4b76ad2e098931
        '404':
          description: Program not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Program not found:
                  value:
                    code: 404
                    key: not_found
                    message: Resource not found
                    details: Cannot find program with id lprg_128f58429fc4bf7b2
                    request_id: v-131e4b76ad2e098932
                    resource_id: lprg_128f58429fc4bf7b2
                    resource_type: program
                Program id does not match the pattern:
                  value:
                    code: 404
                    key: not_found
                    message: Resource not found
                    details: Cannot find program with id missing
                    request_id: v-131e4b76ad2e098933
                    resource_id: missing
                    resource_type: program
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Internal server error:
                  value:
                    code: 500
                    key: api_error
                    message: >-
                      Something went wrong. Don't worry, your campaigns are
                      still safe and the Voucherify Team has been notified.
                      Check out our Help Center and forums for help, or head
                      back to home.
      security:
        - X-App-Id: []
          X-App-Token: []
        - bearerAuth: []
components:
  schemas:
    RewardsReportListFilters:
      type: object
      description: Filters for program rewards reports.
      properties:
        junction:
          description: >-
            Sets the logical junction between the field filters. Defaults to
            `AND`.
          oneOf:
            - type: string
              enum:
                - AND
                - OR
            - type: 'null'
        reward_id:
          description: Filters by reward ID.
          oneOf:
            - $ref: '#/components/schemas/RewardsReportFilterRewardIdConditions'
            - type: 'null'
      additionalProperties: false
    LoyaltiesProgramsReportsRewardsSummaryListResponseBody:
      type: object
      title: Loyalties Programs Reports Rewards Summary List Response Body
      description: >-
        Response body schema for **GET**
        `/v2/loyalties/programs/{programId}/reports/rewards/summary`.
      properties:
        data:
          type: array
          description: >-
            List of summary rows, one per reward with a recorded purchase
            attempt, ordered by `id` descending. Contains at most 100 rows.
            Empty when no purchase attempts were recorded.
          items:
            $ref: '#/components/schemas/RewardsReportSummaryEntry'
        object:
          type: string
          const: report
          description: Object type marker. Always `report`.
      required:
        - data
        - object
    ErrorResponse:
      type: object
      description: Standard error response returned by all Loyalty v2 endpoints.
      properties:
        code:
          type: integer
          description: HTTP status code of the error.
        key:
          type: string
          description: Machine-readable error key.
        message:
          type: string
          description: Human-readable error message.
        details:
          type: string
          description: Additional details about the error.
        request_id:
          type: string
          description: Unique identifier of the request that produced the error.
        resource_id:
          type: string
          description: Unique identifier of the resource that produced the error.
        resource_type:
          type: string
          description: Type of the resource that produced the error.
    RewardsReportFilterRewardIdConditions:
      type: object
      description: >-
        ID filter conditions for reward ID. Values must match pattern
        `^lrew_[a-f0-9]+$`. `$is` and `$is_not` accept a single value (string or
        1-element array). `$in` and `$not_in` accept a string or an array of
        1-100 values.
      properties:
        conditions:
          type: object
          minProperties: 1
          additionalProperties: false
          properties:
            $is:
              description: Matches rows whose reward ID equals the given value.
              oneOf:
                - type: string
                  pattern: ^lrew_[a-f0-9]+$
                - type: array
                  items:
                    type: string
                    pattern: ^lrew_[a-f0-9]+$
                  minItems: 1
                  maxItems: 1
                - type: 'null'
            $is_not:
              description: Matches rows whose reward ID does not equal the given value.
              oneOf:
                - type: string
                  pattern: ^lrew_[a-f0-9]+$
                - type: array
                  items:
                    type: string
                    pattern: ^lrew_[a-f0-9]+$
                  minItems: 1
                  maxItems: 1
                - type: 'null'
            $in:
              description: Matches rows whose reward ID is one of the given values.
              oneOf:
                - type: string
                  pattern: ^lrew_[a-f0-9]+$
                - type: array
                  items:
                    type: string
                    pattern: ^lrew_[a-f0-9]+$
                  minItems: 1
                  maxItems: 100
                - type: 'null'
            $not_in:
              description: Matches rows whose reward ID is not one of the given values.
              oneOf:
                - type: string
                  pattern: ^lrew_[a-f0-9]+$
                - type: array
                  items:
                    type: string
                    pattern: ^lrew_[a-f0-9]+$
                  minItems: 1
                  maxItems: 100
                - type: 'null'
      required:
        - conditions
      additionalProperties: false
    RewardsReportSummaryEntry:
      type: object
      description: >-
        All-time reward-purchase counts for one reward. Counts that did not
        occur are 0.
      properties:
        id:
          type: string
          pattern: ^lprrs_[a-f0-9]+$
          description: >-
            Identifies the summary row (format: `lprrs_` followed by hexadecimal
            characters).
        reward_id:
          type: string
          pattern: ^lrew_[a-f0-9]+$
          description: Identifies the reward (`lrew_...`).
        success_count:
          type: number
          description: Counts approved reward purchases.
        failures_count:
          type: number
          description: Counts reward purchase attempts that failed.
        failures_breakdown:
          $ref: '#/components/schemas/RewardsReportFailuresBreakdown'
          description: >-
            Counts failed reward purchase attempts by reason. Empty when no
            failures were recorded.
        object:
          type: string
          const: program_rewards_summary_report
          description: Object type marker. Always `program_rewards_summary_report`.
      required:
        - id
        - reward_id
        - success_count
        - failures_count
        - failures_breakdown
        - object
    RewardsReportFailuresBreakdown:
      type: object
      description: >-
        Counts failed reward purchase attempts by reason. A reason is present
        only when it was recorded. Empty when no failures were recorded. Keys
        can also be a card-transaction rejection reason or a publication error
        key.
      additionalProperties:
        type: number
      properties:
        COOLDOWN:
          type: number
          description: Counts failures caused by the cooldown limit.
        FREQUENCY:
          type: number
          description: Counts failures caused by the frequency limit.
        OUT_OF_STOCK:
          type: number
          description: Counts failures caused by missing stock.
        REWARD_NOT_FOUND:
          type: number
          description: Counts failures caused by a missing reward.
        REWARD_NOT_ACTIVE:
          type: number
          description: Counts failures caused by an inactive reward.
        PROGRAM_NOT_FOUND:
          type: number
          description: Counts failures caused by a missing program.
        MEMBER_NOT_FOUND:
          type: number
          description: Counts failures caused by a missing member.
        MEMBER_NOT_ACTIVE:
          type: number
          description: Counts failures caused by an inactive member.
        PUBLICATION_FAILED:
          type: number
          description: Counts failures caused by a failed voucher publication.
        TARGET_CARD_NOT_FOUND:
          type: number
          description: Counts failures caused by a missing target card.
        POINTS_PURCHASE_FAILED:
          type: number
          description: Counts failures caused by a failed points purchase.
        UNEXPECTED_ERROR:
          type: number
          description: Counts failures caused by an unexpected error.
  securitySchemes:
    X-App-Id:
      type: apiKey
      name: X-App-Id
      in: header
    X-App-Token:
      type: apiKey
      name: X-App-Token
      in: header
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.