🚀 New: Theme Control Plane API — build, customize, and deploy themes programmatically. Learn more →
curl --request PATCH \
--url https://api.shoppex.io/dev/v1/products/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "DYNAMIC",
"dynamic_webhook": "https://example.com/updated",
"delivery_instructions": {
"required": false,
"label": "Setup note",
"max_length": 300
},
"custom_fields": [
{
"name": "Display Name",
"type": "text",
"required": false
}
]
}
'{
"data": {
"id": "prod_db_1",
"uniqid": "prod_1",
"shop_id": "shop_1",
"slug": null,
"type": "DYNAMIC",
"subtype": null,
"title": "Product One",
"currency": "USD",
"price": 19.99,
"price_display": 19.99,
"description": "Product description",
"gateways": [
"PAYPAL"
],
"custom_fields": [
{
"name": "Display Name",
"type": "text",
"required": false
}
],
"delivery_instructions": {
"enabled": true,
"required": false,
"label": "Setup note",
"max_length": 300
},
"quantity_min": 1,
"quantity_max": -1,
"quantity_warning": 0,
"stock": 0,
"stock_delimiter": "\n",
"unlisted": false,
"private": false,
"on_hold": false,
"sort_priority": 0,
"crypto_confirmations": 1,
"max_risk_level": 0,
"block_vpn_proxies": false,
"delivery_text": "",
"delivery_time": null,
"service_text": "",
"dynamic_webhook": "https://example.com/updated",
"watermark_enabled": true,
"image_id": null,
"image_url": null,
"variants": [],
"created_at": 1711965600,
"updated_at": 1711969200
}
}Updates an existing product. For base SERIALS products, sending the serials field replaces the full base-product serial inventory. Use /dev/v1/products/{id}/serials when you need append/remove behavior instead of full replacement.
curl --request PATCH \
--url https://api.shoppex.io/dev/v1/products/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "DYNAMIC",
"dynamic_webhook": "https://example.com/updated",
"delivery_instructions": {
"required": false,
"label": "Setup note",
"max_length": 300
},
"custom_fields": [
{
"name": "Display Name",
"type": "text",
"required": false
}
]
}
'{
"data": {
"id": "prod_db_1",
"uniqid": "prod_1",
"shop_id": "shop_1",
"slug": null,
"type": "DYNAMIC",
"subtype": null,
"title": "Product One",
"currency": "USD",
"price": 19.99,
"price_display": 19.99,
"description": "Product description",
"gateways": [
"PAYPAL"
],
"custom_fields": [
{
"name": "Display Name",
"type": "text",
"required": false
}
],
"delivery_instructions": {
"enabled": true,
"required": false,
"label": "Setup note",
"max_length": 300
},
"quantity_min": 1,
"quantity_max": -1,
"quantity_warning": 0,
"stock": 0,
"stock_delimiter": "\n",
"unlisted": false,
"private": false,
"on_hold": false,
"sort_priority": 0,
"crypto_confirmations": 1,
"max_risk_level": 0,
"block_vpn_proxies": false,
"delivery_text": "",
"delivery_time": null,
"service_text": "",
"dynamic_webhook": "https://example.com/updated",
"watermark_enabled": true,
"image_id": null,
"image_url": null,
"variants": [],
"created_at": 1711965600,
"updated_at": 1711969200
}
}Use your Shoppex API key in the Authorization header.
SERIALS SINGLE comma comma Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
DAY DAY USE_STORE_DEFAULT USE_STORE_DEFAULT Successful response