Skip to content

Update a product

View as Markdown
patch /rest/api/products/{id}

Updates the Product resource.

Partially updates a product. The body is a JSON Merge Patch document: any field you include replaces the current value, and any field you omit is left untouched.

Headers

NameTypeRequiredDescription
X-Flowkiwi-Organization-IdstringrequiredThe organization the request acts as. Determines the identity, permissions and ownership applied when reading or modifying data on the instance.
X-Flowkiwi-Localestring-Specifies the locale for properties that support localization. If not provided, the default locale will be used.
X-Flowkiwi-Locale-Fallbackboolean-Enables the use of a fallback locale. If a property lacks a translation for the requested locale, the value from the default locale will be used.

Path parameters

NameTypeRequiredDescription
idstringrequiredProduct identifier

Request body

PropertyTypeRequiredDescription
statusstring-Status IRI controlling visibility. Required on create.
vendorstring | null-Brand or manufacturer the product is attributed to.
titlestring | null-Customer-facing product title. Translatable - set the active locale with X-Flowkiwi-Locale.
descriptionstring | null-Long-form description. Markdown is not parsed by the API.
tagsstring | null-Comma-separated list of free-form tags. Used for storefront filtering.
categorystring | null-Category IRI this product is attached to. Categories drive the attribute set.
channelsChannel.ChannelCreateInput[]-List of Channel write inputs. Each entry assigns the product to a channel at creation time.
collectionsCollection.CollectionCreateInput[]-List of Collection write inputs. Each entry attaches the product to a collection at creation time.
mediasMedia[]-List of Media write inputs (ordered). Only images are accepted. Position determines display order.

Response

200 - Product resource updated

PropertyTypeRequiredDescription
@contextobject-
@idstringrequired
@typestringrequired
idstring-Stable UUID of the product.
statusstring-The status of the product.
vendorstring | null-The name of the product's vendor.
titlestring | null-This property supports translations.

The name of the product.
descriptionstring | null-This property supports translations.

A description of the product.
tagsstring | null-A string of comma-separated tags.
variantsstring[]-A list of Variant, each one representing a variant associated with the product. Serialized as IRI strings by default; pass ?expand=variants to embed the full Variant objects (including resolvedPrice, lowestPriceLast30Days, medias, and metafields when composed with ?expand=metafields).
optionsstring[]-A list of Product Option, each one representing an option associated with the product. Serialized as IRI strings by default; pass ?expand=options to embed the full Product Option objects.
categorystring | null-The category to which this product belongs. Serialized as IRI string by default; pass ?expand=category to embed the full CategoryResource.
attributeValuesarray-A list of Attribute Values, each one representing an attribute value associated with the product.
channelsstring[]-A list of Channel, each one representing a channel associated with the product. Serialized as IRI strings by default; pass ?expand=channels to embed full ChannelResource objects.
collectionsstring[]-A list of Collection, each one representing a collection associated with the product. Serialized as IRI strings by default; pass ?expand=collections to embed full CollectionResource objects.
mediasstring[]-A list of Media, ordered by position. Only media of type "image" can be associated with a product. Returned as IRI strings by default; pass ?expand=medias to embed full Media objects.
metafieldsstring[]-Metafields owned by this product. Serialized as IRI strings by default; pass ?expand=metafields to embed full MetafieldResource objects.
createdAtstring-The date and time when the resource was created (ISO 8601 format).
updatedAtstring-The date and time when the resource was last modified (ISO 8601 format).

Errors

400 - Invalid input

PropertyTypeRequiredDescription
@contextobject-
@idstringrequired
@typestringrequired
titlestring | null-A short, human-readable summary of the problem.
detailstring | null-A human-readable explanation specific to this occurrence of the problem.
statusnumber | null-
instancestring | null-A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
typestring-A URI reference that identifies the problem type

403 - Access denied. The caller is missing one or more identity permissions required for this operation.

Content-Type: application/problem+json

PropertyTypeRequiredDescription
@contextobject-
@idstringrequired
@typestringrequired
typestring-
titlestring-
statusinteger-
detailstring-
missingPermissionsstring[]-Identity permissions that the caller is missing for this operation. Present only when the 403 is caused by a denied identity:* permission.

404 - Not found

PropertyTypeRequiredDescription
@contextobject-
@idstringrequired
@typestringrequired
titlestring | null-A short, human-readable summary of the problem.
detailstring | null-A human-readable explanation specific to this occurrence of the problem.
statusnumber | null-
instancestring | null-A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
typestring-A URI reference that identifies the problem type

422 - An error occurred

PropertyTypeRequiredDescription
@contextobject-
@idstringrequired
@typestringrequired
statusinteger-
violationsobject[]-
Show violations fields
PropertyTypeRequiredDescription
propertyPathstringrequiredThe property path of the violation
messagestringrequiredThe message associated with the violation
codestring-The code of the violation
hintstring-An extra hint to understand the violation
payloadobject-The serialized payload of the violation
detailstring-
typestring-
titlestring | null-
instancestring | null-