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

# Delete program member

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

Deletes the member and sets `status` to `DELETED`. Unassigns the member's loyalty cards in this program.

Returns the member without a `cards` array. Records a `vl.member.deleted` activity.

Returns `404` when the program or member does not exist, including when the member is already deleted.

## Response `200`

The deleted member (without cards).

- LoyaltiesProgramsMembersDeleteResponseBody — A loyalty program member.
  - `id` string, required — Identifies the member.
  - `customer_id` string, required — Identifies the enrolled customer.
  - `program_id` string, required — Identifies the loyalty program.
  - `status` 'ACTIVE' | 'INACTIVE' | 'DELETED', required — Current member status. Allowed values: `ACTIVE`, `INACTIVE`, `DELETED`. `INACTIVE` members cannot earn points or redeem rewards.
  - `metadata` object, required — Stores custom member metadata. Empty object when none is set.
  - `created_at` string, date-time, required — Records when the member was created (ISO 8601).
  - `updated_at` string, date-time, nullable, required — Records the last update (ISO 8601). `null` if the member has never been updated.
  - `object` 'member', required — Object type. Always `member`.

## Other responses

- `404` — Program or member not found. A second delete of the same member also returns `404`.
- `500` — Internal server error.

## Changes

- **2026-09-02** (v2) `c1cb60a29032` — 8 breaking, 3 info
  - removed the required property `created_at` from the response with the `200` status
  - removed the required property `customer_id` from the response with the `200` status
  - removed the required property `id` from the response with the `200` status
  - removed the required property `metadata` from the response with the `200` status
  - …7 more
- **2026-07-31** (v2) `e9b432b0cdf2` — 2 warning
  - deleted the `path` request parameter `memberId`
  - deleted the `path` request parameter `programId`
- **2026-07-17** (v2) `4cbaee5a82d5` — 8 info
  - added the optional property `resource_id` to the response with the `400` status
  - added the optional property `resource_id` to the response with the `404` status
  - added the optional property `resource_id` to the response with the `409` status
  - added the optional property `resource_id` to the response with the `500` status
  - …4 more
- **2026-07-06** (v2) `341403eb19e5` — 8 breaking, 4 warning, 14 info
  - added the pattern `^lmbr_[a-f0-9]+$` to the `path` request parameter `memberId`
  - added the pattern `^lprg_[a-f0-9]+$` to the `path` request parameter `programId`
  - the response property `code` became optional for the status `404`
  - the response property `code` became optional for the status `500`
  - …22 more

[Change history](https://skmtc.dev/voucherifyio/apis/voucherify-loyalty-v2-api/changes/v2/loyalties/programs/:programId/members/:memberId/delete.md)

---

[API](https://skmtc.dev/voucherifyio/apis/voucherify-loyalty-v2-api.md) · [All operations](https://skmtc.dev/voucherifyio/apis/voucherify-loyalty-v2-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/voucherifyio/voucherify-loyalty-v2-api/revisions/dbfaefa45f8b/schema)
