Product Properties
ProductProperties
Get list of variants for a product
Accesstoken recevied after user login with a deviceToken
Reference to a Product.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+Reference to a specific page in a result set.
The number of items per page in a result set.
Defines which field the resource list is sorted by.
| ENUM | Description |
|---|---|
| ASC | Sort in ascending order |
| DESC | Sort in descending order |
Example response
GET /v2/tenants/{tenantUid}/products/{productUid}/variants HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
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
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
Accesstoken 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-_]+| 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 |
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
^[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 |
| 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) |
^[A-Za-z0-9-_]+A list of productUids that make up variants of this product.
^[A-Za-z0-9-_]+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,
"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
Deletes a product variant.
Accesstoken recevied after user login with a deviceToken
Reference to a Product.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+Reference to a Product variant.
^[A-Za-z0-9-_]+No Content
No content
DELETE /v2/tenants/{tenantUid}/products/{productUid}/variants/{productVariantUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
Get list of properties for a product
Accesstoken recevied after user login with a deviceToken
Reference to a Product.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+Reference to a specific page in a result set.
The number of items per page in a result set.
Defines which field the resource list is sorted by.
| ENUM | Description |
|---|---|
| ASC | Sort in ascending order |
| DESC | Sort in descending order |
Example response
GET /v2/tenants/{tenantUid}/products/{productUid}/properties HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
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
Accesstoken recevied after user login with a deviceToken
Reference to a Product.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+Add a new product option to a product. If a property is of type TEXT, propertyText is mandatory, else propertyOptionUid is mandatory
^[A-Za-z0-9-_]+^[A-Za-z0-9-_]+^[A-Za-z0-9-_]+Example response
^[A-Za-z0-9-_]+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. |
Only in use with TEXT properties.
^[A-Za-z0-9-_]+^[A-Za-z0-9-_]+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"
}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
Deletes a property from a product.
Accesstoken recevied after user login with a deviceToken
Reference to a Product.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+Reference to a Product property.
^[A-Za-z0-9-_]+No Content
No content
DELETE /v2/tenants/{tenantUid}/products/{productUid}/properties/{productPropertyUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
Update a text property for a product
Update a text property for a product
Accesstoken recevied after user login with a deviceToken
Reference to a Product.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+Reference to a product property definition
^[A-Za-z0-9-_]+Update a new text option to a product
Example response
^[A-Za-z0-9-_]+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. |
Only in use with TEXT properties.
^[A-Za-z0-9-_]+^[A-Za-z0-9-_]+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"
}Example response
{
"productPropertyUid": "text",
"propertyName": "text",
"propertyOptionName": "text",
"propertyType": "TEXT",
"propertyText": "text",
"propertyUid": "text",
"propertyOptionUid": "text",
"required": true
}Last updated
Was this helpful?

