Product fields¶
Fields for a product sent through the Product API.
Required fields¶
| Field | Type | Notes |
|---|---|---|
external_id |
text, 1–255 | Your own stable id or SKU. Never change it, or you get copies. |
title |
text, up to 500 | What the shopper sees on the card. |
url |
http(s) address, up to 2048 |
The page the card links to. |
Optional fields¶
| Field | Type | Notes |
|---|---|---|
description |
text, up to 20,000 | Used for matching. |
brand |
text, up to 255 | |
product_type |
text, up to 255 | e.g. "Running shoes" |
tags |
list of text, up to 100 | Each tag is cut to 100 characters. |
price_min |
decimal as text, not negative | e.g. "2850.00". Two decimals. |
price_max |
decimal as text, not negative | Same as price_min for one price. Never below it. |
compare_at_min, compare_at_max |
decimal as text | The old, higher price, shown struck through. |
source_modified_at |
ISO 8601 | Your last-modified time. Older pushes never overwrite newer data. |
currency |
3 letters | e.g. BDT, USD. Lower case is accepted. |
in_stock |
true/false | true if you leave it out. |
inventory |
whole number, not negative | |
variants |
list of objects, up to 500 | {id, sku, size, color, price, compare_at_price, inventory, available}. See Variants. |
images |
list of http(s) addresses, up to 30 |
We link to them; we don't copy the files. |
Breaking a limit refuses the whole request with 422. See Product API.
Variants¶
| Field | Notes |
|---|---|
id |
Numeric variant id, used by add to cart. A Shopify gid://…/123 works. Non-numeric ids are ignored. |
sku |
Optional. |
size, color |
What the shopper picks. colour is read too. |
price |
Text, 0 to 100,000,000. |
compare_at_price |
Optional. The old, higher price. compareAtPrice is read too. |
inventory |
Units left. 0 or less means sold out. |
available |
false marks the variant sold out whatever inventory says. |
selectedOptions |
Optional [{name, value}] for other choices such as Fit, Material or Weight. |
A card shows up to 100 choices.