> ## 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/subscription contract

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

**Cancellation Process:**
- **Contract Termination**: Marks subscription 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 subscription 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 subscription is not frozen
- **Existing Status**: Ensures contract is not already cancelled

**Email Notifications:**
- Sends cancellation confirmation to customer email
- Includes subscription 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 managing Shopify delivery profiles, shipping rates, zones, and
      free shipping configuration for subscription memberships
    name: Shipping & Delivery Profiles
  - description: >-
      APIs for retrieving historical discount code usage and redemption
      information for membership contracts
    name: Customer Discount History
  - 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 one-time product additions to upcoming subscription
      orders, including adding, retrieving, and removing one-off items
    name: One-Time Add-Ons
  - description: >-
      APIs for managing membership/subscription plan groups, including creating
      plans, configuring discounts, billing intervals, and assigning products to
      plans
    name: Membership Plans
  - description: >-
      APIs for managing subscription product bundles, bundle configurations,
      item grouping, and bundle-specific discount codes
    name: Product Bundles
  - description: >-
      APIs for retrieving custom CSS styles applied to subscription widgets and
      customer portal for theme customization
    name: Custom CSS Styling
  - 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 managing membership/subscription contracts including creation,
      updates, status changes, line items, discounts, and billing operations
    name: Membership Contracts
  - description: >-
      APIs for managing subscription bundle configuration settings including
      bundle behavior, pricing rules, and display options
    name: Bundle Settings
  - description: >-
      APIs for managing customer payment methods, payment tokens, and payment
      method retrieval for subscriptions
    name: Customer Payment Methods
  - description: >-
      APIs for retrieving product swap/substitution options allowing members to
      exchange subscription items based on configured swap rules and variant
      groups
    name: Product Swap Rules
  - description: >-
      APIs for retrieving product catalog, variants, pricing, and inventory
      information for subscription 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/subscription contract
      description: >-
        Cancels a membership/subscription contract and sends cancellation
        confirmation emails. This endpoint terminates the recurring subscription
        and processes all cancellation workflows.


        **Cancellation Process:**

        - **Contract Termination**: Marks subscription 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 subscription 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 subscription is not frozen

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


        **Email Notifications:**

        - Sends cancellation confirmation to customer email

        - Includes subscription 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: Subscription 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: Subscription contract not found
        '500':
          description: Shopify API error or email sending failure

````