Get a product
Returns the whole product document in one call: codes, tags (with names), suppliers (with supplier_name), variant_options, variant_attributes, and components. There are no separate sub-resource reads for any of these.
-
variant_attributesis populated on a variant parent and empty everywhere else;variant_optionsis the child side, populated only on a variant child. -
supplierscarries the link’s ownidas well assupplier_id, and neversupply_price: supplier cost is not exposed through this API. -
versionmoves when any part of the document changes, including when an attached tag or supplier is itself renamed. -
404 NOT_FOUND: the id is foreign, unknown, or deleted.
Requires scope: catalog:read
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Get a product
object
object
object
object
The retail price. Integer minor units (cents).
Live supplier links for this product. Never carries supply_price; use the admin UI or an export for cost data.
object
This supplier link’s own id, not the supplier’s id. Distinct from supplier_id below.
Whether this is the product’s primary supplier.
This retailer’s own code for the product at this supplier, if set.
The linked supplier’s id.
The supplier name as of this document.
Tags attached to this product, with names.
object
The tag’s own id, usable to reference it elsewhere.
The tag name as of this document.
Present on a variant parent product; empty on a variant child or an ordinary product.
object
The variant attribute’s id. A variant child’s variant_options reference it as attribute_id.
The attribute name, for example Size or Colour.
Display order among this product’s variant attributes.
object
Opaque delta-sync version. Increases with every change to this document: its own fields, and the addition, removal, or edit of a code, tag link, supplier link, variant option, variant attribute, or component, including when an attached tag or supplier is itself renamed. Use it to detect updates.
Examplegenerated
{ "data": { "active": true, "brand_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "category_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "codes": [ { "code": "example", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "type": "example" } ], "components": [ { "product_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "quantity": 1 } ], "created_at": "2026-04-15T12:00:00Z", "description": "example", "dimension_unit": "example", "has_inventory": true, "has_variants": true, "height": 1, "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "image_thumb_url": "example", "image_url": "example", "is_composite": true, "is_gift_card": true, "length": 1, "loyalty_amount": 1, "name": "example", "purchase_account_code": "example", "retail_price": 1, "sales_account_code": "example", "sku": "example", "suppliers": [ { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "is_primary": true, "supplier_code": "example", "supplier_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "supplier_name": "example" } ], "tags": [ { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "name": "example" } ], "updated_at": "2026-04-15T12:00:00Z", "variant_attributes": [ { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "name": "example", "position": 1 } ], "variant_options": [ { "attribute_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "attribute_name": "example", "value": "example" } ], "variant_parent_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "version": "example", "weight": 1, "weight_unit": "example", "width": 1 }}default
Section titled “default”An error response.
object
object
A machine-readable error code, e.g. VALIDATION_FAILED.
object
A plain-English sentence describing what went wrong.
Example
{ "error": { "code": "UNAUTHORIZED" }}