Create a product
Creation endpoints requireIdempotency-Key.
Update one product
PATCH uses merge semantics. Omitted fields remain unchanged. Explicit null clears nullable fields such as description and image_url. Supplying modifier_group_ids replaces that product’s complete group relationship list. Supplying restrictions: [] or price_overrides: [] clears those rules.
Categories
Use/categories to list and create categories, then /categories/{category_id} to retrieve, patch, or delete one category. A category still containing products or bundles cannot be deleted and returns 409 catalog_resource_in_use.
Modifier groups and modifiers
Groups live under/modifier_groups. Individual modifiers live under /modifier_groups/{modifier_group_id}/modifiers, which means the same modifier ID may be reused in another group.
disabled, out_of_stock, restrictions, and price_overrides fields as products. A modifier group attached to a product cannot be deleted until the relationship is removed from that product.
Bundles
Bundles reference publicproduct_ids, never SKUs. When lines is present in a bundle PATCH, it atomically replaces only that bundle’s lines.
disabled, out_of_stock, restrictions, and price_overrides fields. Products referenced by bundle lines cannot be deleted until those references are removed.
Pagination and errors
Collection endpoints acceptlimit, starting_after, and ending_before and return the standard { "object": "list", "data": [], "has_more": false, "url": "…" } envelope. See Pagination, Errors, and Idempotency.