Create a product

Creates a product object.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

new product details

string
required
string
length ≤ 7
string
boolean
boolean
boolean
boolean
integer
≤ 2147483647
string
boolean
boolean
boolean
string
length ≤ 7
number
≤ 1000000000000
integer | null
≤ 999
number | null
0 to 999999999
configs
array of objects
length ≥ 1
configs
string
required
values
array of strings
required
values*
integer | null
≤ 2147483647

Custom fields collection the item draws its legacy {field_name, field_value} custom fields from. Belongs to the legacy representation only — sending it together with object-form custom_fields is rejected with a 422. See the X-Custom-Fields-Format header.

variants
array of objects
required
length ≥ 1
variants*
string
number | null
0 to 100000000000
number | null
0 to 100000000000
config_attributes
array of objects
length ≥ 1
config_attributes
string
required
string
required
string
length between 3 and 40
string
length between 3 and 40
supplier_item_codes
array of strings
length ≥ 1
supplier_item_codes
custom_fields

Custom field values on the variant. Served in one of two representations depending on the account — the legacy {field_name, field_value} array, or an object keyed by custom field definition id. See the X-Custom-Fields-Format header for how the representation is chosen, and note that a single request must not mix the two.

Headers
string
enum

Selects the representation of custom_fields on items, for both the request body and the response.

  • default — object keyed by custom field definition id (UUID).
  • legacy — the {field_name, field_value} array tied to custom fields collections.

Most accounts do not need this header: an account that has not moved to item custom fields always gets legacy, and an account that has moved and no longer uses collections always gets the object representation. The header matters only while both are available for the account, where legacy is the default and default opts into the object representation.

Requesting a representation the account does not have returns 422, as does sending a custom_fields body whose shape does not match the representation in force, mixing both shapes in one request, or combining custom_field_collection_id with the object representation — that field belongs to the legacy representation and is left out of responses entirely under the object one. Responses vary on this header.

Allowed:
Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Choose an example:
application/json