Update a product

Updates the specified product by setting the values of the parameters passed.
Any parameters not provided will be left unchanged.

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

Product id

Body Params

product details

string
string
length ≤ 7
string
boolean
boolean

A product has to be purchasable, producible, or both.

boolean

A product has to be purchasable, producible, or both.

boolean

A product can be auto-assembled only if it is producible and not batch tracked.

boolean
integer
≤ 2147483647
string
boolean
boolean
boolean
string
length ≤ 7

If used, then purchase_uom_conversion_rate must have a value as well.

number
≤ 1000000000000

If used, then purchase_uom must have a value as well.

configs
array of objects
length ≥ 1

When updating configs, all configs and values must be provided.
Existing ones are matched, new ones are created, and configs not provided in the update are deleted.

configs
integer

If config ID is used to map the config, then name is ignored.

string
required

If config name is used to map the config, then we match to the existing config by name.
If a match is not found, a new one is created.

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.

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