RetailLink

Object

Nested in API

variant

A sellable variant of a product.

Nested under product.variants. Holds pricing, identifiers, and on-hand inventory used by POS and storefront.

Exposure

Appears nested inside Merchant API responses (not a top-level route).

What

The variant object is the JSON / domain shape for this resource in RetailLink.

Why

Use these fields when integrating — not scraped Admin HTML — so sync jobs and apps stay stable across UI changes.

How

Read each property below — description first, then that property's Code / Data / Output (or type). Use the sticky example JSON on the right as a full fixture.

Properties

8 fields on variant. Types link to related objects when available. Snippets for a property appear under that property.

id

string

Unique variant id.

Type
id: string

title

string

Variant title. Default single-variant products use "Default Title".

Type
title: string

sku

string | null

Stock keeping unit. Auto-generated if omitted on create.

Type
sku: string | null

barcode

string | null

Barcode / GTIN scanned on the till.

Type
barcode: string | null

price

number

Unit price in the shop currency.

const price = variant.price;

compareAtPrice

number | null

Optional compare-at (was) price. Present on single-product fetches.

Type
compareAtPrice: number | null

inventoryQuantity

number

On-hand quantity for the variant (shop inventory model).

Type
inventoryQuantity: number

active

boolean

Whether the variant is active for sale. Present on single-product fetches.

Type
active: boolean