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

# Skip the next upcoming order for a subscription

> Skips the next scheduled billing attempt for a subscription contract without requiring the billing attempt ID. Automatically finds and skips the earliest QUEUED billing attempt.

**Convenience Feature:**
- No need to know the specific billing attempt ID
- Automatically finds the next order
- Ideal for "skip next order" functionality in customer portals

**Use Cases:**
- Simple "skip next delivery" button in customer portal
- Quick skip without looking up billing attempt details
- One-click skip functionality

**Authentication:** Requires valid X-API-Key header



## OpenAPI

````yaml /subscription/storefront-api-swagger.json put /subscriptions/cp/api/subscription-billing-attempts/skip-upcoming-order
openapi: 3.0.1
info:
  description: >-
    Comprehensive API documentation for the customer-facing subscription portal.
    These APIs enable customers to manage their subscriptions, update billing
    information, modify delivery schedules, and access their account details
    through your storefront.


    **Important**: These APIs must be called from your shop's domain (e.g.,
    https://www.myshop.com/apps/subscriptions/cp/api/**) and require customer
    authentication. Unauthenticated requests will return a 401 Unauthorized
    error.
  title: Storefront APIs
  version: 0.0.1
servers:
  - url: https://www.myshop.com/apps
security: []
tags:
  - description: >-
      Core customer portal APIs for managing customer account settings,
      authentication, and portal configurations.
    name: Customer Portal
  - description: >-
      APIs for customers to view and manage their subscription contracts
      including status updates, frequency changes, and cancellations.
    name: Subscription Management
  - description: >-
      APIs for retrieving and updating subscription contract details — delivery
      schedules, line items, addresses, billing cycles.
    name: Subscription Contracts
  - description: >-
      APIs for retrieving available subscription plans and selling plan
      configurations exposed to customers.
    name: Subscription Plans
  - description: >-
      APIs for managing one-time add-on products that can be purchased alongside
      recurring subscription items.
    name: Subscription One-Time Products
  - description: >-
      APIs for retrieving aggregated subscription data and account-level
      subscription information for the signed-in customer.
    name: Subscription Data
  - description: >-
      APIs for managing customizable product boxes and bundles where customers
      can select multiple items.
    name: Build-a-Box & Bundles
  - description: >-
      APIs for managing payment methods, billing information, and processing
      subscription payments.
    name: Billing & Payments
  - description: >-
      APIs for retrieving product information, selling plans, variant data, and
      subscription-enabled products available to customers.
    name: Product Catalog
  - description: >-
      APIs for managing delivery schedules, shipping addresses, delivery
      methods, and tracking order status.
    name: Delivery & Shipping
  - description: >-
      APIs for handling subscription cancellations, retention activities, and
      customer feedback management.
    name: Customer Retention
  - description: >-
      APIs for integrating loyalty programs with subscriptions including points
      redemption and earning options.
    name: Loyalty Integration
  - description: >-
      APIs for accessing portal customization settings, translations, and theme
      configurations.
    name: Customization
  - description: >-
      APIs for retrieving promotional campaigns shown in the customer portal,
      tracking banner engagement, and redeeming campaign offers.
    name: Campaigns
  - description: >-
      APIs for local pickup and click-and-collect — listing pickup locations and
      resolving eligible pickup dates and time slots.
    name: Store Pickup
paths:
  /subscriptions/cp/api/subscription-billing-attempts/skip-upcoming-order:
    put:
      tags:
        - Billing & Payments
      summary: Skip the next upcoming order for a subscription
      description: >-
        Skips the next scheduled billing attempt for a subscription contract
        without requiring the billing attempt ID. Automatically finds and skips
        the earliest QUEUED billing attempt.


        **Convenience Feature:**

        - No need to know the specific billing attempt ID

        - Automatically finds the next order

        - Ideal for "skip next order" functionality in customer portals


        **Use Cases:**

        - Simple "skip next delivery" button in customer portal

        - Quick skip without looking up billing attempt details

        - One-click skip functionality


        **Authentication:** Requires valid X-API-Key header
      operationId: skipFirstUpcomingOrder
      parameters:
        - in: query
          name: subscriptionContractId
          required: false
          schema:
            format: int64
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionBillingAttemptDTO'
          description: Next order successfully skipped
        '400':
          content:
            application/json:
              example:
                detail: No queued billing attempts found for this subscription
                status: 400
                title: No upcoming orders
                type: https://example.com/errors/bad-request
          description: No queued billing attempts found
        '401':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/SubscriptionBillingAttemptDTO'
          description: Authentication required
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/SubscriptionBillingAttemptDTO'
          description: Insufficient permissions
components:
  schemas:
    SubscriptionBillingAttemptDTO:
      properties:
        applyUsageCharge:
          type: boolean
        attemptCount:
          format: int32
          type: integer
        attemptTime:
          format: date-time
          type: string
        billingAttemptId:
          type: string
        billingAttemptResponseMessage:
          type: string
        billingDate:
          format: date-time
          type: string
        contractId:
          format: int64
          type: integer
        graphOrderId:
          type: string
        id:
          format: int64
          type: integer
        inventorySkippedAttemptCount:
          format: int32
          type: integer
        inventorySkippedRetryingNeeded:
          type: boolean
        lastShippingUpdatedAt:
          format: date-time
          type: string
        orderAmount:
          format: double
          type: number
        orderAmountContractCurrency:
          format: double
          type: number
        orderAmountShopCurrency:
          format: double
          type: number
        orderAmountUSD:
          format: double
          type: number
        orderAttributes:
          items:
            $ref: '#/components/schemas/AttributeInfo'
          type: array
        orderCancelReason:
          enum:
            - CUSTOMER
            - DECLINED
            - FRAUD
            - INVENTORY
            - STAFF
            - OTHER
            - $UNKNOWN
          type: string
        orderCancelledAt:
          format: date-time
          type: string
        orderClosed:
          type: boolean
        orderClosedAt:
          format: date-time
          type: string
        orderConfirmed:
          type: boolean
        orderDisplayFinancialStatus:
          enum:
            - PENDING
            - AUTHORIZED
            - PARTIALLY_PAID
            - PARTIALLY_REFUNDED
            - VOIDED
            - PAID
            - REFUNDED
            - EXPIRED
            - $UNKNOWN
          type: string
        orderDisplayFulfillmentStatus:
          enum:
            - UNFULFILLED
            - PARTIALLY_FULFILLED
            - FULFILLED
            - RESTOCKED
            - PENDING_FULFILLMENT
            - OPEN
            - IN_PROGRESS
            - ON_HOLD
            - SCHEDULED
            - REQUEST_DECLINED
            - $UNKNOWN
          type: string
        orderId:
          format: int64
          type: integer
        orderName:
          type: string
        orderNote:
          type: string
        orderProcessedAt:
          format: date-time
          type: string
        partialLinesSkipped:
          enum:
            - INVENTORY_MANAGEMENT
            - MANUAL
          type: string
        progressAttemptCount:
          format: int32
          type: integer
        recurringChargeId:
          format: int64
          type: integer
        retryingNeeded:
          type: boolean
        securityChallengeSentStatus:
          enum:
            - SENT
            - UNSENT
            - FAILED
            - EMAIL_SETTINGS_DISABLED
            - CONTRACT_CANCELLED
          type: string
        shop:
          type: string
        status:
          enum:
            - SUCCESS
            - FAILURE
            - REQUESTING
            - PROGRESS
            - QUEUED
            - SKIPPED
            - SOCIAL_CONNECTION_NULL
            - CONTRACT_CANCELLED
            - CONTRACT_ENDED
            - CONTRACT_PAUSED
            - AUTO_CHARGE_DISABLED
            - SHOPIFY_EXCEPTION
            - SKIPPED_DUNNING_MGMT
            - SKIPPED_INVENTORY_MGMT
            - IMMEDIATE_TRIGGERED
            - SECURITY_CHALLENGE
            - CONTRACT_PAUSED_MAX_CYCLES
            - REFUNDED
            - SKIPPED_DEMO_SHOP
            - SKIPPED_SHOP_INFO_NOT_FOUND
            - SKIPPED_BILLING_DATE_STALE
            - SKIPPED_DUNNING_NOT_CONFIGURED
            - PENDING_CONSOLIDATION
          type: string
        transactionFailedEmailSentStatus:
          enum:
            - SENT
            - UNSENT
            - FAILED
            - EMAIL_SETTINGS_DISABLED
            - CUSTOMER_PAYMENT_EMPTY
            - CONTRACT_CANCELLED
          type: string
        transactionFailedSmsSentStatus:
          enum:
            - SENT
            - UNSENT
            - FAILED
            - SMS_SETTINGS_DISABLED
            - CUSTOMER_PAYMENT_EMPTY
            - CONTRACT_CANCELLED
            - PHONE_NUMBER_EMPTY
          type: string
        transactionRate:
          format: double
          type: number
        upcomingOrderEmailSentStatus:
          enum:
            - SENT
            - UNSENT
            - FAILED
            - EMAIL_SETTINGS_DISABLED
            - CUSTOMER_PAYMENT_EMPTY
            - CONTRACT_CANCELLED
            - STOP_FROM_CONTRACT
            - CONTRACT_PAUSED
          type: string
        upcomingOrderSmsSentStatus:
          enum:
            - SENT
            - UNSENT
            - FAILED
            - SMS_SETTINGS_DISABLED
            - CUSTOMER_PAYMENT_EMPTY
            - CONTRACT_CANCELLED
            - STOP_FROM_CONTRACT
            - CONTRACT_PAUSED
            - PHONE_NUMBER_EMPTY
          type: string
        usageChargeStatus:
          enum:
            - SUCCESS
            - FAILED
            - TO_BE_TRIED
          type: string
        variantList:
          items:
            $ref: '#/components/schemas/VariantQuantity'
          type: array
      required:
        - retryingNeeded
        - shop
      type: object
    AttributeInfo:
      properties:
        key:
          type: string
        value:
          type: string
      type: object
    VariantQuantity:
      properties:
        image:
          type: string
        productId:
          type: string
        productTitle:
          type: string
        quantity:
          format: int32
          type: integer
        swapId:
          format: int64
          type: integer
        title:
          type: string
        variantId:
          format: int64
          type: integer
        variantTitle:
          type: string
      type: object

````