Skip to main content
POST
/
open-api
/
v1.0
/
products
Create a product
curl --request POST \
  --url https://api.fourthwall.com/open-api/v1.0/products \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "productTemplateId": "pro_k66ZW4fsRm6c2def3itltA",
  "regions": [
    {
      "region": "front",
      "imageId": "img_k66ZW4fsRm6c2def3itltA",
      "placementId": "<string>",
      "placementStrategy": "AUTO"
    }
  ],
  "name": "My Awesome Design Tee",
  "type": "<string>",
  "colors": [
    "<string>"
  ],
  "sizes": [
    "<string>"
  ],
  "description": "Limited edition design",
  "profitMargin": 10,
  "publishOnCreate": true
}
'
{ "images": [ { "url": "<string>", "width": 123, "height": 123, "style": "<string>", "color": "<string>", "size": "<string>", "region": "<string>" } ], "productId": "<string>", "customizationId": "<string>" }

Documentation Index

Fetch the complete documentation index at: https://docs.fourthwall.com/llms.txt

Use this file to discover all available pages before exploring further.

OAuth scope: offer_writeAPI keys have full access to this endpoint.

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Body

application/json

Create a product by running the design pipeline: renders each region's registered image into mockups and creates a purchasable product. The product is created hidden unless publishOnCreate is true.

productTemplateId
string
required

Id of the product template to render the design onto, from GET /open-api/v1.0/product-templates.

Example:

"pro_k66ZW4fsRm6c2def3itltA"

regions
Product Design Region · object[]
required

Design regions to place on the product. Each region references a registered media image by id (register it via POST /open-api/v1.0/media/images and pass the returned id as imageId).

name
string
required

Product name

Example:

"My Awesome Design Tee"

type
string
required
colors
string[]

Colors to render. Defaults to all available product colors.

sizes
string[]

Sizes to include. Defaults to all available product sizes.

description
string

Product description

Example:

"Limited edition design"

profitMargin
number

Profit margin in USD applied on top of the base cost.

Example:

10

publishOnCreate
boolean

Publish the product immediately on creation. Defaults to false (product stays hidden).

Response

Created

Response returned after creating a product.

images
Design Pipeline Image · object[]
required

Rendered product images

productId
string

ID of the created product

customizationId
string

Customization used to back the product, when applicable