Skip to content
Saleor
Esc
↑↓navigate↵open⌘Jpreview

Schema: Saleor 3.23.43Download SDLUpgrade guides

On this page

CheckoutLine Object

Represents an item in the checkout.

type CheckoutLine implements Node & ObjectWithMetadata {
  id: ID!
  privateMetadata: [MetadataItem!]!
  privateMetafield(key: String!): String
  privateMetafields(keys: [String!]): Metadata
  metadata: [MetadataItem!]!
  metafield(key: String!): String
  metafields(keys: [String!]): Metadata
  variant: ProductVariant!
  quantity: Int!
  unitPrice: TaxedMoney!
  undiscountedUnitPrice: Money!
  priorUnitPrice: Money
  totalPrice: TaxedMoney!
  undiscountedTotalPrice: Money!
  priorTotalPrice: Money
  requiresShipping: Boolean!
  problems: [CheckoutLineProblem!]
  isGift: Boolean
  priceOverrideReason: String
}

Interfaces

Node, ObjectWithMetadata

Fields

id

id · ID!

The ID of the checkout line.

privateMetadata

privateMetadata · [MetadataItem!]!

List of private metadata items. Requires staff permissions to access.

privateMetafield

privateMetafield · String

A single key from private metadata. Requires staff permissions to access.

Tip: Use GraphQL aliases to fetch multiple keys.

key

key · String!

privateMetafields

privateMetafields · Metadata

Private metadata. Requires staff permissions to access. Use keys to control which fields you want to include. The default is to include everything.

keys

keys · [String!]

metadata

metadata · [MetadataItem!]!

List of public metadata items. Can be accessed without permissions.

metafield

metafield · String

A single key from public metadata.

Tip: Use GraphQL aliases to fetch multiple keys.

key

key · String!

metafields

metafields · Metadata

Public metadata. Use keys to control which fields you want to include. The default is to include everything.

keys

keys · [String!]

variant

variant · ProductVariant!

The product variant from which the checkout line was created.

quantity

quantity · Int!

The quantity of product variant assigned to the checkout line.

unitPrice

unitPrice · TaxedMoney!

The unit price of the checkout line, with taxes and discounts.

Triggers the following webhook events:

  • CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired.

Applied directives

@webhookEventsInfo(asyncEvents: [], syncEvents: [CHECKOUT_CALCULATE_TAXES])

undiscountedUnitPrice

undiscountedUnitPrice · Money!

The unit price of the checkout line, without discounts.

priorUnitPrice

priorUnitPrice · Money

The unit price of the checkout line prior to promotion.

totalPrice

totalPrice · TaxedMoney!

The sum of the checkout line price, taxes and discounts.

Triggers the following webhook events:

  • CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired.

Applied directives

@webhookEventsInfo(asyncEvents: [], syncEvents: [CHECKOUT_CALCULATE_TAXES])

undiscountedTotalPrice

undiscountedTotalPrice · Money!

The sum of the checkout line price, without discounts.

priorTotalPrice

priorTotalPrice · Money

The sum of the checkout line price prior to promotion.

requiresShipping

requiresShipping · Boolean!

Indicates whether the item need to be delivered.

problems

problems · [CheckoutLineProblem!]

List of problems with the checkout line.

isGift

isGift · Boolean

Determine if the line is a gift.

priceOverrideReason

priceOverrideReason · String

Reason explaining why a custom price was set on the line, provided by the app that set the price override.

Added in Saleor 3.23
Requires one of the following permissions:MANAGE_CHECKOUTSHANDLE_CHECKOUTS

Used by


Schema: Saleor 3.23.43. Download SDL.

Last updated on August 10, 2026

Was this page helpful?