Update a Catalog product
Attaches or detaches product-only Shared Attributes atomically with their values. Omitted existing extensions are preserved; only remove_attribute_extension_ids detaches them.
Usage notes
attributesis a sparse merge. Omitted existing values remain unchanged.- Send
expected_updated_atfrom your latest read to protect against stale writes. attribute_extension_idsattaches product-only Attributes. Omitting it or sending an empty array preserves existing extensions.- Only
remove_attribute_extension_idsdetaches extensions. Detaching also removes their stored values or Relation links atomically. - You cannot detach an Attribute owned by the base Product Schema.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
Sparse values are merged with the current public Attribute values.
Active Shared Attribute UUIDs to attach. Existing product-only Attributes are preserved when this field is omitted or empty.
2000Product-only Shared Attribute UUIDs to detach. Their product values or Relation links are removed atomically; base-schema Attributes cannot be removed here.
2000Response
Catalog product updated.
manual, product_extraction, shopify draft, active, archived Values backed by active Shared Attributes from the base schema or attribute_extensions.
2000Hydrated relation values. Present on the single-product GET response.

