---
title: "List card transactions"
method: GET
path: "/v2/loyalties/programs/{programId}/members/{memberId}/cards/{cardId}/transactions"
tags: ["Programs"]
---

# List card transactions

`GET /v2/loyalties/programs/{programId}/members/{memberId}/cards/{cardId}/transactions`

## Request

- Base URL: `https://api.voucherify.io`
- URL: `https://api.voucherify.io/v2/loyalties/programs/{programId}/members/{memberId}/cards/{cardId}/transactions`
- 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 transactions of the member's card. Results can
be filtered by id and created_at, and ordered by `created_at` (default
`-created_at`, newest first). Returns 404 when the program, member or card does not
exist.

## Path parameters

- `programId` string, required
- `memberId` string, required
- `cardId` string, required

## Query parameters

- `limit` unknown
- `order` union
  - string[]
  - '-created_at' | 'created_at'
- `cursor` unknown
- `filters` CardTransactionListFilters: Filters for the card transactions list.
  - `junction` 'AND' | 'OR': How multiple field filters are combined. Defaults to `AND`.
  - `id` CardTransactionIdFilter: ID filter conditions for card transaction IDs. At least one condition is required.
    - `conditions` object, required
      - `$is` union: Value equals. Single value or an array with exactly one value.
        - string
        - string[]
      - `$is_not` union: Value does not equal. Single value or an array with exactly one value.
        - string
        - string[]
      - `$in` union: Value is one of. Single value or an array of 1-100 values.
        - string
        - string[]
      - `$not_in` union: Value is not one of. Single value or an array of 1-100 values.
        - string
        - string[]
  - `created_at` MemberDateFilter: Date filter conditions. `$before`/`$after` take date strings; `$is`, `$more_than`, `$less_than` take non-negative integers; `$has_value`/`$is_unknown` are presence checks. Each condition accepts a single value or an array with exactly one value. At least one condition is required.
    - `conditions` object, required
      - `$before` union: Date is before the given date.
        - string
        - string[]
      - `$after` union: Date is after the given date.
        - string
        - string[]
      - `$is` union: Date matches the given non-negative integer value.
        - string
        - string[]
      - `$more_than` union: More than the given non-negative integer value.
        - string
        - string[]
      - `$less_than` union: Less than the given non-negative integer value.
        - string
        - string[]
      - `$has_value` string: Field has a value (presence check).
      - `$is_unknown` string: Field has no value (absence check).

## Response `200`

Cursor-paginated list of card transactions.

- CardTransactionListResponse: Cursor-paginated list of card transactions.
  - `data` CardTransaction[], required: Card transactions on the current page.
    - `id` string, required: Unique card transaction ID.
    - `card_id` string, required: ID of the card the transaction belongs to.
    - `program_id` string, required: ID of the loyalty program.
    - `member_id` string, required: ID of the member owning the card.
    - `card_definition_id` string, required: ID of the card definition of the card.
    - `card_type` 'INDIVIDUAL', required: Card type.
    - `type` 'ADMIN_CREDIT' | 'ADMIN_DEBIT' | 'ADMIN_POINTS_EXPIRATION' | 'POINTS_EARNED' | 'POINTS_SPENT_ON_REWARD' | 'POINTS_PURCHASED' | 'POINTS_PURCHASE_REVERSED' | 'POINTS_SPENT_ON_ORDER' | 'POINTS_REFUNDED' | 'POINTS_RETURNED' | 'POINTS_EXPIRED' | 'PENDING_POINTS_ADDED' | 'PENDING_POINTS_ACTIVATED' | 'PENDING_POINTS_CANCELED', required: Transaction type.
    - `details` CardTransactionDetails, required: Card transaction details. `reason`, `rejection` and `metadata` are present on all variants; the remaining fields depend on the transaction `type`: - `ADMIN_CREDIT`: `points` (`total`, `expiration_date`) - `ADMIN_DEBIT`: `points` (`total`) - `ADMIN_POINTS_EXPIRATION`: `bucket` (the expired points bucket) - `POINTS_EARNED`: `points` (`total`, `expiration_date`) - `POINTS_EXPIRED`: `points` (`total`), `date`, `buckets` - `POINTS_SPENT_ON_REWARD`: `points` (`total`), `reward`, `reward_transaction`, `target_card`, `purchase_transaction` - `POINTS_PURCHASED`: `points` (`total`, `expiration_date`, `expiration_type`), `reward`, `reward_transaction`, `card_transaction` - `POINTS_PURCHASE_REVERSED`: `points` (`total`, `expiration_date`, `expiration_type`), `reward`, `purchase`, `reward_transaction` - `POINTS_SPENT_ON_ORDER`: `points` (`total`), `order`, `order_transaction` - `POINTS_REFUNDED`: `points` (`total`) - `POINTS_RETURNED`: `points` (`total`, `expiration_date`, `expiration_type`), `reward`, `purchase`, `reward_transaction` - `PENDING_POINTS_ADDED` / `PENDING_POINTS_ACTIVATED` / `PENDING_POINTS_CANCELED`: `points` (`total`, `date`, `type`)
      - `reason` unknown
      - `rejection` object: Rejection details when the transaction was rejected, or null.
        - `reason` string: Rejection reason.
        - `details` string: Detailed rejection description.
      - `metadata` object: Transaction metadata (empty object when none).
      - `points` object: Points affected by the transaction (variant-dependent fields).
        - `total` number: Number of points. Negative for debits.
        - `expiration_date` string, date: Expiration date of the affected points (`YYYY-MM-DD`), or null.
        - `expiration_type` unknown
        - `date` string, date: Activation date of the pending points (`YYYY-MM-DD`). Pending points variants only.
        - `type` 'IMMEDIATE' | 'PERIOD_BASED' | 'FIXED_DATES' | 'EVENT_BASED': Pending points activation type. Pending points variants only.
      - `bucket` CardPointsBucketSimple: Simple representation of a points expiration bucket, embedded in card transaction details.
        - `id` string, required: Points expiration bucket ID.
        - `points` object, required: Points held in the bucket.
          - `total` number, required: Number of points in the bucket.
        - `expiration_date` string, date, required: Date when the points in the bucket expire (`YYYY-MM-DD`).
        - `expiration_type` 'NO_EXPIRATION' | 'ROLLING_EXPIRATION' | 'CALENDAR_EXPIRATION' | 'SLIDING_EXPIRATION', required: Points expiration type.
      - `buckets` CardPointsBucketSimple[]: The points buckets that expired (`POINTS_EXPIRED` only).
        - `id` string, required: Points expiration bucket ID.
        - `points` object, required: Points held in the bucket.
          - `total` number, required: Number of points in the bucket.
        - `expiration_date` string, date, required: Date when the points in the bucket expire (`YYYY-MM-DD`).
        - `expiration_type` 'NO_EXPIRATION' | 'ROLLING_EXPIRATION' | 'CALENDAR_EXPIRATION' | 'SLIDING_EXPIRATION', required: Points expiration type.
      - `date` string, date: Expiration date (`POINTS_EXPIRED` only, `YYYY-MM-DD`).
      - `reward` object: Reference to the reward involved, or null.
        - `id` string: Reward ID (`lrew_[a-f0-9]+`).
      - `reward_transaction` object: Reference to the related reward transaction, or null.
        - `id` string: Reward transaction ID (`lrtx_[a-f0-9]+`).
      - `card_transaction` object: Reference to the linked card transaction (e.g. the spend side of a points purchase), or null.
        - `id` string: Card transaction ID (`lctx_[a-f0-9]+`).
      - `purchase` object: References to the original purchase transactions (reversal/return variants), or null.
        - `card_transaction` object
          - `id` string: Card transaction ID (`lctx_[a-f0-9]+`).
        - `reward_transaction` object
          - `id` string: Reward transaction ID (`lrtx_[a-f0-9]+`).
      - `order` object: Reference to the order paid with points (`POINTS_SPENT_ON_ORDER` only), or null.
        - `id` string: Order ID.
      - `order_transaction` object: Reference to the related order transaction (`POINTS_SPENT_ON_ORDER` only), or null.
        - `id` string: Order transaction ID (`lotx_[a-f0-9]+`).
      - `target_card` object: Reference to the target card credited by a points purchase (`POINTS_SPENT_ON_REWARD` only), or null.
        - `id` string: Card ID (`lcrd_[a-f0-9]+`).
      - `purchase_transaction` object: Reference to the linked purchase card transaction (`POINTS_SPENT_ON_REWARD` only), or null.
        - `id` string: Card transaction ID (`lctx_[a-f0-9]+`).
    - `status` 'PENDING' | 'PROCESSING' | 'APPROVED' | 'REJECTED', required: Transaction processing status. Transactions are created as `PENDING` and processed asynchronously.
    - `created_at` string, date-time, required: Timestamp when the transaction was created (ISO 8601).
    - `updated_at` string, date-time, required: Timestamp when the transaction was last updated (ISO 8601), or null.
    - `object` string, required: Object type marker, always `card_transaction`.
  - `cursor` MemberListCursor, 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)
