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

# Subscription​Contract​Calculation​Custom​Line​Input

input\_object

The input fields for custom 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. 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

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

  required

  The price of the custom line item. The amount must be greater than or equal to 0.

* quantity

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

  non-null

  The quantity of the custom line item. Must be at least 1.

* requires​Shipping

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

  non-null

  Whether this custom line requires shipping.

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

* sku

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

  The SKU of the custom line item.

* taxable

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

  non-null

  Whether this custom line is taxable.

* title

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

  non-null

  The title of the custom line item.

* variant​Title

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

  The title of the variant.

* weight

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

  The weight of the custom line item.

***

## Input objects using this input

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

  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​Line​Input.customLine](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionContractCalculationLineInput#fields-customLine)
