Add a product as variant on a configurable product
Add a product as variant on a configurable product
The productUid in the path should be the configurable product. The productUid in the request body is the product that you want to add as a variant
Required permissions: PRODUCT
Access token recevied after user login with a deviceToken
Reference to a Product.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+^[A-Za-z0-9-_]+^[A-Za-z0-9-_]+Example response
^[A-Za-z0-9-_]+This product has addons
The product is allowed to credit
There can be set a negative price
The product is allowed to be purchased from a supplier
It is allowed to change quantity
| ENUM | Description |
|---|---|
| YES | Allow the product to be sold |
| NO | Do not allow the product to be sold |
| NOT_BEFORE_DATE | Do not allow the product to be sold before a specified date |
| ENUM | Description |
|---|---|
| YES | Allow the product to be delivered |
| NO | Do not allow the product to be delivered |
| NOT_BEFORE_DATE | Do not allow the product to be delivered before a specified date |
Allow to set costPrice on product when adding or updating the product to an order
Allow to set name on product when adding or updating the product to an order
Allow to add discount to this product.
The product is available for web sale
^[A-Za-z0-9-_]+Age restriction for the customer. 0 = no restriction
Ledger number must be a valid number with possible leading zeros
Allow to override the price without setting a discount.
^[A-Za-z0-9-_]+^[A-Za-z0-9-_]+| ENUM | Description |
|---|---|
| STOCK | Price*quantity |
| NO_STOCK | No quantity |
| CONFIGURABLE | Master configurable product |
| FLOWGIFTCARD | Flow Giftcard product |
| PAYEX_GIFTCARD | Payex Giftcard product |
| NON_PHYSICAL | Non physical product |
| PACKAGE_FIXED | Packaged product with fixed content |
| PACKAGE_DYNAMIC | Packaged product with dynamic content |
A list of propertyUids that are required for each variant of this product.
| ENUM | Description |
|---|---|
| NO | No Serial number required |
| ON_SALE | Can register serial number when selling a product (Serial number is optional) |
| ON_RECEIVE | Must register serial number when receiving and selling product (Serial number is required) |
Can only be sold as an addon product
^[A-Za-z0-9-_]+A list of productUids that make up variants of this product.
^[A-Za-z0-9-_]+When true, VAT on this product is calculated under the margin scheme — on the profit margin (sales price minus purchase price) instead of the full sales price. Used for second-hand goods.
A commission to be paid to the supplier after delivery.
^[A-Za-z0-9-_]+Indicates how many packages/parts the product consists of.
Limit the product to be used for a list of storeUids.
POST /v2/tenants/{tenantUid}/products/{productUid}/variants HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 48
{
"productUid": "text",
"productVariantUid": "text"
}Example response
{
"productVariantUid": "text",
"allowAddon": true,
"allowCredit": true,
"allowNegativePrice": true,
"allowPurchase": true,
"allowQuantity": true,
"allowSale": "YES",
"allowSaleDate": "2026-01-01T00:00:00.000Z",
"allowDelivery": "YES",
"allowDeliveryDate": "2026-01-01T00:00:00.000Z",
"allowOrderSpecificCost": true,
"allowOrderSpecificName": true,
"allowDiscount": true,
"availableForWeb": true,
"brandUid": "text",
"brandName": "text",
"calculationFactor": 1,
"categoryUids": [
"text"
],
"createdAt": "2026-01-01T00:00:00.000Z",
"customerAgeRestriction": 1,
"description": "text",
"discontinuedFrom": "2026-01-01T00:00:00.000Z",
"externalId": "text",
"externalInfo": "text",
"externalUrl": "text",
"gtins": [
{
"gtin": "text",
"primary": true,
"type": "text"
}
],
"height": 1,
"internalInfo": "text",
"lastModifiedAt": "2026-01-01T00:00:00.000Z",
"ledgerNumber": "text",
"length": 1,
"name": "text",
"optionProperties": [
{
"productPropertyUid": "text",
"propertyName": "text",
"propertyOptionName": "text",
"propertyType": "TEXT",
"propertyText": "text",
"propertyUid": "text",
"propertyOptionUid": "text",
"required": true
}
],
"priceOverride": true,
"productGroupUid": "text",
"productGroupPath": [
{
"name": "text",
"parentUid": "text",
"productGroupUid": "text"
}
],
"productUid": "text",
"productType": "STOCK",
"recommendedRetailPrice": 1,
"requiredVariantPropertyUids": [
"text"
],
"serialNoRequired": "NO",
"sellOnlyAsAddon": true,
"shortDescription": "text",
"sku": "text",
"manufacturerSku": "text",
"suppliers": [
{
"name": "text",
"supplierUid": "text",
"supplierProductUid": "text",
"purchasePrice": 1,
"currency": "text",
"supplierSku": "text"
}
],
"textProperties": [
{
"productPropertyUid": "text",
"propertyName": "text",
"propertyOptionName": "text",
"propertyType": "TEXT",
"propertyText": "text",
"propertyUid": "text",
"propertyOptionUid": "text",
"required": true
}
],
"unitLabel": "text",
"variantProductUids": [
"text"
],
"variantParentProductUid": "text",
"vatCodeUid": "text",
"usesVatMarginScheme": true,
"weight": 1,
"width": 1,
"links": [
{
"productLinkUid": "text",
"linkType": "INSURANCE",
"productUid": "text"
}
],
"parents": [
{
"productLinkUid": "text",
"linkType": "INSURANCE",
"productUid": "text"
}
],
"requirements": {
"requireCustomer": true,
"requireCustomerMobile": true,
"requireCustomerEmail": true,
"requireCustomerDeliveryAddress": true,
"orderItemReference": "text"
},
"coverImage": {
"productMediaUid": "text",
"mainUrl": "text",
"thumbnailUrl": "text"
},
"imageCount": 1,
"relevance": 1,
"visibility": "ALWAYS_VISIBLE",
"commission": 1,
"productWarrantyUid": "text",
"excludeFromStatistics": true,
"purchasePrice": 1,
"numberOfPieces": 1,
"limitToStoreUids": [
"text"
],
"tradeUnit": 1
}Last updated
Was this helpful?

