POST
Create a product.

Authorizations

X-Agent-Key
string
header
required

Service-account key, format sq_agt_*. Carries least-privilege scopes.

Headers

Idempotency-Key
string

Optional on the products domain API — absent, the request simply executes. When present, a replay with the same body returns the cached response and a different body returns 409. Send it on every write anyway.

Maximum string length: 200
X-Store-ID
string

Target store; required when the key is bound to multiple stores.

Body

application/json
title
string
required
Example:

"Sage Serum"

handle
string
Example:

"sage-serum"

product_type
string
vendor
string
tags
string[]
options
string[]

Option names; variant option1..3 hold the values.

price
integer

Cents.

Required range: x >= 0
Example:

2999

status
enum<integer>
default:0
Available options:
0,
1,
2

Response

Created

success
boolean
required
message
string
data
object

The list endpoint leaves description and category empty and omits variants; fetch a single product for the fully enriched object.

meta
object