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

# Cancel membership contract

> Cancels a membership contract and sends cancellation confirmation emails. This endpoint terminates the recurring membership and processes all cancellation workflows.

**Cancellation Process:**
- **Contract Termination**: Marks membership as cancelled in Shopify
- **Billing Stop**: Prevents future billing attempts
- **Email Notification**: Sends cancellation confirmation to customer
- **Activity Logging**: Records cancellation event with source and feedback
- **Feedback Capture**: Optional cancellation reason for analytics

**Key Features:**
- **Immediate Cancellation**: Stops membership processing immediately
- **Feedback Collection**: Capture customer cancellation reasons
- **Automated Emails**: Customer receives cancellation confirmation
- **Activity Tracking**: Logs cancellation to activity history
- **Source Attribution**: Tracks whether cancellation came from customer portal or API

**Validation Checks:**
- **Contract Ownership**: Verifies contract belongs to authenticated shop
- **Minimum Cycles**: Checks if minimum billing cycles requirement is met (if configured)
- **Freeze Status**: Validates membership is not frozen
- **Existing Status**: Ensures contract is not already cancelled

**Email Notifications:**
- Sends cancellation confirmation to customer email
- Includes membership details and cancellation date
- Uses customizable email templates from shop settings

**Use Cases:**
- Allow customers to cancel from custom portals or mobile apps
- Bulk cancellation workflows via external systems
- Integration with customer service platforms
- Automated cancellation based on business rules
- Churn management and retention workflows

**Authentication:** Requires API key authentication via X-API-Key header or api_key parameter



## OpenAPI

````yaml /memberships/admin-api-swagger.json delete /api/external/v2/subscription-contracts/{id}
openapi: 3.0.1
info:
  description: >-
    Comprehensive API documentation for managing memberships, payments, and
    related operations. These APIs allow you to programmatically manage
    membership lifecycles, handle payments, configure products, and integrate
    membership functionality into your applications.
  title: Admin APIs
  version: 0.0.1
servers:
  - url: https://membership-admin.appstle.com
security: []
tags:
  - description: >-
      APIs for retrieving product swap/substitution options allowing members to
      exchange membership items based on configured swap rules and variant
      groups
    name: Product Swap Rules
  - description: >-
      APIs for managing customer payment methods, payment tokens, and payment
      method retrieval for memberships
    name: Customer Payment Methods
  - description: >-
      APIs for managing one-time product additions to upcoming membership
      orders, including adding, retrieving, and removing one-off items
    name: One-Time Add-Ons
  - description: >-
      APIs for managing membership contracts including creation, updates, status
      changes, line items, discounts, and billing operations
    name: Membership Contracts
  - description: >-
      APIs for retrieving historical discount code usage and redemption
      information for membership contracts
    name: Customer Discount History
  - description: >-
      APIs for managing customer portal settings including UI customization,
      text labels, feature toggles, and branding options for the member
      self-service portal
    name: Customer Portal Configuration
  - description: >-
      APIs for retrieving custom CSS styles applied to membership widgets and
      customer portal for theme customization
    name: Custom CSS Styling
  - description: >-
      APIs for managing membership cancellation flow settings including
      retention offers, survey questions, and cancel confirmation screens
    name: Cancellation Flow Configuration
  - description: >-
      APIs for managing membership billing attempts, recurring orders, payment
      retries, order history, and order skipping
    name: Billing & Orders
  - description: >-
      APIs for managing Shopify delivery profiles, shipping rates, zones, and
      free shipping configuration for membership memberships
    name: Shipping & Delivery Profiles
  - description: >-
      APIs for managing membership plan groups, including creating plans,
      configuring discounts, billing intervals, and assigning products to plans
    name: Membership Plans
  - description: >-
      APIs for retrieving product catalog, variants, pricing, and inventory
      information for memberships.
    name: Product & Inventory Data
  - description: >-
      APIs for managing shop-level membership settings, configuration, and
      general store information.
    name: Shop Settings
  - description: >-
      APIs for performing bulk/mass operations on multiple membership contracts
      including status updates, product replacements, and billing date changes.
    name: Bulk Operations
paths:
  /api/external/v2/subscription-contracts/{id}:
    delete:
      tags:
        - Membership Contracts
      summary: Cancel membership contract
      description: >-
        Cancels a membership contract and sends cancellation confirmation
        emails. This endpoint terminates the recurring membership and processes
        all cancellation workflows.


        **Cancellation Process:**

        - **Contract Termination**: Marks membership as cancelled in Shopify

        - **Billing Stop**: Prevents future billing attempts

        - **Email Notification**: Sends cancellation confirmation to customer

        - **Activity Logging**: Records cancellation event with source and
        feedback

        - **Feedback Capture**: Optional cancellation reason for analytics


        **Key Features:**

        - **Immediate Cancellation**: Stops membership processing immediately

        - **Feedback Collection**: Capture customer cancellation reasons

        - **Automated Emails**: Customer receives cancellation confirmation

        - **Activity Tracking**: Logs cancellation to activity history

        - **Source Attribution**: Tracks whether cancellation came from customer
        portal or API


        **Validation Checks:**

        - **Contract Ownership**: Verifies contract belongs to authenticated
        shop

        - **Minimum Cycles**: Checks if minimum billing cycles requirement is
        met (if configured)

        - **Freeze Status**: Validates membership is not frozen

        - **Existing Status**: Ensures contract is not already cancelled


        **Email Notifications:**

        - Sends cancellation confirmation to customer email

        - Includes membership details and cancellation date

        - Uses customizable email templates from shop settings


        **Use Cases:**

        - Allow customers to cancel from custom portals or mobile apps

        - Bulk cancellation workflows via external systems

        - Integration with customer service platforms

        - Automated cancellation based on business rules

        - Churn management and retention workflows


        **Authentication:** Requires API key authentication via X-API-Key header
        or api_key parameter
      operationId: deleteSubscriptionContractV2
      parameters:
        - description: Membership contract ID to cancel
          example: 123456789
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: API Key (Deprecated - Use Header X-API-Key instead)
          in: query
          name: api_key
          required: false
          schema:
            type: string
        - in: header
          name: X-API-Key
          required: false
          schema:
            type: string
        - description: Optional cancellation reason/feedback from customer
          example: Too expensive
          in: query
          name: cancellationFeedback
          required: false
          schema:
            type: string
      responses:
        '204':
          description: Membership successfully cancelled, confirmation email sent
        '400':
          content:
            application/json:
              example:
                detail: >-
                  This membership requires 3 minimum billing cycles before
                  cancellation
                errorKey: min_cycles_not_met
                status: 400
                title: Bad Request
          description: >-
            Cancellation not allowed (minimum cycles not met, contract frozen,
            etc.)
        '401':
          description: Authentication required - invalid or missing API key
        '404':
          description: Membership contract not found
        '500':
          description: Shopify API error or email sending failure

````