Create a product
Creates a new product in the catalog. The product is active by default and has no
prices or default price. Mutation endpoints (create, update, set_default_price) return
the base product shape — default_price, representative_price, and prices_count
are omitted; use GET to retrieve them.
Authorizations
A merchant secret key (sk_…) sent as Authorization: Bearer <key>.
Headers
A unique key that makes retries safe: the same key with the same request body returns the original response instead of repeating the operation.
255Body
Product name.
Product description.
Image URLs. Schemes javascript:, data:, and vbscript: are rejected.
Custom key-value metadata. Max 50 keys; keys up to 40 characters; values up to 500 characters.
Unit displayed at checkout (e.g. seat, hour, license).
Product kind. Defaults to other if omitted.
digital, physical, service, donation, other Cross-sell recommendations shown at checkout.
Response
The created product.
Product id (prod_…).
product true for live mode, false for test mode.
The product's default price (price_…), or null if none is set.
Unit displayed at checkout.
digital, physical, service, donation, other Unix epoch seconds.
Unix epoch seconds.
Inline-expanded default price. Present on GET and list responses; omitted on mutation endpoints (create, update, set_default_price).
Display-only fallback populated when no default is set but exactly one price exists. Present on GET and list responses; omitted on mutation endpoints. Must not be treated as the assigned default.
Total number of prices on this product. Present on GET and list responses; omitted on mutation endpoints.

