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

# Get program member

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

<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 a single member of the program together with all its loyalty cards.
Each card includes the current balance, lifetime bucket counters, and next
expiration/activation info.

Card `code` may be `null` shortly after member creation because card code
generation is asynchronous.

Returns `404` when the program or member does not exist.

## Response `200`

The member with its cards.

- MemberWithCards — A loyalty program member.
  - `id` string, required — Unique member ID.
  - `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`.
  - `cards` MemberCard[], required — Member's loyalty cards - one per card definition assigned to the program. Card codes are generated asynchronously, so `card.code` may be `null` right after member creation.
    - `member_role` 'OWNER' | 'MEMBER', required — Role of the member on this card. Currently, loyalty program members can have only the `OWNER` role.
    - `created_at` string, date-time, required — Timestamp when the card was assigned to the member (ISO 8601).
    - `card` CardSimple, required — A loyalty card in its simple representation, as embedded in member responses.
      - `id` string, required — Unique Voucherify ID of the card.
      - `card_definition_id` string, required — Unique Voucherify ID of the card definition the card was created from.
      - `card_type` 'INDIVIDUAL', required — Card type. Currently only `INDIVIDUAL` is supported.
      - `code` string, nullable, required — Human-readable card code. Card code generation is asynchronous - this field is `null` right after member creation and is populated shortly after, once the background code generation completes.
      - `lifetime_bucket` CardLifetimeBucket, required — Lifetime points counters of a card.
        - `points` CardLifetimeBucketPoints, required — Lifetime counters of regular points. All counters default to 0. The available balance is calculated as: `total` - `subtracted` - `expired` - `spent` - `refunded` + `returned` - `locked` + `unlocked` - `purchased_reversed`.
          - `total` number, required — Total accumulated points, including points added manually, earned by fulfilling earning rules and activated from pending points (excluding returned points).
          - `earned` number, required — Total points earned by fulfilling earning rules (does not include activated pending points or points added manually).
          - `added` number, required — Total manually added points.
          - `purchased` number, required — Total points purchased via a `LOYALTY_CARD_POINTS` reward (credited to the target card).
          - `purchased_reversed` number, required — Total purchased points reversed via reward refund.
          - `subtracted` number, required — Total manually subtracted points.
          - `expired` number, required — Total expired points.
          - `spent` number, required — Total points spent on rewards.
          - `refunded` number, required — Total refunded points (points that were earned by products which were later returned).
          - `returned` number, required — Total returned points (by returning a purchased reward).
          - `locked` number, required — Total locked points (by locking a purchased reward).
          - `unlocked` number, required — Total unlocked points (by unlocking a purchased reward).
        - `pending_points` CardLifetimeBucketPendingPoints, required — Lifetime counters of pending points. The available pending balance is max(`total` - `activated` - `canceled`, 0).
          - `total` number, required — Total pending points ever added.
          - `activated` number, required — Total pending points activated into regular points.
          - `canceled` number, required — Total pending points canceled.
      - `balance` CardBalance, required — Current available balance of a card.
        - `points` number, required — Currently available regular points.
        - `pending_points` number, required — Currently pending (not yet activated) points.
      - `next_expiration` CardNextExpiration, required — The nearest upcoming points expiration on a card.
        - `points` number, required — Number of points that will expire.
        - `date` string, date, required — Date when the points expire (`YYYY-MM-DD`).
      - `next_activation` CardNextActivation, required — The nearest upcoming pending points activation on a card. For the `EVENT_BASED` type, `date` is omitted and `cancel_date` is returned instead; for other types `date` is returned and `cancel_date` is omitted.
        - `points` number, required — Number of pending points to be activated.
        - `type` 'IMMEDIATE' | 'PERIOD_BASED' | 'FIXED_DATES' | 'EVENT_BASED', required — Pending points activation type from the card definition.
        - `date` string, date — Activation date (`YYYY-MM-DD`). Present for all types except `EVENT_BASED`.
        - `cancel_date` string, date — Date when the pending points are canceled if the activating event does not occur (`YYYY-MM-DD`). Present only for the `EVENT_BASED` type.
      - `object` 'card', required — Object type marker, always `card`.
    - `object` 'member_card', required — Object type marker, always `member_card`.

## Other responses

- `404` — Resource not found. Returns `Cannot find member with id <member_id>` even if the program ID is incorrect, but the member ID is correct.
- `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/revisions/69be73b5cff0/schema)
