For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

post
/tenants/{tenantUid}/products/{productUid}/variants
Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
productUidstringRequired

Reference to a Product.

Pattern: ^[A-Za-z0-9-_]+
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
productUidstringRequiredPattern: ^[A-Za-z0-9-_]+
productVariantUidstringOptionalPattern: ^[A-Za-z0-9-_]+
Responses
200

Example response

application/json
productVariantUidstringRequiredPattern: ^[A-Za-z0-9-_]+
allowAddonbooleanRequired

This product has addons

allowCreditbooleanRequired

The product is allowed to credit

allowNegativePricebooleanRequired

There can be set a negative price

allowPurchasebooleanRequired

The product is allowed to be purchased from a supplier

allowQuantitybooleanRequired

It is allowed to change quantity

allowSalestring · enumRequired
ENUMDescription
YESAllow the product to be sold
NODo not allow the product to be sold
NOT_BEFORE_DATEDo not allow the product to be sold before a specified date
Possible values:
allowSaleDatestring · date-timeRequired
allowDeliverystring · enumRequired
ENUMDescription
YESAllow the product to be delivered
NODo not allow the product to be delivered
NOT_BEFORE_DATEDo not allow the product to be delivered before a specified date
Possible values:
allowDeliveryDatestring · date-timeRequired
allowOrderSpecificCostbooleanRequired

Allow to set costPrice on product when adding or updating the product to an order

allowOrderSpecificNamebooleanRequired

Allow to set name on product when adding or updating the product to an order

allowDiscountbooleanRequired

Allow to add discount to this product.

availableForWebbooleanRequired

The product is available for web sale

brandUidstringRequiredPattern: ^[A-Za-z0-9-_]+
brandNamestringRequired
calculationFactorintegerRequired
categoryUidsstring[]Required
createdAtstring · date-timeRequired
customerAgeRestrictionintegerRequired

Age restriction for the customer. 0 = no restriction

descriptionstringRequired
discontinuedFromstring · date-time · nullableRequired
externalIdstringRequired
externalInfostringRequired
externalUrlstringRequired
heightintegerRequired
internalInfostringRequired
lastModifiedAtstring · date-timeRequired
ledgerNumberstringRequired

Ledger number must be a valid number with possible leading zeros

lengthintegerRequired
namestringRequired
priceOverridebooleanRequired

Allow to override the price without setting a discount.

productGroupUidstringRequiredPattern: ^[A-Za-z0-9-_]+
productUidstringRequiredPattern: ^[A-Za-z0-9-_]+
productTypestring · enum · min: 1Required
ENUMDescription
STOCKPrice*quantity
NO_STOCKNo quantity
CONFIGURABLEMaster configurable product
FLOWGIFTCARDFlow Giftcard product
PAYEX_GIFTCARDPayex Giftcard product
NON_PHYSICALNon physical product
PACKAGE_FIXEDPackaged product with fixed content
PACKAGE_DYNAMICPackaged product with dynamic content
Possible values:
recommendedRetailPriceintegerRequired
requiredVariantPropertyUidsstring[]Required

A list of propertyUids that are required for each variant of this product.

serialNoRequiredstring · enumRequired
ENUMDescription
NONo Serial number required
ON_SALECan register serial number when selling a product (Serial number is optional)
ON_RECEIVEMust register serial number when receiving and selling product (Serial number is required)
Possible values:
sellOnlyAsAddonbooleanRequired

Can only be sold as an addon product

shortDescriptionstringRequired
skustringRequired
manufacturerSkustringRequired
unitLabelstringRequired
variantProductUidsstring[]Required
variantParentProductUidstringRequiredPattern: ^[A-Za-z0-9-_]+
variantsstring[]RequiredDeprecated

A list of productUids that make up variants of this product.

vatCodeUidstringRequiredPattern: ^[A-Za-z0-9-_]+
usesVatMarginSchemebooleanRequired

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.

weightintegerRequired
widthintegerRequired
imageCountintegerRequired
relevancenumberRequired
visibilitystring · enumRequiredPossible values:
commissionintegerRequired

A commission to be paid to the supplier after delivery.

productWarrantyUidstringRequiredPattern: ^[A-Za-z0-9-_]+
excludeFromStatisticsbooleanRequired
purchasePriceintegerRequired
numberOfPiecesintegerRequired

Indicates how many packages/parts the product consists of.

limitToStoreUidsstring[]Required

Limit the product to be used for a list of storeUids.

tradeUnitintegerRequired
post/tenants/{tenantUid}/products/{productUid}/variants
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"
}
200

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?