OrderLine
interface OrderLine {
id: number;
image: string;
is_upsell: boolean;
price_excl_tax: string;
price_excl_tax_excl_discounts: string;
price_incl_tax: string;
price_incl_tax_excl_discounts: string;
product_sku: string;
product_title: string;
product_description?: string;
variant_title?: string;
quantity: number;
product_id?: number | null;
variant_id?: number | null;
metadata?: Record<string, unknown> | null;
properties?: OrderLineProperty[] | null;
}Source: api.ts:274
One line on a placed Order — a package the customer bought, at the price they were charged for it.
Money fields are decimal strings in the order's currency. The *_excl_discounts pair is the price before discounts, so price_incl_tax_excl_discounts - price_incl_tax is what this line saved.
Properties
id: number
The line's id on the order. Use it to tell two lines of the same package apart.
image: string
Product image URL for the line, for showing on a receipt.
is_upsell: boolean
true when this line was added after checkout by a post-purchase upsell, false for the original purchase.
price_excl_tax: string
What this line was charged, before tax and after discounts.
price_excl_tax_excl_discounts: string
What this line would have cost before tax with no discounts applied.
price_incl_tax: string
What this line was charged, tax included and after discounts.
price_incl_tax_excl_discounts: string
What this line would have cost with tax and no discounts applied.
product_sku: string
SKU of the purchased variant.
product_title: string
Product name to display on the line.
product_description: string
Longer product description, when the catalog has one.
variant_title: string
The variant the customer chose (e.g. "Large / Blue"), when the product has variants.
quantity: number
Units bought on this line.
product_id: number | null
Catalog id of the product this line belongs to. null when the API has no catalog product for the line. The SDK does not read this field today — declared because the orders API sends it on every line.
variant_id: number | null
Catalog id of the specific variant purchased (size, color, and similar choices). null when the product has no variants, or the line predates variant tracking. The SDK does not read this field today — declared because the orders API sends it on every line.
metadata: Record<string, unknown> | null
Arbitrary key-value data attached to the line at checkout — internal keys the platform uses for its own bookkeeping, filtered out before this response is sent. null or absent when nothing was attached. The SDK does not read this field today — declared because the orders API sends it on every line.
properties: OrderLineProperty[] | null
Customer-facing custom values collected for this line at checkout — a gift note or an engraving, for example — as an ordered list rather than the metadata dictionary. null or empty when none were collected. The SDK does not read this field today — declared because the orders API sends it on every line.