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

# Turn custom delivery price on or off for a subscription contract

> Sets the "Use Custom Delivery Price" option (`allowDeliveryPriceOverride`) for a subscription contract.
This is the same checkbox shown in the Delivery Information section of the subscription in the merchant portal.

- **true**: The contract keeps its current delivery price. Automatic shipping price syncs from your Shopify
  shipping settings are skipped for this contract. Use this together with
  `PUT /api/external/v2/subscription-contracts-update-delivery-price` to keep a manually set price.
- **false**: The delivery price syncs with your Shopify shipping settings again. When the option is turned off,
  the delivery price is recalculated from your Shopify shipping rates in the background (unless automatic
  shipping price calculation is turned off in your shop settings).

Sending the value the contract already has makes no changes.

Authentication is enforced via the X-API-Key header (the 'api_key' parameter is deprecated).




## OpenAPI

````yaml /subscription/admin-api-swagger.json put /api/external/v2/subscription-contracts-update-delivery-price-override
openapi: 3.0.1
info:
  description: >-
    Comprehensive API documentation for managing subscriptions, payments, and
    related operations. These APIs allow you to programmatically manage
    subscription lifecycles, handle payments, configure products, and integrate
    subscription functionality into your applications.
  title: Admin APIs
  version: 0.0.1
servers:
  - url: https://subscription-admin.appstle.com
security: []
tags:
  - description: >-
      Core APIs for managing the complete subscription lifecycle including
      creation, updates, pausing, resuming, and cancellation of subscriptions.
    name: Subscription Management
  - description: >-
      APIs for managing subscription payment methods, processing payments,
      handling payment retries, and updating billing information.
    name: Subscription Payments
  - description: >-
      APIs for managing subscription contracts including delivery schedules,
      pricing, order notes, billing cycles, and shipping addresses.
    name: Subscription Contracts
  - description: >-
      APIs for managing products within subscriptions including adding,
      removing, updating quantities, and swapping products.
    name: Subscription Products
  - description: >-
      APIs for handling billing operations, payment processing, and financial
      transactions related to subscriptions.
    name: Billing & Payments
  - description: >-
      APIs for managing discounts and promotional codes applied to
      subscriptions.
    name: Subscription Discounts
  - 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 managing subscription plans, pricing tiers, and plan
      configurations.
    name: Subscription Plans
  - description: >-
      APIs for managing customizable product boxes and bundles where customers
      can select multiple items.
    name: Build-a-Box & Bundles
  - description: >-
      APIs for managing the product catalog including product information,
      variants, and inventory.
    name: Product Catalog
  - description: >-
      APIs for managing operational settings, configurations, and administrative
      functions.
    name: Operations & Settings
  - description: >-
      APIs powering the customer-facing portal where subscribers can manage
      their own subscriptions.
    name: Customer Portal
  - description: APIs for managing customer information, profiles, and account details.
    name: Customers
  - description: >-
      APIs for retrieving aggregated subscription data, customer subscription
      history, and account-level subscription information.
    name: Subscription Data
  - description: >-
      APIs for managing delivery profiles, shipping rates, free shipping
      configuration, and delivery method options on subscriptions.
    name: Delivery & Shipping
  - description: >-
      APIs for managing storefront customization including custom CSS, theme
      settings, label translations, and merchant-defined widget configuration.
    name: Customization
  - description: >-
      APIs for configuring cancellation flows, retention offers, cancellation
      reason management, and win-back automation.
    name: Customer Retention
paths:
  /api/external/v2/subscription-contracts-update-delivery-price-override:
    put:
      tags:
        - Subscription Management
        - Subscription Contracts
      summary: Turn custom delivery price on or off for a subscription contract
      description: >
        Sets the "Use Custom Delivery Price" option
        (`allowDeliveryPriceOverride`) for a subscription contract.

        This is the same checkbox shown in the Delivery Information section of
        the subscription in the merchant portal.


        - **true**: The contract keeps its current delivery price. Automatic
        shipping price syncs from your Shopify
          shipping settings are skipped for this contract. Use this together with
          `PUT /api/external/v2/subscription-contracts-update-delivery-price` to keep a manually set price.
        - **false**: The delivery price syncs with your Shopify shipping
        settings again. When the option is turned off,
          the delivery price is recalculated from your Shopify shipping rates in the background (unless automatic
          shipping price calculation is turned off in your shop settings).

        Sending the value the contract already has makes no changes.


        Authentication is enforced via the X-API-Key header (the 'api_key'
        parameter is deprecated).
      operationId: updateDeliveryPriceOverrideV2
      parameters:
        - description: Contract ID
          example: 123456789
          in: query
          name: contractId
          required: true
          schema:
            format: int64
            type: integer
        - description: >-
            Use Custom Delivery Price. true keeps the contract's current
            delivery price and skips automatic shipping price syncs; false syncs
            the delivery price with your Shopify shipping settings again.
          example: true
          in: query
          name: allowDeliveryPriceOverride
          required: true
          schema:
            type: boolean
        - 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:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionContractDetailsDTO'
          description: >-
            Custom delivery price option updated. Returns the subscription
            contract details, including allowDeliveryPriceOverride.
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/SubscriptionContractDetailsDTO'
          description: Invalid contract ID or the contract does not belong to this shop
        '401':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/SubscriptionContractDetailsDTO'
          description: Authentication required
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/SubscriptionContractDetailsDTO'
          description: Insufficient permissions to update the subscription contract
components:
  schemas:
    SubscriptionContractDetailsDTO:
      properties:
        activatedOn:
          format: date-time
          type: string
        allowDeliveryAddressOverride:
          type: boolean
        allowDeliveryPriceOverride:
          type: boolean
        autoCharge:
          type: boolean
        billingCountryCode:
          type: string
        billingDateAfterTrial:
          format: date-time
          type: string
        billingPolicyInterval:
          type: string
        billingPolicyIntervalCount:
          format: int32
          type: integer
        cancellationFeedback:
          type: string
        cancellationNote:
          type: string
        cancelledOn:
          format: date-time
          type: string
        contractAmount:
          format: double
          type: number
        contractAmountUSD:
          format: double
          type: number
        contractDetailsJSON:
          type: string
        createdAt:
          format: date-time
          type: string
        currencyCode:
          type: string
        customerEmail:
          type: string
        customerFirstName:
          type: string
        customerId:
          format: int64
          type: integer
        customerLastName:
          type: string
        customerName:
          type: string
        customerTag:
          type: string
        deletedVariantIds:
          type: string
        deliveryCountryCode:
          type: string
        deliveryPolicyInterval:
          type: string
        deliveryPolicyIntervalCount:
          format: int32
          type: integer
        disableFixEmptyQueue:
          type: boolean
        emailBouncedOrFailed:
          type: boolean
        endsAt:
          format: date-time
          type: string
        graphCustomerId:
          type: string
        graphOrderId:
          type: string
        graphSubscriptionContractId:
          type: string
        id:
          format: int64
          type: integer
        importedId:
          type: string
        lastSuccessfulOrder:
          type: string
        lifetimeValue:
          format: double
          type: number
        lifetimeValueUSD:
          format: double
          type: number
        maxCycles:
          format: int32
          type: integer
        minCycles:
          format: int32
          type: integer
        nextBillingDate:
          format: date-time
          type: string
        nextPaidBillingDate:
          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
        orderId:
          format: int64
          type: integer
        orderName:
          type: string
        orderNote:
          type: string
        orderNoteAttributes:
          type: string
        originType:
          enum:
            - STORE_FRONT
            - IMPORTED
            - SPLIT_ATTEMPT_BILLING
            - SPLIT_CONTRACT
          type: string
        originalContractId:
          format: int64
          type: integer
        pauseDurationCycle:
          format: int32
          type: integer
        pauseFeedback:
          type: string
        pauseReason:
          type: string
        pauseTillDate:
          format: date-time
          type: string
        pausedFromActive:
          type: boolean
        pausedOn:
          format: date-time
          type: string
        pendingCancellationCycle:
          format: int32
          type: integer
        pendingCancellationDate:
          format: date-time
          type: string
        phone:
          type: string
        queueUpdatedAt:
          format: date-time
          type: string
        shop:
          type: string
        skipPaymentCreateUnpaidOrder:
          type: boolean
        startsAt:
          format: date-time
          type: string
        status:
          type: string
        stopUpComingOrderEmail:
          type: boolean
        subscriptionContractId:
          format: int64
          type: integer
        subscriptionCreatedEmailSent:
          type: boolean
        subscriptionCreatedEmailSentStatus:
          enum:
            - SENT
            - UNSENT
            - FAILED
            - EMAIL_SETTINGS_DISABLED
            - CUSTOMER_PAYMENT_EMPTY
            - CONTRACT_PAUSED_STATUS
          type: string
        subscriptionCreatedSmsSentStatus:
          enum:
            - SENT
            - UNSENT
            - FAILED
            - SMS_SETTINGS_DISABLED
            - CUSTOMER_PAYMENT_EMPTY
            - CONTRACT_PAUSED_STATUS
            - PHONE_NUMBER_EMPTY
          type: string
        subscriptionType:
          enum:
            - REGULAR_SUBSCRIPTION
            - BUILD_A_BOX_CLASSIC
            - BUILD_A_BOX_SINGLE_PRODUCT
            - BUNDLING_CLASSIC
            - BUNDLING_MIX_AND_MATCH
            - SECTIONED_BUNDLE
            - VOLUME_DISCOUNT
          type: string
        subscriptionTypeIdentifier:
          type: string
        totalSuccessfulOrders:
          format: int32
          type: integer
        upcomingEmailBufferDays:
          format: int32
          type: integer
        upcomingEmailTaskUrl:
          type: string
        updatedAt:
          format: date-time
          type: string
        updatingQueue:
          type: boolean
      required:
        - shop
      type: object

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.