---
title: SubscriptionContractCalculationLineInput - GraphQL Admin
description: |-
  The input fields for subscription lines used for contract calculation.
  This is a oneOf input: one, and only one, field can be provided.
api_version: 2026-10
source_url:
  html: >-
    https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationLineInput
  md: >-
    https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationLineInput.md
api_name: admin
api_type: graphql
type: input-object
---

# Subscription​Contract​Calculation​Line​Input

input\_object

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

## Fields

* custom​Line

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

  Input for a custom line.

* product​Variant​Line

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

  Input for a product variant line.

* product​Variant​Parent​Line

  [Subscription​Contract​Calculation​Product​Variant​Parent​Line​Input](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationProductVariantParentLineInput)

  Input for a product variant bundle parent line.

***

## Input objects using this input

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

  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.lines](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationContractCreateInput#fields-lines)

  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.lines](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationContractUpdateInput#fields-lines)

  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.lines](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationBillingCycleEditInput#fields-lines)
* [Subscription​Contract​Calculation​Contract​Create​Input.lines](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationContractCreateInput#fields-lines)
* [Subscription​Contract​Calculation​Contract​Update​Input.lines](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationContractUpdateInput#fields-lines)
