Skip to main content
POST
/
vendor
/
products
/
{id}
curl -X POST 'http://localhost:9000/vendor/products/prod_01HXYZ' \
  -H 'Authorization: Bearer <token>' \
  -H 'x-seller-id: <seller_id>' \
  -H 'Content-Type: application/json' \
  -d '{"title": "Acme T-Shirt v2", "description": "Softer fabric."}'
{
  "product_change": {
    "id": "prodch_01HXYZ",
    "product_id": "prod_01HXYZ",
    "status": "pending",
    "created_by": "sel_01HXYZ",
    "actions": [
      {
        "id": "prodchact_01HXYZ",
        "action": "UPDATE",
        "details": { "title": "Acme T-Shirt v2" },
        "applied": false
      }
    ]
  }
}
Does not modify the product directly — it stages a pending change request that an operator confirms or declines.
The endpoint responds with 202 Accepted and a product_change record, not the updated product. Use Preview Product Change to inspect the pending change and Cancel Product Change to withdraw it.

Path parameters

id
string
required
The product’s ID.

Body parameters

title
string
The product’s title.
subtitle
string
The product’s subtitle.
description
string
The product’s description.
discountable
boolean
Whether discounts can apply to the product.
is_giftcard
boolean
Whether the product is a gift card.
images
object[]
thumbnail
string
URL of the product’s thumbnail image.
handle
string
The product’s URL handle.
external_id
string
ID of the product in an external system.
type_id
string
ID of the product type.
collection_id
string
ID of the collection the product belongs to.
categories
object[]
tags
object[]
options
object[]
variants
object[]
Variant updates staged with the change.
weight
number
Weight of the product.
length
number
Length of the product.
height
number
Height of the product.
width
number
Width of the product.
hs_code
string
Harmonized System code.
mid_code
string
Manufacturer ID code.
origin_country
string
Country of origin.
material
string
Material of the product.
metadata
object
Custom key-value pairs.
additional_data
object
Extra data passed to workflow hooks.

Response

product_change
object
curl -X POST 'http://localhost:9000/vendor/products/prod_01HXYZ' \
  -H 'Authorization: Bearer <token>' \
  -H 'x-seller-id: <seller_id>' \
  -H 'Content-Type: application/json' \
  -d '{"title": "Acme T-Shirt v2", "description": "Softer fabric."}'
{
  "product_change": {
    "id": "prodch_01HXYZ",
    "product_id": "prod_01HXYZ",
    "status": "pending",
    "created_by": "sel_01HXYZ",
    "actions": [
      {
        "id": "prodchact_01HXYZ",
        "action": "UPDATE",
        "details": { "title": "Acme T-Shirt v2" },
        "applied": false
      }
    ]
  }
}