---
title: BaseCartLine - Storefront API
description: >-
  Defines the shared fields for items in a shopping cart. Implemented by

  [`CartLine`](/docs/api/storefront/2026-10/objects/CartLine)

  for individual merchandise and
  [`ComponentizableCartLine`](/docs/api/storefront/2026-10/objects/ComponentizableCartLine)

  for grouped merchandise like bundles.


  Each implementation includes the merchandise being purchased, quantity, cost

  breakdown, applied discounts, custom attributes, and any associated
  [`SellingPlan`](/docs/api/storefront/2026-10/objects/SellingPlan).
api_version: 2026-10
source_url:
  html: 'https://shopify.dev/docs/api/storefront/latest/interfaces/BaseCartLine'
  md: 'https://shopify.dev/docs/api/storefront/latest/interfaces/BaseCartLine.md'
api_name: storefront
api_type: graphql
type: interface
---

# Base​Cart​Line

interface

Defines the shared fields for items in a shopping cart. Implemented by [`CartLine`](https://shopify.dev/docs/api/storefront/2026-10/objects/CartLine) for individual merchandise and [`ComponentizableCartLine`](https://shopify.dev/docs/api/storefront/2026-10/objects/ComponentizableCartLine) for grouped merchandise like bundles.

Each implementation includes the merchandise being purchased, quantity, cost breakdown, applied discounts, custom attributes, and any associated [`SellingPlan`](https://shopify.dev/docs/api/storefront/2026-10/objects/SellingPlan).

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

* merchandise

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

  non-null

  The merchandise that the buyer intends to purchase.

* 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

***

##### Variables

```json
{
	"attribute": {
		"key": ""
	},
	"attributes": "",
	"cost": "",
	"discountAllocations": [
		{
			"lineLevelOnly": ""
		}
	],
	"estimatedCost": "",
	"id": "",
	"merchandise": "",
	"quantity": "",
	"sellingPlanAllocation": "",
	"viewKey": ""
}
```

##### Schema

```graphql
interface BaseCartLine {
  attribute: Attribute
  attributes: [Attribute!]!
  cost: CartLineCost!
  discountAllocations: [CartDiscountAllocation!]!
  estimatedCost: CartLineEstimatedCost!
  id: ID!
  merchandise: Merchandise!
  quantity: Int!
  sellingPlanAllocation: SellingPlanAllocation
  viewKey: String
}
```
