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
Name
Type
Required
Description
Flowkiwi-Locale
string
-
Specifies the locale for properties that support localization. If not provided, the default locale will be used.
Path parameters
Name
Type
Required
Description
id
string
required
Product identifier
Request body
Property
Type
Required
Description
attributes
ProductAttributeValueResource[]
-
Attribute values for the attribute definitions attached to the product's category (or one of its ancestors). Absent = keep the current values, null = clear all, [] = clear all, an array = replace all.
Show attributes fields
Property
Type
Required
Description
definition
string
required
The attribute definition this value is for. Requires the categories:read scope. Returned null when the scope is missing.
option
string
-
The selected option, for attribute definitions of type list. Must belong to definition. Requires the categories:read scope. Returned null when the scope is missing.
value
string | null
-
This property supports translations.
The free-text value, for attribute definitions of type string.
category
string | null
-
Category IRI this product is attached to. Categories drive the attribute set. Absent = keep the current category, null = clear it. Requires the categories:read scope. Returned null when the scope is missing.
channels
string[]
-
A list of Channel IRIs the product is assigned to. Replaces the full set. Requires the channels:read scope. Returned empty when the scope is missing.
collections
string[]
-
A list of Collection IRIs the product is attached to. Replaces the full set. Requires the collections:read scope. Returned empty when the scope is missing.
description
string | null
-
Long-form description. Markdown is not parsed by the API. Translatable - absent = keep, null = remove the value in the active locale.
medias
string[]
-
A list of Media IRIs (ordered). Only images are accepted. Position determines display order. Requires the medias:read scope. Returned empty when the scope is missing.
Status IRI controlling visibility. Required on create.
tags
string | null
-
Comma-separated list of free-form tags. Used for storefront filtering.
title
string | null
-
Customer-facing product title. Translatable - set the active locale with Flowkiwi-Locale. Absent = keep, null = remove the value in the active locale.
Response
200 - Product resource updated
Property
Type
Required
Description
@context
string | object
-
@id
string
required
@type
string
required
attributes
ProductAttributeValueResource[]
-
Attribute values for the attribute definitions attached to the product's category (or one of its ancestors). Each item references a definition (IRI) plus either an option (for list definitions) or a value (for string definitions).
Show attributes fields
Property
Type
Required
Description
code
string | null
-
The code of the attribute definition (read-only, mirrors definition.code).
definition
string | null
required
The attribute definition this value is for. Requires the categories:read scope. Returned null when the scope is missing.
option
string | null
-
The selected option, for attribute definitions of type list. Must belong to definition. Requires the categories:read scope. Returned null when the scope is missing.
type
"string" | "list" | null
-
The type of the attribute definition (read-only, mirrors definition.type).
value
string | null
-
This property supports translations.
The free-text value, for attribute definitions of type string.
category
string | Category | null
-
The category to which this product belongs. Serialized as IRI string by default; pass ?expand=category to embed the full CategoryResource. Requires the categories:read scope. Returned null when the scope is missing.
channels
array
-
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. Requires the channels:read scope. Returned empty when the scope is missing.
collections
array
-
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. Requires the collections:read scope. Returned empty when the scope is missing.
createdAt
string
-
The date and time when the resource was created (ISO 8601 format).
description
string | null
-
This property supports translations.
A description of the product.
id
string
-
Stable UUID of the product.
medias
array
-
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. Requires the medias:read scope. Returned empty when the scope is missing.
metafields
array
-
Metafields owned by this product. Serialized as IRI strings by default; pass ?expand=metafields to embed full MetafieldResource objects. Requires the metafields:read scope. Returned empty when the scope is missing.
options
array
-
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. Requires the products:read scope. Returned empty when the scope is missing.
The date and time when the resource was last modified (ISO 8601 format).
variants
array
-
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). Requires the products:read scope. Returned empty when the scope is missing.
Property
Type
Required
Description
attributes
ProductAttributeValueResource[]
-
Attribute values for the attribute definitions attached to the product's category (or one of its ancestors). Each item references a definition (IRI) plus either an option (for list definitions) or a value (for string definitions).
Show attributes fields
Property
Type
Required
Description
code
string | null
-
The code of the attribute definition (read-only, mirrors definition.code).
definition
string | null
required
The attribute definition this value is for. Requires the categories:read scope. Returned null when the scope is missing.
option
string | null
-
The selected option, for attribute definitions of type list. Must belong to definition. Requires the categories:read scope. Returned null when the scope is missing.
type
"string" | "list" | null
-
The type of the attribute definition (read-only, mirrors definition.type).
value
string | null
-
This property supports translations.
The free-text value, for attribute definitions of type string.
category
string | Category | null
-
The category to which this product belongs. Serialized as IRI string by default; pass ?expand=category to embed the full CategoryResource. Requires the categories:read scope. Returned null when the scope is missing.
channels
array
-
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. Requires the channels:read scope. Returned empty when the scope is missing.
collections
array
-
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. Requires the collections:read scope. Returned empty when the scope is missing.
createdAt
string
-
The date and time when the resource was created (ISO 8601 format).
description
string | null
-
This property supports translations.
A description of the product.
id
string
-
Stable UUID of the product.
medias
array
-
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. Requires the medias:read scope. Returned empty when the scope is missing.
metafields
array
-
Metafields owned by this product. Serialized as IRI strings by default; pass ?expand=metafields to embed full MetafieldResource objects. Requires the metafields:read scope. Returned empty when the scope is missing.
options
array
-
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. Requires the products:read scope. Returned empty when the scope is missing.
The date and time when the resource was last modified (ISO 8601 format).
variants
array
-
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). Requires the products:read scope. Returned empty when the scope is missing.
Errors
400 - Invalid input
Property
Type
Required
Description
@context
string | object
-
@id
string
required
@type
string
required
code
string
-
Stable identifier of the error in the error code catalogue (see /api/error-codes). Present on catalogued errors only.
description
string | null
-
detail
string | null
-
A human-readable explanation specific to this occurrence of the problem.
instance
string | null
-
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
message
string
-
End-user message localized in the request locale, with this occurrence's values substituted. Present on catalogued errors only.
slug
string
-
Stable, readable key of the error in the error code catalogue. Present on catalogued errors only.
status
integer | null
-
title
string | null
-
A short, human-readable summary of the problem. For a catalogued error it repeats the slug.
type
string
-
A URI reference that identifies the problem type. For a catalogued error it is the error code resource, /api/error-codes/{code}.
Property
Type
Required
Description
code
string
-
Stable identifier of the error in the error code catalogue (see /api/error-codes). Present on catalogued errors only.
detail
string | null
-
A human-readable explanation specific to this occurrence of the problem.
instance
string | null
-
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
message
string
-
End-user message localized in the request locale, with this occurrence's values substituted. Present on catalogued errors only.
slug
string
-
Stable, readable key of the error in the error code catalogue. Present on catalogued errors only.
status
integer | null
-
title
string | null
-
A short, human-readable summary of the problem. For a catalogued error it repeats the slug.
type
string
-
A URI reference that identifies the problem type. For a catalogued error it is the error code resource, /api/error-codes/{code}.
403 - Access denied. The caller is missing one or more permissions required for this operation.
Content-Type:application/problem+json
Property
Type
Required
Description
@context
string | object
-
@id
string
required
@type
string
required
detail
string
-
missingPermissions
string[]
-
Permissions that the caller is missing for this operation. Present only when the 403 is caused by a denied permission.
status
integer
-
title
string
-
type
string
-
404 - Not found
Property
Type
Required
Description
@context
string | object
-
@id
string
required
@type
string
required
code
string
-
Stable identifier of the error in the error code catalogue (see /api/error-codes). Present on catalogued errors only.
description
string | null
-
detail
string | null
-
A human-readable explanation specific to this occurrence of the problem.
instance
string | null
-
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
message
string
-
End-user message localized in the request locale, with this occurrence's values substituted. Present on catalogued errors only.
slug
string
-
Stable, readable key of the error in the error code catalogue. Present on catalogued errors only.
status
integer | null
-
title
string | null
-
A short, human-readable summary of the problem. For a catalogued error it repeats the slug.
type
string
-
A URI reference that identifies the problem type. For a catalogued error it is the error code resource, /api/error-codes/{code}.
Property
Type
Required
Description
code
string
-
Stable identifier of the error in the error code catalogue (see /api/error-codes). Present on catalogued errors only.
detail
string | null
-
A human-readable explanation specific to this occurrence of the problem.
instance
string | null
-
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
message
string
-
End-user message localized in the request locale, with this occurrence's values substituted. Present on catalogued errors only.
slug
string
-
Stable, readable key of the error in the error code catalogue. Present on catalogued errors only.
status
integer | null
-
title
string | null
-
A short, human-readable summary of the problem. For a catalogued error it repeats the slug.
type
string
-
A URI reference that identifies the problem type. For a catalogued error it is the error code resource, /api/error-codes/{code}.
422 - An error occurred
Property
Type
Required
Description
@context
string | object
-
@id
string
required
@type
string
required
description
string
-
detail
string
-
instance
string | null
-
status
integer
-
title
string | null
-
type
string
-
violations
object[]
-
Show violations fields
Property
Type
Required
Description
code
string
-
The code of the violation
hint
string
-
An extra hint to understand the violation
message
string
required
The message associated with the violation
parameters
object
-
Dynamic placeholder values for the violation message template (substitute into the code catalogue message).
payload
object
-
The serialized payload of the violation
propertyPath
string
required
The property path of the violation
slug
string
-
Stable centralized error-code slug for this violation (see /api/error-codes).
Property
Type
Required
Description
detail
string
-
instance
string | null
-
status
integer
-
title
string | null
-
type
string
-
violations
object[]
-
Show violations fields
Property
Type
Required
Description
code
string
-
The code of the violation
hint
string
-
An extra hint to understand the violation
message
string
required
The message associated with the violation
parameters
object
-
Dynamic placeholder values for the violation message template (substitute into the code catalogue message).
payload
object
-
The serialized payload of the violation
propertyPath
string
required
The property path of the violation
slug
string
-
Stable centralized error-code slug for this violation (see /api/error-codes).