Heads up, our devs are blazing ahead—docs are catching up, so some features might not be fully documented yet.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Product Properties

ProductProperties

Get list of variants for a product

get
/tenants/{tenantUid}/products/{productUid}/variants

Get list of variants for a product

Authorizations
AuthorizationstringRequired

Accesstoken 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-_]+
Query parameters
pageNumberintegerOptional

Reference to a specific page in a result set.

pageSizeintegerOptional

The number of items per page in a result set.

sortBystringOptional

Defines which field the resource list is sorted by.

sortDirectionstring · enumOptional
ENUM Description
ASC Sort in ascending order
DESC Sort in descending order
Possible values:
Responses
200

Example response

application/json
get/tenants/{tenantUid}/products/{productUid}/variants
GET /v2/tenants/{tenantUid}/products/{productUid}/variants HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "items": [
    {
      "productVariantUid": "text",
      "allowAddon": true,
      "allowCredit": true,
      "allowPurchase": true,
      "allowQuantity": true,
      "allowSale": "YES",
      "allowSaleDate": "2026-01-01T00:00:00.000Z",
      "allowDelivery": "YES",
      "allowDeliveryDate": "2026-01-01T00:00:00.000Z",
      "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",
      "shortDescription": "text",
      "sku": "text",
      "manufacturerSku": "text",
      "suppliers": [
        {
          "name": "text",
          "supplierUid": "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",
      "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
      },
      "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"
      ]
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Add a product as variant on a configurable product

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

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

Authorizations
AuthorizationstringRequired

Accesstoken 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
allowCreditbooleanRequired
allowPurchasebooleanRequired
allowQuantitybooleanRequired
allowSalestring · enumRequired
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
Possible values:
allowSaleDatestring · date-timeRequired
allowDeliverystring · enumRequired
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
Possible values:
allowDeliveryDatestring · date-timeRequired
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
productGroupUidstringRequiredPattern: ^[A-Za-z0-9-_]+
productUidstringRequiredPattern: ^[A-Za-z0-9-_]+
productTypestring · enum · min: 1Required
ENUM Description
STOCK Price*quantity
NO_STOCK No quantity
CONFIGURABLE Master configurable product
FLOWGIFTCARD Flow Giftcard product
NON_PHYSICAL Non physical product
PACKAGE_FIXED Packaged product with fixed content
PACKAGE_DYNAMIC Packaged product with dynamic content
Possible values:
recommendedRetailPriceintegerRequired
requiredVariantPropertyUidsstring[]Required

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

serialNoRequiredstring · enumRequired
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)
Possible values:
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-_]+
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.

requireCustomerbooleanOptionalDeprecated
limitToStoreUidsstring[]Required

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

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,
  "allowPurchase": true,
  "allowQuantity": true,
  "allowSale": "YES",
  "allowSaleDate": "2026-01-01T00:00:00.000Z",
  "allowDelivery": "YES",
  "allowDeliveryDate": "2026-01-01T00:00:00.000Z",
  "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",
  "shortDescription": "text",
  "sku": "text",
  "manufacturerSku": "text",
  "suppliers": [
    {
      "name": "text",
      "supplierUid": "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",
  "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
  },
  "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"
  ]
}

Delete a product variant

delete
/tenants/{tenantUid}/products/{productUid}/variants/{productVariantUid}

Deletes a product variant.

Authorizations
AuthorizationstringRequired

Accesstoken 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-_]+
productVariantUidstringRequired

Reference to a Product variant.

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

No Content

No content

delete/tenants/{tenantUid}/products/{productUid}/variants/{productVariantUid}
DELETE /v2/tenants/{tenantUid}/products/{productUid}/variants/{productVariantUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

No Content

No content

Get list of properties for a product

get
/tenants/{tenantUid}/products/{productUid}/properties

Get list of properties for a product

Authorizations
AuthorizationstringRequired

Accesstoken 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-_]+
Query parameters
pageNumberintegerOptional

Reference to a specific page in a result set.

pageSizeintegerOptional

The number of items per page in a result set.

sortBystringOptional

Defines which field the resource list is sorted by.

sortDirectionstring · enumOptional
ENUM Description
ASC Sort in ascending order
DESC Sort in descending order
Possible values:
Responses
200

Example response

application/json
get/tenants/{tenantUid}/products/{productUid}/properties
GET /v2/tenants/{tenantUid}/products/{productUid}/properties HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "items": [
    {
      "productPropertyUid": "text",
      "propertyName": "text",
      "propertyOptionName": "text",
      "propertyType": "TEXT",
      "propertyText": "text",
      "propertyUid": "text",
      "propertyOptionUid": "text",
      "required": true
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Set a property to a product

post
/tenants/{tenantUid}/products/{productUid}/properties

Set a property to a product

Authorizations
AuthorizationstringRequired

Accesstoken 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

Add a new product option to a product. If a property is of type TEXT, propertyText is mandatory, else propertyOptionUid is mandatory

propertyUidstringRequiredPattern: ^[A-Za-z0-9-_]+
propertyOptionUidstringOptionalPattern: ^[A-Za-z0-9-_]+
propertyTextstringOptional
productPropertyUidstringOptionalPattern: ^[A-Za-z0-9-_]+
Responses
200

Example response

application/json
productPropertyUidstringRequiredPattern: ^[A-Za-z0-9-_]+
propertyNamestringRequired
propertyOptionNamestringRequired
propertyTypestring · enumRequired

Describes the type of property a product can have.

ENUM Description
TEXT A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.
SINGLESELECT A list of values where a product can only have one at any given time.
MULTISELECT A list of values where a product can have none or several at any given time.
Possible values:
propertyTextstringOptional

Only in use with TEXT properties.

propertyUidstringRequiredPattern: ^[A-Za-z0-9-_]+
propertyOptionUidstringRequiredPattern: ^[A-Za-z0-9-_]+
requiredbooleanRequired
post/tenants/{tenantUid}/products/{productUid}/properties
POST /v2/tenants/{tenantUid}/products/{productUid}/properties HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 99

{
  "propertyUid": "text",
  "propertyOptionUid": "text",
  "propertyText": "text",
  "productPropertyUid": "text"
}
200

Example response

{
  "productPropertyUid": "text",
  "propertyName": "text",
  "propertyOptionName": "text",
  "propertyType": "TEXT",
  "propertyText": "text",
  "propertyUid": "text",
  "propertyOptionUid": "text",
  "required": true
}

Remove a product property from a product

delete
/tenants/{tenantUid}/products/{productUid}/properties/{productPropertyUid}

Deletes a property from a product.

Authorizations
AuthorizationstringRequired

Accesstoken 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-_]+
productPropertyUidstringRequired

Reference to a Product property.

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

No Content

No content

delete/tenants/{tenantUid}/products/{productUid}/properties/{productPropertyUid}
DELETE /v2/tenants/{tenantUid}/products/{productUid}/properties/{productPropertyUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

No Content

No content

Update a text property for a product

put
/tenants/{tenantUid}/products/{productUid}/text-properties/{propertyUid}

Update a text property for a product

Authorizations
AuthorizationstringRequired

Accesstoken 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-_]+
propertyUidstringRequired

Reference to a product property definition

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

Update a new text option to a product

propertyTextstringRequired
Responses
200

Example response

application/json
productPropertyUidstringRequiredPattern: ^[A-Za-z0-9-_]+
propertyNamestringRequired
propertyOptionNamestringRequired
propertyTypestring · enumRequired

Describes the type of property a product can have.

ENUM Description
TEXT A single text line such as an URL to a product manual or a reminder to the cashier/salesperson.
SINGLESELECT A list of values where a product can only have one at any given time.
MULTISELECT A list of values where a product can have none or several at any given time.
Possible values:
propertyTextstringOptional

Only in use with TEXT properties.

propertyUidstringRequiredPattern: ^[A-Za-z0-9-_]+
propertyOptionUidstringRequiredPattern: ^[A-Za-z0-9-_]+
requiredbooleanRequired
put/tenants/{tenantUid}/products/{productUid}/text-properties/{propertyUid}
PUT /v2/tenants/{tenantUid}/products/{productUid}/text-properties/{propertyUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 23

{
  "propertyText": "text"
}
200

Example response

{
  "productPropertyUid": "text",
  "propertyName": "text",
  "propertyOptionName": "text",
  "propertyType": "TEXT",
  "propertyText": "text",
  "propertyUid": "text",
  "propertyOptionUid": "text",
  "required": true
}

Last updated

Was this helpful?