---
title: "Get customer memberships"
method: GET
path: "/v2/loyalties/memberships/{customerId}"
tags: ["Programs"]
---

# Get customer memberships

`GET /v2/loyalties/memberships/{customerId}`

<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 all loyalty memberships for a customer across programs, including the resolved customer identity and each membership's member, program, and cards. Use `identification_type` to choose how the `customerId` path value is interpreted.

Returns an empty `memberships` array when the customer exists but has no memberships. Returns `404` when the customer or member cannot be resolved.

## Query parameters

- `identification_type` 'customer_id' | 'customer_source_id' | 'member_id'

## Response `200`

Customer memberships across programs.

- MembershipsResult — Cross-program memberships result for a customer.
  - `customer` MembershipsCustomer, required — Customer identity returned by the cross-program memberships endpoint.
    - `id` string, required — Unique Voucherify customer identifier.
    - `source_id` string, nullable, required — Customer `source_id`, or `null` when not set.
    - `object` 'customer', required — Object type marker. Always `customer`.
  - `memberships` MembershipWithoutTierProgress[], required — Memberships across all loyalty programs the customer belongs to. Empty when the customer has no memberships.
    - `member` Member, required — 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`.
    - `program` ProgramSimple, required — A loyalty program in its simple representation, as embedded in membership responses.
      - `id` string, required — Unique program identifier.
      - `name` string, required — Program name.
      - `status` 'DRAFT' | 'ACTIVE' | 'INACTIVE' | 'DELETED', required — Program status.
      - `metadata` object, required — User-defined key-value metadata. Defaults to `{}`.
      - `object` 'program', required — Object type marker. Always `program`.
    - `cards` MemberCard[], required — Member's loyalty cards for the program. Card codes are generated asynchronously, so `card.code` may be `null` right after member creation. Tier progress is not included on this endpoint.
      - `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`.
    - `object` 'membership', required — Object type marker, always `membership`.
  - `object` 'memberships_result', required — Object type marker. Always `memberships_result`.

## 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.
- `500` — Unexpected 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)
