PATCH /sites/{site_id}/products/{product_id}
Update an existing Product.
Updating an existing Product will set the product type to Advanced, which ensures all Product and SKU fields will be shown to users in the Designer.
Required scope | ecommerce:write
Servers
- https://api.webflow.com/v2
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
site_id |
String | Yes |
Unique identifier for a Site |
product_id |
String | Yes |
Unique identifier for a Product |
Request headers
| Name | Type | Required | Description |
|---|---|---|---|
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/json" |
Request body fields
| Name | Type | Required | Description |
|---|---|---|---|
sku |
Object | No |
The SKU object |
sku.id |
String | No |
Unique identifier for the Product |
sku.createdOn |
String | No |
The date the Product was created |
sku.fieldData |
Object | No |
Standard and Custom fields for a SKU |
sku.fieldData.price |
Object | Yes |
price of SKU |
sku.fieldData.price.value |
Number | No |
Price of SKU |
sku.fieldData.price.currency |
String | No |
Currency of Item (alternative representation) |
sku.fieldData.price.unit |
String | No |
Currency of Item |
sku.fieldData.ec-sku-billing-method |
String | No |
Billing methodfor the SKU Valid values:
|
sku.fieldData.name |
String | Yes |
Name of the Product |
sku.fieldData.sku |
String | No |
A unique identifier for the SKU |
sku.fieldData.slug |
String | Yes |
URL structure of the Product in your site. |
sku.fieldData.sku-values |
Object | No |
A mapping between SKU properties and their values, represented as key-value pairs. Each key represents a SKU Property ID (e.g. "color") and maps to its corresponding SKU Value ID (e.g. "blue"). This structure defines the specific variant combination for a SKU. |
sku.fieldData.compare-at-price |
Object | No |
comparison price of SKU |
sku.fieldData.compare-at-price.value |
Number | No |
Price of SKU |
sku.fieldData.compare-at-price.unit |
String | No |
Currency of Item |
sku.fieldData.main-image |
String | No |
The URL for the main image of the SKU |
sku.fieldData.sku-properties[] |
Array | No |
The properties of the SKU |
sku.fieldData.sku-properties[].id |
String | Yes |
Unique identifier for a collection of Product Variants |
sku.fieldData.sku-properties[].name |
String | Yes |
Name of the collection of Product Variants |
sku.fieldData.sku-properties[].enum[] |
Array | Yes |
The individual Product variants that are contained within the collection |
sku.fieldData.sku-properties[].enum[].id |
String | Yes |
Unique identifier for a Product variant/Option |
sku.fieldData.sku-properties[].enum[].name |
String | Yes |
Name of the Product variant/Option |
sku.fieldData.sku-properties[].enum[].slug |
String | Yes |
Slug for the Product variant/Option in the Site URL structure |
sku.fieldData.ec-sku-subscription-plan |
Object | No |
Subscription plan for the SKU |
sku.fieldData.ec-sku-subscription-plan.frequency |
Number | No |
Frequncy of billing within interval |
sku.fieldData.ec-sku-subscription-plan.trial |
Number | No |
Number of days of a trial |
sku.fieldData.ec-sku-subscription-plan.plans[] |
Array | No | |
sku.fieldData.ec-sku-subscription-plan.plans[].id |
String | No |
The unique identifier of the plan |
sku.fieldData.ec-sku-subscription-plan.plans[].platform |
String | No |
The platform of the subscription plan Valid values:
|
sku.fieldData.ec-sku-subscription-plan.plans[].status |
String | No |
The status of the plan Valid values:
|
sku.fieldData.ec-sku-subscription-plan.interval |
String | No |
Interval of subscription renewal Valid values:
|
sku.cmsLocaleId |
String | No |
Identifier for the locale of the CMS item |
sku.lastPublished |
String | No |
The date the Product was last published |
sku.lastUpdated |
String | No |
The date the Product was last updated |
publishStatus |
String | No |
Indicate whether your Product should be set as "staging" or "live" Valid values:
Default value: "staging" |
product |
Object | No |
The Product object |
product.id |
String | No |
Unique identifier for the Product |
product.isDraft |
Boolean | No |
Boolean determining if the Product is set to draft Default value: false |
product.createdOn |
String | No |
The date the Product was created |
product.fieldData |
Object | No |
Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup. |
product.fieldData.category[] |
Array | No |
The category your product belongs to. |
product.fieldData.name |
String | No |
Name of the Product |
product.fieldData.description |
String | No |
A description of your product |
product.fieldData.slug |
String | No |
URL structure of the Product in your site. |
product.fieldData.default-sku |
String | No |
The default SKU associated with this product. |
product.fieldData.tax-category |
String | No |
Product tax class Valid values:
|
product.fieldData.ec-product-type |
String | No |
Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" Valid values:
|
product.fieldData.shippable |
Boolean | No |
Boolean determining if the Product is shippable |
product.fieldData.sku-properties[] |
Array | No |
Variant types to include in SKUs |
product.fieldData.sku-properties[].id |
String | Yes |
Unique identifier for a collection of Product Variants |
product.fieldData.sku-properties[].name |
String | Yes |
Name of the collection of Product Variants |
product.fieldData.sku-properties[].enum[] |
Array | Yes |
The individual Product variants that are contained within the collection |
product.fieldData.sku-properties[].enum[].id |
String | Yes |
Unique identifier for a Product variant/Option |
product.fieldData.sku-properties[].enum[].name |
String | Yes |
Name of the Product variant/Option |
product.fieldData.sku-properties[].enum[].slug |
String | Yes |
Slug for the Product variant/Option in the Site URL structure |
product.cmsLocaleId |
String | No |
Identifier for the locale of the CMS item |
product.isArchived |
Boolean | No |
Boolean determining if the Product is set to archived Default value: false |
product.lastPublished |
String | No |
The date the Product was last published |
product.lastUpdated |
String | No |
The date the Product was last updated |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.