OptionalattributesWhich attributes to return in each product's attributes[].
(omitted) none — the default on every LIST endpoint "all" all of them "code1,code2" only those codes
Lists ship no attributes unless asked. The array runs to several kilobytes per product on a catalogue with dozens of attributes each, and most callers render none of it. Name the codes your card actually displays; the response is narrowed server-side.
Single-product endpoints (ProductsResource.getBySku, getByHandle, getVariantGroup)
ignore this and always return everything — answering that is their whole purpose.
OptionalcampaignOptionalcategoryCategory handle. Preferred over categoryId on a category page — the API
resolves it server-side in parallel with the rest of the query, so the
caller does not need a separate lookup first.
OptionalcategoryCategory id. Note the singular: the API does not read a categories param.
OptionalhasOptionalinOptionalisOptionallimitOptionalpageOptionalqOptionalqueryFree-text search query
OptionalsortOptionalvariantsHow many sibling variants to return per product, as product.variants.
(omitted) or 0 none — the default 4 up to four, cheapest first
10 clamped to 10 server-side
Opt-in because siblings are the heaviest thing a list carries after attributes. The scalar
variantCount is always present, so a "+12 more" badge needs no siblings at all — ask for these
only when you render a swatch row.
Filter attributes as key=value pairs (e.g. f.color=red)