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

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

Possible values:

  • "subscription"
  • "one-time"
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.track-inventory Boolean No

A boolean indicating whether inventory for this product should be tracked.

Default value: false

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.quantity Number No

Quantity of SKU that will be tracked as items are ordered.

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

Possible values:

  • "stripe"
sku.fieldData.ec-sku-subscription-plan.plans[].status String No

The status of the plan

Possible values:

  • "inactive"
  • "active"
  • "canceled"
sku.fieldData.ec-sku-subscription-plan.interval String No

Interval of subscription renewal

Possible values:

  • "month"
  • "day"
  • "week"
  • "year"
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"

Possible values:

  • "staging"
  • "live"

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

Possible values:

  • "service-dry-cleaning"
  • "drugs-prescription"
  • "magazine-subscription"
  • "digital-goods"
  • "books-textbook"
  • "food-bottled-water"
  • "clothing-swimwear"
  • "service-miscellaneous"
  • "service-repair"
  • "service-parking"
  • "magazine-individual"
  • "service-professional"
  • "service-printing"
  • "clothing"
  • "service-admission"
  • "service-hairdressing"
  • "food-groceries"
  • "digital-service"
  • "food-candy"
  • "food-supplements"
  • "food-soda"
  • "standard-exempt"
  • "books-religious"
  • "food-prepared"
  • "drugs-non-prescription"
  • "service-advertising"
  • "service-training"
  • "standard-taxable"
  • "service-installation"
product.fieldData.ec-product-type String No

Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced"

Possible values:

  • "f22027db68002190aef89a4a2b7ac8a1"
  • "b6ccc1830db4b1babeb06a9ac5f6dd76"
  • "c599e43b1a1c34d5a323aedf75d3adf6"
  • "ff42fee0113744f693a764e3431a9cc2"
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

  1. Add HTTP Task to your workflow definition.
  2. 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.
  3. Click Test request to test run your request to the API and see the API's response.