---
title: "Get program spending summary report"
method: GET
path: "/v2/loyalties/programs/{programId}/reports/spending/summary"
tags: ["Programs"]
---

# Get program spending summary report

`GET /v2/loyalties/programs/{programId}/reports/spending/summary`

<Info>

<Badge color="gray">Documentation in progress</Badge>

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

</Info>

Returns total points-spending statistics for the program (all time), optionally
filtered by card definition.

## Path parameters

- `programId` string, required

## Query parameters

- `filters` SpendingReportListFilters — Filters for spending reports.
  - `junction` 'AND' | 'OR', nullable — Logical junction between the field filters. Defaults to AND behavior.
  - `card_definition_id` SpendingReportFilterCardDefinitionIdConditions — ID filter conditions for card definition ids. Values must match pattern `^lcdef_[a-f0-9]+$`. `$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.
    - `conditions` object, required
      - `$is` union — Matches rows whose card definition id equals the given value.
        - string
        - string[]
      - `$is_not` union — Matches rows whose card definition id does not equal the given value.
        - string
        - string[]
      - `$in` union — Matches rows whose card definition id is one of the given values.
        - string
        - string[]
      - `$not_in` union — Matches rows whose card definition id is not one of the given values.
        - string
        - string[]

## Response `200`

Program spending summary report.

- SpendingReportSummaryResponse — Program spending summary report result.
  - `data` SpendingReportSummaryEntry[] — Report entries, one per card definition.
    - `id` string — Unique identifier of the summary row.
    - `card_definition_id` string — Unique identifier of the card definition (format `lcdef_...`).
    - `success` number — Total number of successful spending operations.
    - `success_on_reward` number — Total number of successful reward purchases.
    - `success_on_order` number — Total number of successful order payments.
    - `points` number — Total points spent.
    - `points_on_rewards` number — Total points spent on reward purchases.
    - `points_on_order` number — Total points spent on order payments.
    - `amount_on_order` number — Total order amount paid with points.
    - `object` 'spending_summary_report' — Object type marker. Always `spending_summary_report`.
  - `object` 'report' — Object type marker. Always `report`.

## 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.

## Changes

- **2026-07-17** (v2) `4cbaee5a82d5` — 8 info
  - added the optional property `resource_id` to the response with the `400` status
  - added the optional property `resource_id` to the response with the `404` status
  - added the optional property `resource_id` to the response with the `409` status
  - added the optional property `resource_id` to the response with the `500` status
  - …4 more
- **2026-07-06** (v2) `341403eb19e5` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/voucherifyio/apis/voucherify-loyalty-v2-api/changes/v2/loyalties/programs/:programId/reports/spending/summary/get.md)

---

[API](https://skmtc.dev/voucherifyio/apis/voucherify-loyalty-v2-api.md) · [All operations](https://skmtc.dev/voucherifyio/apis/voucherify-loyalty-v2-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/voucherifyio/voucherify-loyalty-v2-api/revisions/dbfaefa45f8b/schema)
