> ## 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.

# Update subscription contract status (pause/resume/activate)

> Changes the status of a subscription contract. This allows pausing, resuming, or activating subscriptions to control billing and delivery.

**Key Features:**
- **Pause Subscriptions**: Temporarily stop billing and deliveries
- **Resume Subscriptions**: Reactivate paused subscriptions
- **Activate Subscriptions**: Start inactive subscriptions
- **Activity Logging**: All status changes are logged for audit trail
- **Customer Restrictions**: Includes minimum cycle checks when called from customer portal

**Status Values:**
- **ACTIVE**: Subscription is active and billing/delivering normally
- **PAUSED**: Subscription is temporarily paused (no billing, no deliveries)
- **CANCELLED**: Subscription is cancelled (use DELETE endpoint instead)

**Pause vs. Cancel:**
- **Pause**: Temporary hold, customer can resume anytime
- **Cancel**: Permanent termination, requires creating new subscription to restart

**Common Use Cases:**
- **Vacation Hold**: Customer going on vacation, pause deliveries temporarily
- **Financial Pause**: Customer needs temporary break from payments
- **Product Surplus**: Customer has too much product, pause until they use it
- **Seasonal Pause**: Pause subscriptions during off-season (e.g., lawn care in winter)
- **Resume After Pause**: Customer ready to restart after temporary hold
- **Reactivate Failed**: Reactivate subscription after payment method updated

**Pause Behavior:**
- **Billing Paused**: No charges while paused
- **Deliveries Paused**: No orders created while paused
- **Next Billing Date**: Preserved or recalculated on resume (merchant setting)
- **Unlimited Duration**: Pauses can be indefinite unless merchant sets limits

**Resume Behavior:**
- **Immediate Reactivation**: Subscription becomes active immediately
- **Next Billing Date**: Calculated based on pause duration settings
- **Deliveries Resume**: Next delivery scheduled according to interval

**Customer Portal Restrictions:**
When called from customer portal (vs. merchant API):
- **Minimum Cycles**: Cannot pause/cancel until minimum billing cycles met
- **Freeze Period**: Updates may be frozen until minimum requirements satisfied
- **Retention Rules**: Special retention discounts may be offered on cancellation

**Important Notes:**
- **Customer Communication**: Consider sending email notifications on status changes
- **Billing Cycles Not Lost**: Paused cycles don't count toward minimums
- **No Pro-rata**: No refunds or credits when pausing mid-cycle

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



## OpenAPI

````yaml /memberships/admin-api-swagger.json put /api/external/v2/subscription-contracts-update-status
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-update-status:
    put:
      tags:
        - Membership Contracts
      summary: Update subscription contract status (pause/resume/activate)
      description: >-
        Changes the status of a subscription contract. This allows pausing,
        resuming, or activating subscriptions to control billing and delivery.


        **Key Features:**

        - **Pause Subscriptions**: Temporarily stop billing and deliveries

        - **Resume Subscriptions**: Reactivate paused subscriptions

        - **Activate Subscriptions**: Start inactive subscriptions

        - **Activity Logging**: All status changes are logged for audit trail

        - **Customer Restrictions**: Includes minimum cycle checks when called
        from customer portal


        **Status Values:**

        - **ACTIVE**: Subscription is active and billing/delivering normally

        - **PAUSED**: Subscription is temporarily paused (no billing, no
        deliveries)

        - **CANCELLED**: Subscription is cancelled (use DELETE endpoint instead)


        **Pause vs. Cancel:**

        - **Pause**: Temporary hold, customer can resume anytime

        - **Cancel**: Permanent termination, requires creating new subscription
        to restart


        **Common Use Cases:**

        - **Vacation Hold**: Customer going on vacation, pause deliveries
        temporarily

        - **Financial Pause**: Customer needs temporary break from payments

        - **Product Surplus**: Customer has too much product, pause until they
        use it

        - **Seasonal Pause**: Pause subscriptions during off-season (e.g., lawn
        care in winter)

        - **Resume After Pause**: Customer ready to restart after temporary hold

        - **Reactivate Failed**: Reactivate subscription after payment method
        updated


        **Pause Behavior:**

        - **Billing Paused**: No charges while paused

        - **Deliveries Paused**: No orders created while paused

        - **Next Billing Date**: Preserved or recalculated on resume (merchant
        setting)

        - **Unlimited Duration**: Pauses can be indefinite unless merchant sets
        limits


        **Resume Behavior:**

        - **Immediate Reactivation**: Subscription becomes active immediately

        - **Next Billing Date**: Calculated based on pause duration settings

        - **Deliveries Resume**: Next delivery scheduled according to interval


        **Customer Portal Restrictions:**

        When called from customer portal (vs. merchant API):

        - **Minimum Cycles**: Cannot pause/cancel until minimum billing cycles
        met

        - **Freeze Period**: Updates may be frozen until minimum requirements
        satisfied

        - **Retention Rules**: Special retention discounts may be offered on
        cancellation


        **Important Notes:**

        - **Customer Communication**: Consider sending email notifications on
        status changes

        - **Billing Cycles Not Lost**: Paused cycles don't count toward minimums

        - **No Pro-rata**: No refunds or credits when pausing mid-cycle


        **Authentication:** Requires API key authentication via X-API-Key header
        or api_key parameter
      operationId: updateStatusV2
      parameters:
        - description: Subscription contract ID
          example: 12345
          in: query
          name: contractId
          required: true
          schema:
            format: int64
            type: integer
        - description: New subscription status
          example: PAUSED
          in: query
          name: status
          required: true
          schema:
            enum:
              - ACTIVE
              - PAUSED
            type: string
        - 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
      responses:
        '204':
          description: Subscription status successfully updated (no content returned)
        '400':
          content:
            application/json:
              example:
                detail: Invalid subscription status
                status: 400
                title: Bad Request
          description: Invalid status value or validation failed
        '401':
          description: Authentication required - invalid or missing API key
        '403':
          content:
            application/json:
              example:
                detail: >-
                  Cannot pause subscription until minimum billing cycles
                  completed
                status: 403
                title: Forbidden
          description: Action forbidden - minimum billing cycles not met or updates frozen
        '404':
          description: Subscription contract not found
        '500':
          description: Shopify API error during status update

````