> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voucherify.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Deactivate program member

> Moves the member to `INACTIVE` status and records a `vl.member.deactivated` activity. No request body.

Returns `404` when the program or member does not exist. Returns `400` (`invalid_state_transition`) when the member cannot be deactivated from its current status.



## OpenAPI

````yaml /openapi/loyalties-v2.json post /v2/loyalties/programs/{programId}/members/{memberId}/deactivate
openapi: 3.1.0
info:
  title: Voucherify Loyalty v2 API
  version: 2.0.0
  description: >-
    Complete OpenAPI specification for the Voucherify Loyalty v2 API.

    All endpoints require the LOYALTY_V2 feature flag.


    Combined from per-domain specs: programs.yaml, members.yaml,
    program-operations.yaml, card-definitions.yaml, earning-rules.yaml,
    tier-structures.yaml, benefits.yaml, rewards.yaml, examine.yaml
servers:
  - url: '{protocol}://{host}'
    variables:
      protocol:
        default: https
        enum:
          - https
          - http
      host:
        default: api.voucherify.io
security:
  - X-App-Id: []
    X-App-Token: []
  - bearerAuth: []
tags:
  - name: Programs
    description: >-
      Loyalty program CRUD, lifecycle management, program-scoped resource
      assignments (card definitions, earning rules, rewards, tier structures),
      member management (create, list, get, update, activate, deactivate,
      delete), membership retrieval (member + program + cards with tier
      progress, by customer ID, customer source ID, or member ID), card
      operations (points adjustment, pending points, expiring points,
      transactions), reward purchases, and activity history.
  - name: Card definitions
    description: >-
      CRUD operations, lifecycle management, and activity history for card
      definitions. Card definitions describe the configuration for loyalty
      cards, including code generation, points expiration, earning/spending
      limits, pending points, refunds, and balance settings.
  - name: Earning rules
    description: >-
      Manage earning rules that define how customers earn points or receive
      incentives based on triggers (events, segments, custom events). Includes
      CRUD, lifecycle, and activity history.
  - name: Tier structures
    description: >-
      CRUD operations, lifecycle management, and activity history for tier
      structures. Includes nested tier definitions (create, list, update,
      delete) within tier structures. Tier structures define the tiering model
      for loyalty programs — how members qualify for and move between tiers.
  - name: Benefits
    description: >-
      Manage benefit definitions (fixed points, proportional points, material,
      digital). Includes CRUD, lifecycle transitions, and activity history.
  - name: Rewards
    description: >-
      CRUD, lifecycle operations, and activity history for reward definitions.
      Rewards can be material (product/SKU) or digital (discount coupons, gift
      vouchers).
  - name: Examine
    description: >-
      Evaluation endpoints that estimate earning opportunities and reward
      availability for a customer across their loyalty program memberships,
      without side effects.
paths:
  /v2/loyalties/programs/{programId}/members/{memberId}/deactivate:
    parameters:
      - name: programId
        in: path
        required: true
        description: >-
          Identifies the loyalty program. Unique identifier in `lprg_[a-f0-9]+`
          format.
        schema:
          type: string
          pattern: ^lprg_[a-f0-9]+$
      - name: memberId
        in: path
        required: true
        description: Identifies the member. Unique identifier in `lmbr_[a-f0-9]+` format.
        schema:
          type: string
          pattern: ^lmbr_[a-f0-9]+$
    post:
      tags:
        - Programs
      summary: Deactivate program member
      description: >-
        Moves the member to `INACTIVE` status and records a
        `vl.member.deactivated` activity. No request body.


        Returns `404` when the program or member does not exist. Returns `400`
        (`invalid_state_transition`) when the member cannot be deactivated from
        its current status.
      operationId: deactivateProgramMember
      responses:
        '200':
          description: The deactivated member, without cards. Status is always `INACTIVE`.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/LoyaltiesProgramsMembersDeactivateResponseBody
              examples:
                Deactivated active member:
                  value:
                    id: lmbr_128f962dbc8c4ba5dc
                    customer_id: cust_6onRrs4kCnvSVrTs5YtDPFBG
                    program_id: lprg_128f58429f4c4bf7b2
                    status: INACTIVE
                    metadata: {}
                    created_at: '2026-06-11T15:59:41.298Z'
                    updated_at: '2026-09-02T17:17:24.129Z'
                    object: member
        '400':
          description: >-
            Invalid state transition. Member cannot be deactivated from its
            current status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Deactivate inactive member:
                  value:
                    code: 400
                    key: invalid_state_transition
                    message: Invalid state transition
                    details: >-
                      Cannot deactivate member 'lmbr_128f962dbc8c4ba5dc' from
                      current state: 'INACTIVE'
                    request_id: v-12fa842a736406741d
        '404':
          description: Resource (program or member) not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Member not found:
                  value:
                    code: 404
                    key: not_found
                    message: Resource not found
                    details: Cannot find member with id lmbr_128f96dbc8c4ba5dc
                    request_id: v-12fa7be05741a8148b
                    resource_id: lmbr_128f96dbc8c4ba5dc
                    resource_type: member
                Program not found:
                  value:
                    code: 404
                    key: not_found
                    message: Resource not found
                    details: Cannot find program with id lprg_128f58429f4cbf7b2
                    request_id: v-12fa7bb9c8240663c4
                    resource_id: lprg_128f58429f4cbf7b2
                    resource_type: program
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    LoyaltiesProgramsMembersDeactivateResponseBody:
      title: Loyalties Programs Members Deactivate Response Body
      type: object
      description: >-
        Response body schema for **POST**
        `/v2/loyalties/programs/{programId}/members/{memberId}/deactivate`. On
        success, `status` is always `INACTIVE`.
      allOf:
        - $ref: '#/components/schemas/Member'
    ErrorResponse:
      type: object
      description: Standard error response returned by all Loyalty v2 endpoints.
      properties:
        code:
          type: integer
          description: HTTP status code of the error.
        key:
          type: string
          description: Machine-readable error key.
        message:
          type: string
          description: Human-readable error message.
        details:
          type: string
          description: Additional details about the error.
        request_id:
          type: string
          description: Unique identifier of the request that produced the error.
        resource_id:
          type: string
          description: Unique identifier of the resource that produced the error.
        resource_type:
          type: string
          description: Type of the resource that produced the error.
    Member:
      type: object
      description: A loyalty program member.
      properties:
        id:
          type: string
          pattern: ^lmbr_[a-f0-9]+$
          description: Identifies the member.
        customer_id:
          type: string
          pattern: ^cust_[a-zA-Z0-9]+
          description: Identifies the enrolled customer.
        program_id:
          type: string
          pattern: ^lprg_[a-f0-9]+$
          description: Identifies the loyalty program.
        status:
          type: string
          enum:
            - ACTIVE
            - INACTIVE
            - DELETED
          description: >-
            Current member status. Allowed values: `ACTIVE`, `INACTIVE`,
            `DELETED`. `INACTIVE` members cannot earn points or redeem rewards.
        metadata:
          type: object
          description: Stores custom member metadata. Empty object when none is set.
        created_at:
          type: string
          format: date-time
          description: Records when the member was created (ISO 8601).
        updated_at:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Records the last update (ISO 8601). `null` if the member has never
            been updated.
        object:
          type: string
          const: member
          description: Object type. Always `member`.
      required:
        - id
        - customer_id
        - program_id
        - status
        - metadata
        - created_at
        - updated_at
        - object
  securitySchemes:
    X-App-Id:
      type: apiKey
      name: X-App-Id
      in: header
    X-App-Token:
      type: apiKey
      name: X-App-Token
      in: header
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````