Update product
PUT/openapi/2026-07/products/:product_id
Update an existing product with the provided details.
Request
Path Parameters
Product's ID
- application/json
- Body
- Example
Bodyrequired
continue: Continue selling when out of stockdeny: Stop selling when out of stockauto_unpublished: Set as draft when out of stock- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
Product's ID
If no_entity is true, an empty object is returned after a successful update
product object
Product
Product's title
Product's subtitle
Description, supports rich text editing
Returns true if the product is published. Returns false if not
Returns true if the product needs shipping. Returns false if not
Returns true if taxes should be charged on the product. Returns false if not
The tags of the product
The vendor of the product
The vendor URL of the product
Product's note
SEO title
SEO description
SEO keywords
SEO handle
Whether it is a single style
Whether to track inventory
Required when inventory_tracking is set to true The following options are available:
Quantity of the inventory
Product SPU (Standard Product Unit)
Virtual sales
Product sales = current real sales + virtual sales, when display_fake_sales is true
images object[]
Product images, the first image uploaded when creating the product will be set as the main product image by default
Image's URL, required if you want to update the image
Image's width in px
Image's height in px
Image's alt
Image's ID
options object[]
Product styles, supports up to three styles. Required when has_only_default_variant is set to false
Option's name, for example: "color","size"
Option's values, for example: ["red", "black"],["small", "large"]
variants object[]
The variants of the product
Variant's ID
Option 1
Option 2
Option 3
image object
Variant's images, e.g.: cn.cdn.shoplazza.com/c.jpeg
Image's URL, required if you want to update the image
Image's width in px
Image's height in px
Image's alt
Image's ID
Compare at price ( original price )
Price, set it to "0.00" if you want to leave the price empty
SKU
The barcode of the variant
Note or remark
Weight
Unit of weight, possible value are: kg, g, lb, oz
Cost price
whole_prices object[]
Wholesale prices
Price
Mini Order Quantity
Retail price of the variant
Image ID of the variant
extend object
Extend information of the variant
Length of the variant
Width of the variant
Height of the variant
Dimension unit, possible value are: cm, in, mm
Origin country of the variant
Harmonized System Code of the variant
Inventory quantity of the variant
Collection ID of the product
Variant image required, when need_variant_image is true
Whether the product need shipping
After setting auto_publish_at, the product will be published as scheduled at that time, in RFC 3339 format. Example: 2026-01-26T10:00:00.000+00:00
The category ID of the product
{
"product_id": "string",
"no_entity": true,
"product": {
"title": "string",
"brief": "string",
"description": "string",
"published": true,
"require_shipping": true,
"taxable": true,
"tags": [
"string"
],
"vendor": "string",
"vendor_url": "string",
"note": "string",
"seo_title": "string",
"seo_description": "string",
"seo_keywords": [
"string"
],
"handle": "string",
"has_only_default_variant": true,
"inventory_tracking": true,
"inventory_policy": "string",
"inventory_quantity": 0,
"spu": "string",
"fake_sales": 0,
"display_fake_sales": true,
"images": [
{
"src": "string",
"width": 0,
"height": 0,
"alt": "string",
"id": "string"
}
],
"options": [
{
"name": "string",
"values": [
"string"
]
}
],
"variants": [
{
"id": "string",
"option1": "string",
"option2": "string",
"option3": "string",
"image": {
"src": "string",
"width": 0,
"height": 0,
"alt": "string",
"id": "string"
},
"compare_at_price": 0,
"price": 0,
"sku": "string",
"barcode": "string",
"note": "string",
"weight": 0,
"weight_unit": "string",
"cost_price": 0,
"whole_prices": [
{
"price": 0,
"min_quantity": 0
}
],
"retail_price": 0,
"image_id": "string",
"extend": {
"length": 0,
"width": 0,
"height": 0,
"dimension_unit": "string",
"origin_country_code": "string",
"hs_code": "string"
},
"inventory_quantity": 0
}
],
"collection_ids": [
"string"
],
"need_variant_image": true,
"need_shipping": true,
"auto_publish_at": "string",
"category_id": "string"
}
}
Responses
- 200
OK
- application/json
- Schema
- Example
Schema
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
error code
error message
data object
product object
The updated product
Product's ID
Product's title
Product's description
Whether it is published or not
Whether it is required to shipping
Whether it is taxable
Tags, string list of tags
Vendor's name
Vendor's URL
Customizable note, for example: "This is a customizable product"
SEO title
SEO description
SEO keywords
Product's handle
Whether it is a single variant
Whether to tracking inventory
Inventory policy: continue, deny, auto_unpublished, required while inventory_tracking is true
Whether variant image is needed. It's required if has_only_default_variant is false
Product's SPU
Product's fake sales
Whether to display fake sales
options object[]
List of options
Option's ID
Option's name, for example: "color","size"
Option's values, for example: ["red", "black"],["small", "large"]
Option's position
images object[]
List of images
Image's ID
Image's URL
Image's width in px
Image's height in px
Image's alt
Image's position
Image's path
variants object[]
List of product variants
The unique identifier of the variant
The product ID this variant belongs to
The image ID of the variant
The time of the variant was created
The time of the variant was updated
Title of the variant
The first option of the variant
The second option of the variant
The third option of the variant
image object
The image of the variant
Image's URL
Image's width in px
Image's height in px
Image's alt
Image's path
The position of the variant in the product
The compare at price of the variant
The price of the variant
The SKU of the variant
The barcode of the variant
The note of the variant
The inventory quantity of the variant
The weight of the variant
The weight unit of the variant, possible value are: kg, g, lb, oz
The cost price of the variant
whole_prices object[]
The whole prices of the variant
Price
Mini Order Quantity
The retail price of the variant
Whether the variant is discount
The origin price of the variant
extend object
Extend of the variant
The length of the variant
The width of the variant
The height of the variant
The dimension unit
Origin_country_code
Hs_code
Whether mixed wholesale is supported
Product type
Brand
Brief of the product
Inventory quantity
Min price
Max price
Min compare at price
Max compare at price
Published at
Created at
Updated at
The real amount of sales
Independent seo
URL of the product
Whether the product available
The minimum of the retail price
The maximum of the retail price
The minimum of the original price
The maximum of the original price
primary_image object
The primary image
Image's URL
Image's width in px
Image's height in px
Image's alt
Image's path
The tax code of the product
The category ID of the product
category object
Categories in the products' list
Category ID
Name
Google category ID
Level
Path
{
"code": "string",
"message": "string",
"data": {
"product": {
"id": "string",
"title": "string",
"description": "string",
"published": true,
"requires_shipping": true,
"taxable": true,
"tags": [
"string"
],
"vendor": "string",
"vendor_url": "string",
"note": "string",
"seo_title": "string",
"seo_description": "string",
"seo_keywords": [
"string"
],
"handle": "string",
"has_only_default_variant": true,
"inventory_tracking": true,
"inventory_policy": "string",
"need_variant_image": true,
"spu": "string",
"fake_sales": 0,
"display_fake_sales": true,
"options": [
{
"id": "string",
"name": "string",
"values": [
"string"
],
"position": 0
}
],
"images": [
{
"id": "string",
"src": "string",
"width": 0,
"height": 0,
"alt": "string",
"position": 0,
"path": "string"
}
],
"variants": [
{
"id": "string",
"product_id": "string",
"image_id": "string",
"created_at": "string",
"updated_at": "string",
"title": "string",
"option1": "string",
"option2": "string",
"option3": "string",
"image": {
"src": "string",
"width": 0,
"height": 0,
"alt": "string",
"path": "string"
},
"position": 0,
"compare_at_price": 0,
"price": 0,
"sku": "string",
"barcode": "string",
"note": "string",
"inventory_quantity": 0,
"weight": 0,
"weight_unit": "string",
"cost_price": 0,
"whole_prices": [
{
"price": 0,
"min_quantity": 0
}
],
"retail_price": 0,
"is_discount": true,
"origin_price": 0,
"extend": {
"length": 0,
"width": 0,
"height": 0,
"dimension_unit": "string",
"origin_country_code": "string",
"hs_code": "string"
}
}
],
"mixed_wholesale": true,
"product_type": "string",
"brand": "string",
"brief": "string",
"inventory_quantity": 0,
"price_min": 0,
"price_max": 0,
"compare_at_price_min": 0,
"compare_at_price_max": 0,
"published_at": "string",
"created_at": "string",
"updated_at": "string",
"sales": 0,
"independent_seo": true,
"url": "string",
"available": true,
"retail_price_min": 0,
"retail_price_max": 0,
"origin_price_min": 0,
"origin_price_max": 0,
"primary_image": {
"src": "string",
"width": 0,
"height": 0,
"alt": "string",
"path": "string"
},
"tax_code": "string",
"category_id": "string",
"category": {
"id": 0,
"name": "string",
"google_id": 0,
"level": 0,
"path": "string"
}
}
}
}