Skip to content

Update a variant

View as Markdown
patch /rest/api/products/{productId}/variants/{variantId}

Updates the Product Variant resource.

Partially updates a variant. 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.

Path parameters

NameTypeRequiredDescription
productIdstringrequiredProductResource identifier
variantIdstringrequiredProduct Variant identifier

Request body

PropertyTypeRequiredDescription
barcodestring-The barcode, unique UPC, or ISBN number for the product.
skustring-A unique identifier for the product variant.
measurementEmbeddedMeasurementResource | null-The measurement used to compute per-unit prices for the variant.
Show measurement fields
PropertyTypeRequiredDescription
measuredType"volume" | "weight" | "length" | "area" | "unit"requiredThe kind of physical quantity measured (volume, weight, length, area or unit).
quantityUnit"ml" | "cl" | "l" | "mg" | "g" | "kg" | "mm" | "cm" | "m" | "m2" | "unit"requiredThe unit the variant's quantity is expressed in.
quantityValueintegerrequiredThe variant's quantity, expressed in the quantity unit.
referenceUnit"ml" | "cl" | "l" | "mg" | "g" | "kg" | "mm" | "cm" | "m" | "m2" | "unit"requiredThe unit used as the basis for per-unit price calculations.
referenceValueintegerrequiredThe number of reference units used for per-unit price calculations.
optionValuesstring[]-A list of Option Value, each one representing an option value associated with the variant.
mediasMedia[]-A list of Media, ordered by position. Only media of type "image" can be associated with a variant. Returned as IRI strings by default; pass ?expand=medias to embed full Media objects.

Response

200 - Product Variant resource updated

PropertyTypeRequiredDescription
@contextobject-
@idstringrequired
@typestringrequired
idstring-The resource's unique identifier (UUID).
barcodestringrequiredThe barcode, unique UPC, or ISBN number for the product.
skustringrequiredA unique identifier for the product variant.
measurementEmbeddedMeasurementResource | null-The measurement used to compute per-unit prices for the variant.
Show measurement fields
PropertyTypeRequiredDescription
measuredType"volume" | "weight" | "length" | "area" | "unit"requiredThe kind of physical quantity measured (volume, weight, length, area or unit).
quantityUnit"ml" | "cl" | "l" | "mg" | "g" | "kg" | "mm" | "cm" | "m" | "m2" | "unit"requiredThe unit the variant's quantity is expressed in.
quantityValueintegerrequiredThe variant's quantity, expressed in the quantity unit.
referenceUnit"ml" | "cl" | "l" | "mg" | "g" | "kg" | "mm" | "cm" | "m" | "m2" | "unit"requiredThe unit used as the basis for per-unit price calculations.
referenceValueintegerrequiredThe number of reference units used for per-unit price calculations.
productstringrequiredThe product resource it belongs to.
optionValuesstring[]-A list of Option Value, each one representing an option value associated with the variant.
mediasstring[]-A list of Media, ordered by position. Only media of type "image" can be associated with a variant. Returned as IRI strings by default; pass ?expand=medias to embed full Media objects.
resolvedPriceResolvedPriceResource | null-The price resolved for the current resolveContext (country, channel and instant). Null unless resolveContext[country], resolveContext[channel] and resolveContext[at] are all provided.
Show resolvedPrice fields
PropertyTypeRequiredDescription
priceEmbeddedMoneyResource-
Show price fields
PropertyTypeRequiredDescription
amountstringrequiredThe monetary amount, as a decimal string.
currencystringrequiredThe ISO 4217 currency code (e.g. EUR).
discountPriceEmbeddedMoneyResource | null-
Show discountPrice fields
PropertyTypeRequiredDescription
amountstringrequiredThe monetary amount, as a decimal string.
currencystringrequiredThe ISO 4217 currency code (e.g. EUR).
currencystring-ISO 4217 currency code (mirrors price.currency for convenience).
taxRatenumber-Tax rate applied, in percent (e.g. 20.0).
taxExcludedPriceEmbeddedMoneyResource-
Show taxExcludedPrice fields
PropertyTypeRequiredDescription
amountstringrequiredThe monetary amount, as a decimal string.
currencystringrequiredThe ISO 4217 currency code (e.g. EUR).
discountTaxExcludedPriceEmbeddedMoneyResource | null-
Show discountTaxExcludedPrice fields
PropertyTypeRequiredDescription
amountstringrequiredThe monetary amount, as a decimal string.
currencystringrequiredThe ISO 4217 currency code (e.g. EUR).
countryIdstring-The Country used to resolve the price.
channelIdstring-The Channel used to resolve the price.
atstring-The instant used to resolve the price (defaults to request time).
saleOfferIdstring-The SaleOffer that was resolved.
lowestPriceLast30DaysEmbeddedMoneyResource | null-
Show lowestPriceLast30Days fields
PropertyTypeRequiredDescription
amountstringrequiredThe monetary amount, as a decimal string.
currencystringrequiredThe ISO 4217 currency code (e.g. EUR).
lowestPriceLast30DaysAtstring | null-The instant at which lowestPriceLast30Days was active. Falls back to at when no prior data exists.
metafieldsstring[]-Metafields owned by this variant. 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-