Models

The Product object

Every field of the Product object — types, required flags and validation rules.

Product

FieldTypeDescription
idstringe.g. prod_66a1f09b2
objectstringalways product
titlestring · nullablee.g. Vintage denim jacket
descriptionstring · nullable
brandstring · nullable
categorystring · nullableSeller's own product category / collection label (free text; channel categories live on the listing).
short_descriptionstring · nullable
vat_ratenumber · nullableVAT percentage applied to this product
mpnstring · nullableManufacturer part number.
weightobjectProduct-level shipping weight.
weight.valuestring · nullableDecimal number as a string.
weight.unitstring · nullableone of: oz, lb, g, kg, null
dimensionsobjectPackage dimensions.
dimensions.lengthstring · nullable
dimensions.widthstring · nullable
dimensions.heightstring · nullable
dimensions.unitstring · nullableone of: in, ft, yd, mm, cm, m, null
tagsarray of string
currencystringISO-4217; echo of the store base currency.
statusProductStatusNew values may be added; tolerate unknowns. — one of: ready, listed, archived, sold_out, error, ongoing
sync_statusstringRollup of the listings' statuses. — one of: ok, pending, error
imagesarray of Image
variantsarray of Variant
listingsarray of ListingSummaryRead-only summary; the canonical resource is GET /listings?product_id=.
created_atstringISO 8601
updated_atstringISO 8601

Variant

FieldTypeDescription
idstringe.g. var_66a1f1
objectstringalways variant
skustring · nullablee.g. VDJ-M-001
titlestring · nullable
pricestring (money)Decimal string, 2 decimals. e.g. 19.90
msrpobjectCompare-at / list price, shown struck-through on channels that support it.
quantityinteger
barcodestring · nullable
gramsnumber · nullableVariant weight in grams (used for shipping on supported channels).
asinstring · nullableAmazon ASIN
imagesarray of objectVariant-specific images, referencing the product's images.
images[].image_idstringe.g. img_66a1f2
images[].urlstring · nullableuri
images[].positioninteger
optionsobjectOption name → value (e.g. {"Color": "Red", "Size": "M"}).

Image

FieldTypeDescription
idstringe.g. img_ph1x8
objectstringalways image
urlstringuri
altstring · nullable
positionintegerZero-based; equals array index.

Request models

What you send when creating or updating. Anything not listed is rejected.

ProductCreate

FieldTypeRequiredDescription
titlestringrequiredmax 255 chars
descriptionstringoptional
brandstringoptional
tagsarray of stringoptional
imagesarray of ImageInputoptionalmax 20 items
variantsarray of VariantInputoptionalOmit for a single-variant product (top-level price/quantity/sku instead). When variants carry options, they must cover EVERY combination of the option values (dense matrix) — channels generate the full matrix, so sparse sets are rejected with 422. Variant titles are built automatically from the option values. — max 100 items
pricestring (money)optionalDecimal string, 2 decimals. e.g. 19.90
msrpstring (money)optionalDecimal string, 2 decimals. e.g. 19.90
quantityintegeroptionalmin 0
skustringoptional
gramsnumberoptionalmin 0
categorystringoptionalmax 255 chars
short_descriptionstringoptional
vat_ratenumberoptionalmin 0
mpnstringoptionalmax 70 chars
weightobjectoptional
weight.valuestringoptionalDecimal number as a string
weight.unitstringoptionalone of: oz, lb, g, kg
dimensionsobjectoptional
dimensions.lengthstringoptional
dimensions.widthstringoptional
dimensions.heightstringoptional
dimensions.unitstringoptionalone of: in, ft, yd, mm, cm, m

ProductUpdate

FieldTypeRequiredDescription
titlestringoptionalmax 255 chars
descriptionstringoptional
brandstringoptional
categorystringoptionalmax 255 chars
short_descriptionstringoptional
vat_ratenumberoptionalmin 0
mpnstringoptionalmax 70 chars
weightobjectoptional
weight.valuestringoptionalDecimal number as a string
weight.unitstringoptionalone of: oz, lb, g, kg
dimensionsobjectoptional
dimensions.lengthstringoptional
dimensions.widthstringoptional
dimensions.heightstringoptional
dimensions.unitstringoptionalone of: in, ft, yd, mm, cm, m
tagsarray of stringoptional
imagesarray of ImageInputoptionalDesired state, id-keyed diff — see endpoint description. — max 20 items
expected_updated_atstringoptionalOptimistic-concurrency precondition; 412 on mismatch. — ISO 8601

VariantInput

FieldTypeRequiredDescription
skustringoptional
titlestringoptional
pricestring (money)optionalDecimal string, 2 decimals. e.g. 19.90
msrpstring (money)optionalDecimal string, 2 decimals. e.g. 19.90
quantityintegeroptionalmin 0
barcodestringoptional
gramsnumberoptionalVariant weight in grams. — min 0
asinstringoptionalmax 20 chars
optionsobjectoptional

ImageInput

One of url or base64 for new images; pass id alone to keep an existing image.

FieldTypeRequiredDescription
idstringoptionalExisting image id (keeps it untouched).
urlstringoptionalPublicly fetchable image URL. — uri
base64stringoptionalBase64-encoded image (max 10 MB).
altstringoptional

Last updated on July 30, 2026

Need help?

The API is in private beta — email us and a human replies, usually within one business day.

On this page