---
title: SubscriptionContractCalculationDeliveryMethodInput - GraphQL Admin
description: >-
  The input fields for delivery used during a contract calculation.

  This is a oneOf input: one, and only one, field can be provided.


  Provide `shipping`, `localDelivery`, or `pickup` to set the committed delivery
  method.

  Provide `none` to explicitly set no delivery method (digital-only
  subscriptions).

  Provide `fetchAvailableDeliveryOptions` to discover the available delivery
  options for an

  address without changing the contract's committed delivery method. The
  resulting calculation

  can't be committed. Create a new calculation with the chosen delivery method,
  then commit it.
api_version: 2026-10
source_url:
  html: >-
    https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationDeliveryMethodInput
  md: >-
    https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationDeliveryMethodInput.md
api_name: admin
api_type: graphql
type: input-object
---

# Subscription​Contract​Calculation​Delivery​Method​Input

input\_object

The input fields for delivery used during a contract calculation. This is a oneOf input: one, and only one, field can be provided.

Provide `shipping`, `localDelivery`, or `pickup` to set the committed delivery method. Provide `none` to explicitly set no delivery method (digital-only subscriptions). Provide `fetchAvailableDeliveryOptions` to discover the available delivery options for an address without changing the contract's committed delivery method. The resulting calculation can't be committed. Create a new calculation with the chosen delivery method, then commit it.

## Fields

* fetch​Available​Delivery​Options

  [Subscription​Contract​Calculation​Fetch​Delivery​Options​Input](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationFetchDeliveryOptionsInput)

  Discover the available delivery options for an address without changing the contract's committed delivery method. The resulting calculation can't be committed. Create a new calculation with the chosen delivery method, then commit it. Mutually exclusive with setting a delivery method.

* local​Delivery

  [Subscription​Contract​Calculation​Delivery​Method​Local​Delivery​Input](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationDeliveryMethodLocalDeliveryInput)

  The input fields for the local delivery method.

* none

  [Boolean](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Boolean)

  Explicitly set no delivery method (digital-only subscriptions). Must be `true`.

* pickup

  [Subscription​Contract​Calculation​Delivery​Method​Pickup​Input](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationDeliveryMethodPickupInput)

  The input fields for the pickup delivery method.

* shipping

  [Subscription​Contract​Calculation​Delivery​Method​Shipping​Input](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationDeliveryMethodShippingInput)

  The input fields for the shipping delivery method.

***

## Input objects using this input

* [Subscription​Contract​Calculation​Billing​Cycle​Edit​Input.deliveryMethod](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationBillingCycleEditInput#fields-deliveryMethod)

  INPUT OBJECT

  The input fields for editing a subscription contract for a single billing cycle, used for contract calculation. Any field provided will update or replace the corresponding value for the targeted cycle. Fields that are omitted will be left unchanged. Contract-level attributes such as billing policy, delivery policy, and payment method cannot be changed by a billing cycle edit.

* [Subscription​Contract​Calculation​Contract​Create​Input.deliveryMethod](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationContractCreateInput#fields-deliveryMethod)

  INPUT OBJECT

  The input fields for calculating a new subscription contract. Provide the complete desired state of the contract. The contract isn't created until you commit the calculation with the [`subscriptionContractCalculationCommit`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionContractCalculationCommit) mutation.

  Learn how to [build a subscription contract](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/contracts/build-a-subscription-contract).

* [Subscription​Contract​Calculation​Contract​Update​Input.deliveryMethod](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationContractUpdateInput#fields-deliveryMethod)

  INPUT OBJECT

  The input fields for calculating changes to an existing subscription contract. Each field you provide replaces the corresponding value on the contract, and omitted fields remain unchanged. For list fields, provide the complete replacement list, including the `id` of each existing item that you want to keep.

  Learn how to [update a subscription contract](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/contracts/update-a-subscription-contract).

***

## Map

### Input objects using this input

* [Subscription​Contract​Calculation​Billing​Cycle​Edit​Input.deliveryMethod](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationBillingCycleEditInput#fields-deliveryMethod)
* [Subscription​Contract​Calculation​Contract​Create​Input.deliveryMethod](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationContractCreateInput#fields-deliveryMethod)
* [Subscription​Contract​Calculation​Contract​Update​Input.deliveryMethod](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationContractUpdateInput#fields-deliveryMethod)
