---
title: "List member benefit transactions"
method: GET
path: "/v2/loyalties/programs/{programId}/members/{memberId}/benefits/transactions"
tags: ["Programs"]
---

# List member benefit transactions

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

## Request

- Base URL: `https://api.voucherify.io`
- URL: `https://api.voucherify.io/v2/loyalties/programs/{programId}/members/{memberId}/benefits/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>

Lists benefit transactions (benefit fulfillments) for the given program member,
with cursor-based pagination. Supports filtering by benefit id and creation date.

## Path parameters

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

## Query parameters

- `limit` unknown
- `order` union
  - string[]
  - '-created_at' | 'created_at'
- `cursor` unknown
- `filters` BenefitTransactionListFilters: Filters for listing benefit transactions.
  - `junction` 'AND' | 'OR': Logical junction between the field filters. Defaults to AND behavior.
  - `benefit_id` BenefitTransactionFilterBenefitIdConditions: ID filter conditions for benefit ids. Values must match pattern `^lben_[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 transactions whose benefit id equals the given value.
        - string
        - string[]
      - `$is_not` union: Matches transactions whose benefit id does not equal the given value.
        - string
        - string[]
      - `$in` union: Matches transactions whose benefit id is one of the given values.
        - string
        - string[]
      - `$not_in` union: Matches transactions whose benefit id is not one of the given values.
        - string
        - string[]
  - `created_at` OrderPaymentFilterDateConditions: Date filter conditions. `$before`/`$after` accept an ISO date-time string. `$is`/`$more_than`/`$less_than` accept a non-negative integer number of days ago. `$has_value`/`$is_unknown` accept any single value and match rows where the field is set / not set. Single values may also be passed as 1-element arrays.
    - `conditions` object, required
      - `$before` union: Matches rows with the date before the given date-time.
        - string
        - string[]
      - `$after` union: Matches rows with the date after the given date-time.
        - string
        - string[]
      - `$is` union: Matches rows with the date exactly the given number of days ago.
        - string
        - string[]
      - `$more_than` union: Matches rows with the date more than the given number of days ago.
        - string
        - string[]
      - `$less_than` union: Matches rows with the date less than the given number of days ago.
        - string
        - string[]
      - `$has_value` string: Matches rows where the date field is set.
      - `$is_unknown` string: Matches rows where the date field is not set.

## Response `200`

Paginated list of benefit transactions.

- BenefitTransactionListResponse: Paginated list of benefit transactions.
  - `data` BenefitTransaction[]: Benefit transactions.
    - `id` string: Unique benefit transaction identifier (format `lbtx_...`).
    - `benefit_id` string: Identifier of the fulfilled benefit (format `lben_...`).
    - `program_id` string: Identifier of the loyalty program (format `lprg_...`).
    - `member_id` string: Identifier of the program member (format `lmbr_...`).
    - `earning_rule_id` string: Identifier of the earning rule that triggered the fulfillment (format `lern_...`).
    - `type` 'FULFILLMENT': Transaction type.
    - `details` BenefitTransactionDetails: Details of a FULFILLMENT benefit transaction.
      - `reason` string: Human-readable reason for the fulfillment.
      - `rejection` BenefitTransactionRejection: Rejection details.
        - `reason` string: Machine-readable rejection reason.
        - `details` string: Additional human-readable details about the rejection.
      - `metadata` object: Transaction metadata. Empty object when not set.
      - `result` object: Fulfillment result payload, or `null` when not yet available.
    - `status` 'PENDING' | 'APPROVED' | 'REJECTED': Transaction status. `PENDING` — created, awaiting processing; `APPROVED` — completed successfully; `REJECTED` — rejected (see `details.rejection`).
    - `created_at` string, date-time: Timestamp when the transaction was created (ISO 8601).
    - `updated_at` string, date-time: Timestamp when the transaction was last updated (ISO 8601), or `null`.
    - `object` string: Object type marker. Always `benefit_transaction`.
  - `cursor` object: Pagination cursor. `null` when there are no more results.
    - `next` string: Cursor to pass as the `cursor` query parameter to fetch the next page (format `lcrsbtx_...`).
    - `expires_at` string, date-time: Timestamp when the cursor expires.
  - `object` string: 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)
