Creates a new variant on the given product. Identify the variant by the Option Values it combines (for example Size: M and Color: Red) and give it its own sku, barcode and measurement.
Headers
Name
Type
Required
Description
X-Flowkiwi-Organization-Id
string
required
The organization the request acts as. Determines the identity, permissions and ownership applied when reading or modifying data on the instance.
Path parameters
Name
Type
Required
Description
productId
string
required
ProductResource identifier
Request body
Property
Type
Required
Description
barcode
string
required
The barcode, unique UPC, or ISBN number for the product.
sku
string
required
A unique identifier for the product variant.
measurement
EmbeddedMeasurementResource | null
-
The measurement used to compute per-unit prices for the variant.
Show measurement fields
Property
Type
Required
Description
measuredType
"volume" | "weight" | "length" | "area" | "unit"
required
The kind of physical quantity measured (volume, weight, length, area or unit).
The unit used as the basis for per-unit price calculations.
referenceValue
integer
required
The number of reference units used for per-unit price calculations.
optionValues
string[]
-
A list of Option Value, each one representing an option value associated with the variant.
medias
Media[]
-
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
201 - Product Variant resource created
Property
Type
Required
Description
@context
object
-
@id
string
required
@type
string
required
id
string
-
The resource's unique identifier (UUID).
barcode
string
required
The barcode, unique UPC, or ISBN number for the product.
sku
string
required
A unique identifier for the product variant.
measurement
EmbeddedMeasurementResource | null
-
The measurement used to compute per-unit prices for the variant.
Show measurement fields
Property
Type
Required
Description
measuredType
"volume" | "weight" | "length" | "area" | "unit"
required
The kind of physical quantity measured (volume, weight, length, area or unit).
The unit used as the basis for per-unit price calculations.
referenceValue
integer
required
The number of reference units used for per-unit price calculations.
product
string
required
The product resource it belongs to.
optionValues
string[]
-
A list of Option Value, each one representing an option value associated with the variant.
medias
string[]
-
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.
resolvedPrice
ResolvedPriceResource | 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
Property
Type
Required
Description
price
EmbeddedMoneyResource
-
Show price fields
Property
Type
Required
Description
amount
string
required
The monetary amount, as a decimal string.
currency
string
required
The ISO 4217 currency code (e.g. EUR).
discountPrice
EmbeddedMoneyResource | null
-
Show discountPrice fields
Property
Type
Required
Description
amount
string
required
The monetary amount, as a decimal string.
currency
string
required
The ISO 4217 currency code (e.g. EUR).
currency
string
-
ISO 4217 currency code (mirrors price.currency for convenience).
taxRate
number
-
Tax rate applied, in percent (e.g. 20.0).
taxExcludedPrice
EmbeddedMoneyResource
-
Show taxExcludedPrice fields
Property
Type
Required
Description
amount
string
required
The monetary amount, as a decimal string.
currency
string
required
The ISO 4217 currency code (e.g. EUR).
discountTaxExcludedPrice
EmbeddedMoneyResource | null
-
Show discountTaxExcludedPrice fields
Property
Type
Required
Description
amount
string
required
The monetary amount, as a decimal string.
currency
string
required
The ISO 4217 currency code (e.g. EUR).
countryId
string
-
The Country used to resolve the price.
channelId
string
-
The Channel used to resolve the price.
at
string
-
The instant used to resolve the price (defaults to request time).
saleOfferId
string
-
The SaleOffer that was resolved.
lowestPriceLast30Days
EmbeddedMoneyResource | null
-
Show lowestPriceLast30Days fields
Property
Type
Required
Description
amount
string
required
The monetary amount, as a decimal string.
currency
string
required
The ISO 4217 currency code (e.g. EUR).
lowestPriceLast30DaysAt
string | null
-
The instant at which lowestPriceLast30Days was active. Falls back to at when no prior data exists.
metafields
string[]
-
Metafields owned by this variant. Serialized as IRI strings by default; pass ?expand=metafields to embed full MetafieldResource objects.
createdAt
string
-
The date and time when the resource was created (ISO 8601 format).
updatedAt
string
-
The date and time when the resource was last modified (ISO 8601 format).
Property
Type
Required
Description
id
string
-
The resource's unique identifier (UUID).
barcode
string
required
The barcode, unique UPC, or ISBN number for the product.
sku
string
required
A unique identifier for the product variant.
measurement
EmbeddedMeasurementResource | null
-
The measurement used to compute per-unit prices for the variant.
Show measurement fields
Property
Type
Required
Description
measuredType
"volume" | "weight" | "length" | "area" | "unit"
required
The kind of physical quantity measured (volume, weight, length, area or unit).
The unit used as the basis for per-unit price calculations.
referenceValue
integer
required
The number of reference units used for per-unit price calculations.
product
string
required
The product resource it belongs to.
optionValues
string[]
-
A list of Option Value, each one representing an option value associated with the variant.
medias
string[]
-
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.
resolvedPrice
ResolvedPriceResource | 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
Property
Type
Required
Description
price
EmbeddedMoneyResource
-
Show price fields
Property
Type
Required
Description
amount
string
required
The monetary amount, as a decimal string.
currency
string
required
The ISO 4217 currency code (e.g. EUR).
discountPrice
EmbeddedMoneyResource | null
-
Show discountPrice fields
Property
Type
Required
Description
amount
string
required
The monetary amount, as a decimal string.
currency
string
required
The ISO 4217 currency code (e.g. EUR).
currency
string
-
ISO 4217 currency code (mirrors price.currency for convenience).
taxRate
number
-
Tax rate applied, in percent (e.g. 20.0).
taxExcludedPrice
EmbeddedMoneyResource
-
Show taxExcludedPrice fields
Property
Type
Required
Description
amount
string
required
The monetary amount, as a decimal string.
currency
string
required
The ISO 4217 currency code (e.g. EUR).
discountTaxExcludedPrice
EmbeddedMoneyResource | null
-
Show discountTaxExcludedPrice fields
Property
Type
Required
Description
amount
string
required
The monetary amount, as a decimal string.
currency
string
required
The ISO 4217 currency code (e.g. EUR).
countryId
string
-
The Country used to resolve the price.
channelId
string
-
The Channel used to resolve the price.
at
string
-
The instant used to resolve the price (defaults to request time).
saleOfferId
string
-
The SaleOffer that was resolved.
lowestPriceLast30Days
EmbeddedMoneyResource | null
-
Show lowestPriceLast30Days fields
Property
Type
Required
Description
amount
string
required
The monetary amount, as a decimal string.
currency
string
required
The ISO 4217 currency code (e.g. EUR).
lowestPriceLast30DaysAt
string | null
-
The instant at which lowestPriceLast30Days was active. Falls back to at when no prior data exists.
metafields
string[]
-
Metafields owned by this variant. Serialized as IRI strings by default; pass ?expand=metafields to embed full MetafieldResource objects.
createdAt
string
-
The date and time when the resource was created (ISO 8601 format).
updatedAt
string
-
The date and time when the resource was last modified (ISO 8601 format).
Errors
400 - Invalid input
Property
Type
Required
Description
@context
object
-
@id
string
required
@type
string
required
title
string | null
-
A short, human-readable summary of the problem.
detail
string | null
-
A human-readable explanation specific to this occurrence of the problem.
status
number | null
-
instance
string | null
-
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
type
string
-
A URI reference that identifies the problem type
Property
Type
Required
Description
title
string | null
-
A short, human-readable summary of the problem.
detail
string | null
-
A human-readable explanation specific to this occurrence of the problem.
status
number | null
-
instance
string | null
-
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
type
string
-
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
Property
Type
Required
Description
@context
object
-
@id
string
required
@type
string
required
type
string
-
title
string
-
status
integer
-
detail
string
-
missingPermissions
string[]
-
Identity permissions that the caller is missing for this operation. Present only when the 403 is caused by a denied identity:* permission.