---
title: SubscriptionContractCalculationProductVariantLineInput - GraphQL Admin
description: The input fields for product variant subscription lines in the calculate API.
api_version: 2026-10
source_url:
  html: >-
    https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationProductVariantLineInput
  md: >-
    https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationProductVariantLineInput.md
api_name: admin
api_type: graphql
type: input-object
---

# Subscription​Contract​Calculation​Product​Variant​Line​Input

input\_object

The input fields for product variant subscription lines in the calculate API.

## Fields

* app​Managed​Pricing​Policy

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

  The app-managed pricing policy for this line, the calculate API equivalent of `pricingPolicy` on `SubscriptionLineInput`. It's stored as metadata and doesn't affect the calculated price. When omitted, the stored policy is cleared.

* custom​Attributes

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

  requiredDefault:\[]

  The custom attributes for this subscription line. Defaults to an empty list when omitted, which clears the line's stored attributes.

* discounts

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

  required

  The line-scoped manual discounts for this line. Each applies only to this line. You must state this list whenever you provide the line; pass an empty list to clear its discounts.

* id

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

  The ID of an existing line to update. Omit for new lines. The ID keeps the line's identity but doesn't carry over any stored values, so restate every field of the line.

* origin​Selling​Plan​Id

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

  The ID of the selling plan this line was originally created with. It's used to find the associated delivery profile, and isn't applied as a selling plan during calculation.

* price​Override

  [Money​Input](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/MoneyInput)

  The price per unit for this line, the calculate API equivalent of `currentPrice` on `SubscriptionLineInput`. The amount must be greater than or equal to 0. When omitted, the line is priced at the product variant's current price.

* product​Variant​Id

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

  non-null

  The ID of the product variant for this line.

* quantity

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

  non-null

  The quantity of the product variant. Must be at least 1.

* selling​Plan​Name

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

  The selling plan name for this line, describing the order line items it creates. Defaults to the origin selling plan's current name when not specified. When `originSellingPlanId` is also omitted, the line stores no name and order line items use a name built from the contract's billing and delivery policies.

***

## Input objects using this input

* [Subscription​Contract​Calculation​Component​Line​Input.productVariantLine](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationComponentLineInput#fields-productVariantLine)

  INPUT OBJECT

  The input fields for a single component of a parent line in the calculate API. This is a oneOf input: one, and only one, field can be provided.

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

  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.

***

## Map

### Input objects using this input

* [Subscription​Contract​Calculation​Component​Line​Input.productVariantLine](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationComponentLineInput#fields-productVariantLine)
* [Subscription​Contract​Calculation​Line​Input.productVariantLine](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationLineInput#fields-productVariantLine)
