---
title: SubscriptionContractCalculationContractUpdateInput - GraphQL Admin
description: >-
  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).
api_version: 2026-10
source_url:
  html: >-
    https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationContractUpdateInput
  md: >-
    https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationContractUpdateInput.md
api_name: admin
api_type: graphql
type: input-object
---

# Subscription​Contract​Calculation​Contract​Update​Input

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

## Fields

* app​Managed​Billing​Config

  [Subscription​Contract​Calculation​App​Managed​Billing​Config​Input](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationAppManagedBillingConfigInput)

  App-managed billing configuration for the contract. Replaces the existing configuration.

* billing​Policy

  [Subscription​Contract​Calculation​Billing​Policy​Input](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationBillingPolicyInput)

  The billing policy for the contract. Replaces the existing billing policy.

* custom​Attributes

  [\[Attribute​Input!\]](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/AttributeInput)

  The custom attributes for the contract. Replaces all existing attributes. To remove all attributes, provide an empty array (`[]`).

* delivery​Method

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

  The delivery method for the contract. Replaces the existing delivery method. Provide `none` to remove the delivery method. Provide `fetchAvailableDeliveryOptions` instead of a method to discover options for an address without changing the committed delivery method.

* delivery​Policy

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

  The delivery policy for the contract. Replaces the existing delivery policy.

* discount​Codes

  [\[Subscription​Contract​Calculation​Discount​Code​Input!\]!](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationDiscountCodeInput)

  requiredDefault:\[]

  The discount codes to apply during this calculation. Applied codes are resolved into manual discounts on the contract; discount codes aren't persisted as codes, so there's nothing to preserve or replace across calculations. Defaults to an empty array (apply no discount codes).

* lines

  [\[Subscription​Contract​Calculation​Line​Input!\]](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationLineInput)

  The subscription lines to set on the contract. Replaces all existing lines with the contents of this array. At least one line is required.

  * To update an existing line within the new set, include its `id`.
  * To add a new line, omit its `id`.

* manual​Discounts

  [\[Subscription​Contract​Calculation​Manual​Discount​Input!\]](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationManualDiscountInput)

  The manual order and delivery discounts to set on the contract. Replaces all existing manual discounts.

  * To update an existing discount within the new set, include its `id`.
  * To add a new discount, omit its `id`.
  * To remove all manual discounts, provide an empty array (`[]`).

* note

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

  The note for the contract. To remove the existing note, pass `null`.

* payment​Method

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

  The payment method for the contract. Replaces the existing payment method. Provide `none` to remove the payment method.

* with​Merchandise​Customizations

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

  non-null

  Specifies whether to use merchandise customizations in the calculation.

***

## Mutations using this input

* [subscription​Contract​Update​Calculate.contractUpdateInput](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionContractUpdateCalculate#arguments-contractUpdateInput)

  ARGUMENT

***

## Map

### Mutations using this input

* [subscription​Contract​Update​Calculate.contractUpdateInput](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionContractUpdateCalculate#arguments-contractUpdateInput)
