Skip to main content
POST
Create a product
Creates a product in the store. The shop and owning user are set server-side from the installation and must not be supplied. Requires the WRITE_INVENTORY scope.

Authorizations

Authorization
string
header
required

Installed-app access token (prefix app_), issued by the OAuth install flow. The store is bound to the token server-side — never send a shop id.

Body

application/json
name
string
required

Product name.

description
string
required

Product description.

price
number
required

Base price (>= 0).

weight
number
required

Weight (>= 0).

category
string
required

Category ObjectId.

quantity
integer

Stock quantity (>= 0).

promoPrice
number | null

Sale/promotional price (>= 0); nullable.

images
string[]

Array of image URLs.

video
string | null

Video URL; nullable.

Whether the product is featured. Default false.

listed
boolean

Whether the product is listed in the storefront. Default true.

variants
object[] | null

Product variants. Each: attributes (object of string->string, required), price (number, required), promoPrice (number, nullable), quantity (integer), weight (number), sku (string).

lowStockAlert
number

Threshold at which the product is flagged low-stock (>= 0).

barcode
string | null

Product barcode; nullable.

Response

Create a product — success.

status
integer
required
Example:

201

success
boolean
required
Example:

true

message
string
required
Example:

"Create a product"

data
object
required

An ecommerce catalog product.

Example: