Skip to main content
POST
Create a product

Authorizations

Authorization
string
header
required

Use a project API key from Settings > API Access. Send it as Authorization: Bearer wpk_.... See authentication and scopes for setup and permissions.

Headers

Idempotency-Key
string

Reuse this key for retries of the same write. Scoped to this API key; retained until key deletion. Different requests with the same key return 409.

Required string length: 1 - 128
Pattern: ^[!-~]+$

Body

application/json
sku
string
required
Required string length: 1 - 255
ean
string | null
Maximum string length: 255
upc
string | null
Maximum string length: 12
manufacturer_part_number
string | null
Maximum string length: 255
brand
string | null
Maximum string length: 255
name
string | null
Maximum string length: 500
name_long
string | null
Maximum string length: 500
description
string | null
short_description
string | null
name_localized
Name Localized · object | null

Locale code → name, e.g. {"nl": "Boormachine"}.

description_localized
Description Localized · object | null
short_description_localized
Short Description Localized · object | null
status
string | null

One of active, inactive, pending, archived.

meta_title
string | null
Maximum string length: 255
meta_description
string | null
meta_keywords
string | null
Maximum string length: 255
price

Decimal string with at most two decimals ("19.99") or an integer. Null clears it.

special_price

Decimal string with at most two decimals ("14.99") or an integer. Null clears it.

special_price_start_date
string<date-time> | null
special_price_end_date
string<date-time> | null
category_ids
integer[] | null

Replaces the product's category set. Every id must belong to this project.

Maximum array length: 200
attributes
Attributes · object | null

Attribute values keyed by attribute code. A value is a scalar or list, or {"value": ..., "unit": "kg"}; null removes the value. Only the codes sent are touched.

Response

Created

id
integer
required
sku
string
required
name
string
required
name_long
string
required
name_localized
Name Localized · object
required
description_localized
Description Localized · object
required
short_description_localized
Short Description Localized · object
required
status
string
required
product_type
string
required
category_ids
integer[]
required
attributes
AttributeValueOut · object[]
required
version
integer
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
ean
string | null
upc
string | null
manufacturer_part_number
string | null
brand
string | null
description
string | null
short_description
string | null
parent_id
integer | null
family
FamilyRefOut · object | null
price
string | null

Decimal string, e.g. "19.99".

special_price
string | null

Decimal string, e.g. "14.99".

special_price_start_date
string<date-time> | null
special_price_end_date
string<date-time> | null
main_image
string | null
meta_title
string | null
meta_description
string | null
meta_keywords
string | null