For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Resources
Get started
ReferenceGuidesChangelog
ReferenceGuidesChangelog
  • Token
    • GETGet Authorization User Info
    • GETGet Authorization Info
    • POSTResolve ID Token
  • Sites
    • GETList Sites
    • GETGet Site
    • GETGet Custom Domains
    • POSTPublish Site
  • Pages and Components
  • CMS
  • Forms
  • Custom Code
  • Assets
  • Comments
    • GETSearch Users by Email
    • GETList Comment Threads
    • GETGet Comment Thread
    • GETList Comment Replies
    • POSTCreate Comment Reply
  • Ecommerce
      • GETList Products & SKUs
      • POSTCreate Product & SKU
      • GETGet Product and SKUs
      • PATCHUpdate Product
      • POSTCreate SKUs
      • PATCHUpdate SKU
  • Webhooks
  • Site Configuration
  • Enterprise
  • App Subscriptions
    • GETGet app subscriptions
LogoLogo
Resources
Get started
EcommerceProducts & SKUs

Create Product & SKU

POST
https://api.webflow.com/beta/sites/:site_id/products
POST
/beta/sites/:site_id/products
$curl -X POST https://api.webflow.com/beta/sites/580e63e98c9a982ac9b8b741/products \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "product": {
> "fieldData": {
> "name": "Colorful T-shirt",
> "slug": "colorful-t-shirt",
> "description": "Our best-selling t-shirt available in multiple colors and sizes",
> "sku-properties": [
> {
> "id": "color",
> "name": "Color",
> "enum": [
> {
> "id": "red",
> "name": "Red",
> "slug": "red"
> },
> {
> "id": "yellow",
> "name": "Yellow",
> "slug": "yellow"
> },
> {
> "id": "blue",
> "name": "Blue",
> "slug": "blue"
> }
> ]
> },
> {
> "id": "size",
> "name": "Size",
> "enum": [
> {
> "id": "small",
> "name": "Small",
> "slug": "small"
> },
> {
> "id": "medium",
> "name": "Medium",
> "slug": "medium"
> },
> {
> "id": "large",
> "name": "Large",
> "slug": "large"
> }
> ]
> }
> ]
> }
> },
> "sku": {
> "fieldData": {
> "name": "Colorful T-shirt - Red Small",
> "slug": "colorful-t-shirt-red-small",
> "price": {
> "value": 2499,
> "unit": "USD",
> "currency": "USD"
> },
> "main-image": "https://rocketamp-sample-store.myshopify.com/cdn/shop/products/Gildan_2000_Antique_Cherry_Red_Front_1024x1024.jpg?v=1527232987"
> }
> },
> "publishStatus": "staging"
>}'
1{
2 "product": {
3 "id": "660eb7a486d1d6e0412292d7",
4 "cmsLocaleId": "653ad57de882f528b32e810e",
5 "lastPublished": "2024-04-04T14:24:19.467Z",
6 "lastUpdated": "2024-04-04T14:30:19.282Z",
7 "createdOn": "2024-04-04T14:22:28.547Z",
8 "isArchived": false,
9 "isDraft": false,
10 "fieldData": {
11 "name": "T-Shirt",
12 "slug": "t-shirt",
13 "description": "A plain t-shirt",
14 "shippable": true,
15 "sku-properties": [
16 {
17 "id": "31b77fa66fa376c2c0abb458d5be39fb",
18 "name": "Size",
19 "enum": [
20 {
21 "id": "8d21a625d655ab260e9941c27180c75b",
22 "name": "Small",
23 "slug": "small"
24 },
25 {
26 "id": "ecdca17106ad86c0dfe3b5f3ac8be6c9",
27 "name": "Medium",
28 "slug": "medium"
29 },
30 {
31 "id": "ec7877d6137ecf7ec86f726c135b1812",
32 "name": "Large",
33 "slug": "large"
34 }
35 ]
36 },
37 {
38 "id": "74d3738e62c568d5634dd6989daec5ec",
39 "name": "Color",
40 "enum": [
41 {
42 "id": "e539b0d6c3a609cd06ddb2da804f68f0",
43 "name": "Royal Blue",
44 "slug": "royal-blue"
45 },
46 {
47 "id": "68d98f2fbafc0fd45651cddc44798dd0",
48 "name": "Crimson Red",
49 "slug": "crimson-red"
50 },
51 {
52 "id": "996cd95c97fd5620d0a374c835b37205",
53 "name": "Forrest Green",
54 "slug": "forrest-green"
55 }
56 ]
57 }
58 ],
59 "tax-category": "standard-taxable",
60 "default-sku": "66072fb71b89448912e2681c",
61 "ec-product-type": "b6ccc1830db4b1babeb06a9ac5f6dd76"
62 }
63 },
64 "skus": [
65 {
66 "id": "580e63fc8c9a982ac9b8b745",
67 "cmsLocaleId": "653ad57de882f528b32e810e",
68 "lastPublished": "2023-03-17T18:47:35.560Z",
69 "lastUpdated": "2023-03-17T18:47:35.560Z",
70 "createdOn": "2023-03-17T18:47:35.560Z",
71 "fieldData": {
72 "name": "Blue T-shirt",
73 "slug": "t-shirt-blue",
74 "price": {
75 "value": 2499,
76 "unit": "USD",
77 "currency": "USD"
78 },
79 "sku-values": {
80 "color": "blue",
81 "size": "small"
82 },
83 "compare-at-price": {
84 "value": 100,
85 "unit": "USD"
86 },
87 "ec-sku-billing-method": "one-time",
88 "ec-sku-subscription-plan": {
89 "interval": "day",
90 "frequency": 1,
91 "trial": 7,
92 "plans": [
93 {
94 "platform": "stripe",
95 "id": "string",
96 "status": "active"
97 }
98 ]
99 },
100 "main-image": "https://www.example.com/image.jpg",
101 "sku": "1234567890",
102 "sku-properties": [
103 {
104 "id": "Color",
105 "name": "Color",
106 "enum": [
107 {
108 "id": "royal-blue",
109 "name": "Royal Blue",
110 "slug": "royal-blue"
111 }
112 ]
113 }
114 ]
115 }
116 }
117 ]
118}
Create a new ecommerce product and defaultSKU. A product, at minimum, must have a single SKU. To create a product with multiple SKUs: - First, create a list of `sku-properties`, also known as [product options](https://help.webflow.com/hc/en-us/articles/33961334531347-Create-product-options-and-variants). For example, a T-shirt product may have a "color" `sku-property`, with a list of enum values: red, yellow, and blue, another `sku-property` may be "size", with a list of enum values: small, medium, and large. - Once, a product is created with a list of `sku-properties`, Webflow will create a **default SKU**, which is always a combination of the first `enum` values of each `sku-property`. (e.g. Small - Red - T-Shirt) - After creation, you can create additional SKUs for the product, using the [Create SKUs endpoint.](/data/reference/ecommerce/products/create-sku) 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`
Was this page helpful?
Previous

Get Product and SKUs

Next
Built with

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

To create a product with multiple SKUs:

  • First, create a list of sku-properties, also known as product options. For example, a T-shirt product may have a “color” sku-property, with a list of enum values: red, yellow, and blue, another sku-property may be “size”, with a list of enum values: small, medium, and large.
  • Once, a product is created with a list of sku-properties, Webflow will create a default SKU, which is always a combination of the first enum values of each sku-property. (e.g. Small - Red - T-Shirt)
  • After creation, you can create additional SKUs for the product, using the Create SKUs endpoint.

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

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

site_idstringRequiredformat: "objectid"
Unique identifier for a Site

Request

The Product and SKU to create
productobjectRequired
skuobjectRequired
publishStatusenumOptionalDefaults to staging
Indicate whether your Product should be set as "staging" or "live"
Allowed values:

Response

Request was successful
productobject
The Product object
skuslist of objects
A list of SKU Objects

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
429
Too Many Requests Error
500
Internal Server Error