Update a catalog product (any type)
Partial update (PATCH-style): send only the fields you want to change — every attribute on the product's family is editable by its code (sku, name, url_key, short_description, description, meta_title, color, size, brand, price, weight, status, …). Translatable fields are written to the requested locale; pass ?locale=fr&channel=default to target a specific locale/channel (defaults to the store default). Omitted fields keep their current value. Type-structure keys are accepted for the matching type: variants (configurable), bundle_options (bundle), links (grouped), downloadable_links/downloadable_samples (downloadable), booking (booking). categories/channels/related_products/up_sells/cross_sells replace the current set when sent (omit to keep). Sub-resources images/videos/inventories/customer_group_prices have dedicated endpoints and are ignored here (noted in _warnings). Returns the full product detail (same shape as GET /catalog/products/{id}).
Request
- Base URLhttp://localhost:8000/api/admin
- AuthHTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
Product ID.
Request body
Example request
{
"sku": "sp-001",
"name": "Arctic Beanie",
"product_number": "PN-1001",
"url_key": "arctic-beanie",
"status": 1,
"visible_individually": 1,
"guest_checkout": 1,
"new": 1,
"featured": 1,
"manage_stock": 1,
"price": "99.99",
"cost": "40.00",
"special_price": "79.99",
"special_price_from": "2026-08-01",
"special_price_to": "2026-08-31",
"GST": "5.00",
"weight": "0.5",
"length": "10",
"width": "5",
"height": "3",
"tax_category_id": 2,
"color": 1,
"size": 6,
"brand": 10,
"short_description": "Warm knit beanie.",
"description": "Full HTML description.",
"meta_title": "Arctic Beanie",
"meta_keywords": "beanie, winter",
"meta_description": "Buy the Arctic Beanie.",
"categories": [
1,
8
],
"channels": [
1
],
"up_sells": [
2
],
"cross_sells": [
3
],
"related_products": [
2
],
"translations": {
"fr": {
"name": "Bonnet Arctique"
}
}
}Response
Product updated. Returns the full AdminCatalogProduct payload, plus _warnings (array of strings) if any sub-resource fields were stripped from the payload.
Changes
No recorded changes to this operation across all 8 revisions of this API.