---
title: "List program members"
method: GET
path: "/v2/loyalties/programs/{programId}/members"
tags: ["Programs"]
---

# List program members

`GET /v2/loyalties/programs/{programId}/members`

<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 members of the program. Results can be filtered
by id, status, customer_id and created_at, and ordered by created_at, status or
customer_id (ascending or descending). The same field cannot be ordered both
ascending and descending at the same time.
Returns 404 when the program does not exist.

List items do not include the `cards` array - use the get-member endpoint to
retrieve a member with cards.

## Path parameters

- `programId` string, required

## Query parameters

- `limit` integer, nullable
- `order` union
  - string[]
  - '-created_at' | 'created_at' | 'status' | '-status' | 'customer_id' | '-customer_id'
- `cursor` string, nullable
- `filters` MemberListFilters — Filters for the members list. Each field accepts a `conditions` object; multiple field filters are combined with the `junction` (default AND).
  - `junction` 'AND' | 'OR', nullable — How multiple field filters are combined. Defaults to `AND`.
  - `id` MemberIdFilter — ID filter conditions for member 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[]
  - `status` MemberStatusFilter — Enum filter conditions for member status. Allowed values are `ACTIVE` and `INACTIVE`. At least one condition is required.
    - `conditions` object, required
      - `$is` union — Value equals. Single value or an array with exactly one value.
        - 'ACTIVE' | 'INACTIVE'
        - string[]
      - `$is_not` union — Value does not equal. Single value or an array with exactly one value.
        - 'ACTIVE' | 'INACTIVE'
        - string[]
      - `$in` union — Value is one of. Single value or an array of 1-10 values.
        - 'ACTIVE' | 'INACTIVE'
        - string[]
      - `$not_in` union — Value is not one of. Single value or an array of 1-10 values.
        - 'ACTIVE' | 'INACTIVE'
        - string[]
  - `customer_id` MemberCustomerIdFilter — ID filter conditions for customer 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, nullable — Field has a value (presence check).
      - `$is_unknown` string, nullable — Field has no value (absence check).

## Response `200`

Cursor-paginated list of members.

- MemberListResponse — Cursor-paginated list of members.
  - `data` Member[], required — Members on the current page (without the `cards` array).
    - `id` string, required — Unique member ID assigned by Voucherify.
    - `customer_id` string, required — Unique Voucherify ID of the customer enrolled as this member.
    - `program_id` string, required — Unique Voucherify ID of the loyalty program the member belongs to.
    - `status` 'ACTIVE' | 'INACTIVE' | 'DELETED', required — Current member status. `INACTIVE` member can't earn points or redeem rewards.
    - `metadata` object, required — Free-form metadata attached to the member (empty object when none).
    - `created_at` string, date-time, required — Timestamp when the member was created (ISO 8601).
    - `updated_at` string, date-time, nullable, required — Timestamp when the member was last updated (ISO 8601), or null if never updated.
    - `object` 'member', required — Object type marker, always `member`.
  - `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` 'list', 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.net/voucherifyio/apis/voucherify-loyalty-v2-api.md) · [All operations](https://skmtc.net/voucherifyio/apis/voucherify-loyalty-v2-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/voucherifyio/voucherify-loyalty-v2-api/versions/f6f2f3388362/schema)
