POST /sites/{site_id}/products

Create a new ecommerce product and defaultSKU. A product, at minimum, must have a single SKU.

To create a product with multiple SKUs:

Upon creation, the default product type will be 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

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 Yes
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"
publishStatus String No

Indicate whether your Product should be set as "staging" or "live"

Possible values:

  • "staging"
  • "live"

Default value: "staging"

product Object Yes
product.fieldData Object No

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.