---
title: CartLine - Storefront API
description: >-
  An item in a customer's

  [`Cart`](/docs/api/storefront/2026-07/objects/Cart)

  representing a product variant they intend to purchase. Each cart line tracks

  the merchandise, quantity, cost breakdown, and any applied discounts.


  Cart lines can include custom attributes for additional information like gift

  wrapping requests, and can be associated with a
  [`SellingPlanAllocation`](/docs/api/storefront/2026-07/objects/SellingPlanAllocation)

  for purchase options like subscriptions, pre-orders, or try-before-you-buy.
  The
  [`instructions`](/docs/api/storefront/2026-07/objects/CartLine#field-CartLine.fields.instructions)

  field indicates whether the line can be removed or have its quantity updated.
api_version: 2026-07
source_url:
  html: 'https://shopify.dev/docs/api/storefront/latest/objects/CartLine'
  md: 'https://shopify.dev/docs/api/storefront/latest/objects/CartLine.md'
api_name: storefront
api_type: graphql
type: object
---

# Cart​Line

object

An item in a customer's [`Cart`](https://shopify.dev/docs/api/storefront/2026-07/objects/Cart) representing a product variant they intend to purchase. Each cart line tracks the merchandise, quantity, cost breakdown, and any applied discounts.

Cart lines can include custom attributes for additional information like gift wrapping requests, and can be associated with a [`SellingPlanAllocation`](https://shopify.dev/docs/api/storefront/2026-07/objects/SellingPlanAllocation) for purchase options like subscriptions, pre-orders, or try-before-you-buy. The [`instructions`](https://shopify.dev/docs/api/storefront/2026-07/objects/CartLine#field-CartLine.fields.instructions) field indicates whether the line can be removed or have its quantity updated.

## Fields

* attribute

  [Attribute](https://shopify.dev/docs/api/storefront/latest/objects/Attribute)

  An attribute associated with the cart line.

  * key

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

    required

    ### Arguments

    The key of the attribute.

  ***

* attributes

  [\[Attribute!\]!](https://shopify.dev/docs/api/storefront/latest/objects/Attribute)

  non-null

  The attributes associated with the cart line. Attributes are represented as key-value pairs.

* cost

  [Cart​Line​Cost!](https://shopify.dev/docs/api/storefront/latest/objects/CartLineCost)

  non-null

  The cost of the merchandise that the buyer will pay for at checkout. The costs are subject to change and changes will be reflected at checkout.

* discount​Allocations

  [\[Cart​Discount​Allocation!\]!](https://shopify.dev/docs/api/storefront/latest/interfaces/CartDiscountAllocation)

  non-null

  The discounts that have been applied to the cart line.

  * line​Level​Only

    [Boolean](https://shopify.dev/docs/api/storefront/latest/scalars/Boolean)

    Default:true

    ### Arguments

    When true, returns only line-level (product) discount allocations. When false, returns all discount allocations including order-level discounts.

  ***

* id

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

  non-null

  A globally-unique ID.

* instructions

  [Cart​Line​Instructions!](https://shopify.dev/docs/api/storefront/latest/objects/CartLineInstructions)

  non-null

  The instructions for the line item.

* merchandise

  [Merchandise!](https://shopify.dev/docs/api/storefront/latest/unions/Merchandise)

  non-null

  The merchandise that the buyer intends to purchase.

* parent​Relationship

  [Cart​Line​Parent​Relationship](https://shopify.dev/docs/api/storefront/latest/objects/CartLineParentRelationship)

  The parent of the line item.

* quantity

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

  non-null

  The quantity of the merchandise that the customer intends to purchase.

* selling​Plan​Allocation

  [Selling​Plan​Allocation](https://shopify.dev/docs/api/storefront/latest/objects/SellingPlanAllocation)

  The selling plan associated with the cart line and the effect that each selling plan has on variants when they're purchased.

* view​Key

  [String](https://shopify.dev/docs/api/storefront/latest/scalars/String)

  A stable identifier for the line matching the value exposed in Liquid via the `view_key` filter and accepted as input on `cartLinesUpdate` and `cartLinesRemove`.

* estimated​Cost

  [Cart​Line​Estimated​Cost!](https://shopify.dev/docs/api/storefront/latest/objects/CartLineEstimatedCost)

  non-nullDeprecated

***

## Map

### Fields with this object

* [CartLineParentRelationship.parent](https://shopify.dev/docs/api/storefront/latest/objects/CartLineParentRelationship#field-CartLineParentRelationship.fields.parent)
* [ComponentizableCartLine.lineComponents](https://shopify.dev/docs/api/storefront/latest/objects/ComponentizableCartLine#field-ComponentizableCartLine.fields.lineComponents)

***

## Interfaces

* * [Base​Cart​Line](https://shopify.dev/docs/api/storefront/latest/interfaces/BaseCartLine)

    interface

  * [Node](https://shopify.dev/docs/api/storefront/latest/interfaces/Node)

    interface

***

## CartLine Implements

### Implements

* [Base​Cart​Line](https://shopify.dev/docs/api/storefront/latest/interfaces/BaseCartLine)
* [Node](https://shopify.dev/docs/api/storefront/latest/interfaces/Node)
