Product
Product
List all brands.
Required permission: TENANT.ACCESS
Reference to a tenant.
^[A-Za-z0-9-_]+Reference to the name of a brand.
External reference to a brand.
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}/brands HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"items": [
{
"brandUid": "text",
"createdAt": "2025-10-30T21:07:54.442Z",
"externalId": "text",
"lastModifiedAt": "2025-10-30T21:07:54.442Z",
"name": "text"
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}Create a new brand.
Required permission: TENANT.BACKOFFICE
Reference to a tenant.
^[A-Za-z0-9-_]+Brand
POST /v2/tenants/{tenantUid}/brands HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 53
{
"externalId": "text",
"name": "text",
"brandUid": "text"
}Brand
{
"brandUid": "text",
"createdAt": "2025-10-30T21:07:54.442Z",
"externalId": "text",
"lastModifiedAt": "2025-10-30T21:07:54.442Z",
"name": "text"
}Searches for brands based on criteria set in the request body. Required permission: TENANT.ACCESS
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
POST /v2/tenants/{tenantUid}/brands/search HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 34
{
"exactMatch": true,
"query": "text"
}Example response
{
"items": [
{
"brandUid": "text",
"createdAt": "2025-10-30T21:07:54.442Z",
"externalId": "text",
"lastModifiedAt": "2025-10-30T21:07:54.442Z",
"name": "text"
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}Get details for a brand.
Required permission: TENANT.ACCESS
Reference to a Brand.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+Brand
GET /v2/tenants/{tenantUid}/brands/{brandUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Brand
{
"brandUid": "text",
"createdAt": "2025-10-30T21:07:54.442Z",
"externalId": "text",
"lastModifiedAt": "2025-10-30T21:07:54.442Z",
"name": "text"
}Update details for a brand. Partial updates are allowed.
Required permission: TENANT.BACKOFFICE
Reference to a Brand.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+Brand
PUT /v2/tenants/{tenantUid}/brands/{brandUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 35
{
"externalId": "text",
"name": "text"
}Brand
{
"brandUid": "text",
"createdAt": "2025-10-30T21:07:54.442Z",
"externalId": "text",
"lastModifiedAt": "2025-10-30T21:07:54.442Z",
"name": "text"
}Deletes the a brand.
Required permission: TENANT.BACKOFFICE
Reference to a Brand.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+No Content
No content
Forbidden
DELETE /v2/tenants/{tenantUid}/brands/{brandUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Lists all products.
Reference to a tenant.
^[A-Za-z0-9-_]+Reference to the name of a product.
Reference to a Brand uid.
^[A-Za-z0-9-_]+Reference to a ProductGroup uid.
^[A-Za-z0-9-_]+External reference to a product.
Reference to a list of propertyUids.
Reference to a list of property options.
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 |
Exclude product variants.
Include discontinued products
when true, only show products with allowPurchase = true
Example response
GET /v2/tenants/{tenantUid}/products HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"items": [
{
"allowAddon": true,
"allowCredit": true,
"allowNegativePrice": true,
"allowPurchase": true,
"allowQuantity": true,
"allowSale": "YES",
"allowSaleDate": "2025-10-30T21:07:54.442Z",
"allowDelivery": "YES",
"allowDeliveryDate": "2025-10-30T21:07:54.442Z",
"allowOrderSpecificCost": true,
"allowOrderSpecificName": true,
"availableForWeb": true,
"brandUid": "text",
"brandName": "text",
"calculationFactor": 1,
"categoryUids": [
"text"
],
"createdAt": "2025-10-30T21:07:54.442Z",
"customerAgeRestriction": 1,
"description": "text",
"discontinuedFrom": "2025-10-30T21:07:54.442Z",
"externalId": "text",
"externalInfo": "text",
"externalUrl": "text",
"gtins": [
{
"gtin": "text",
"primary": true,
"type": "text"
}
],
"height": 1,
"internalInfo": "text",
"lastModifiedAt": "2025-10-30T21:07:54.442Z",
"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,
"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
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}CONFIGURABLEproducts must have at least one required variant property UID.
Reference to a tenant.
^[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 |
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
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 |
| 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) |
^[A-Za-z0-9-_]+A commission to be paid to the supplier after delivery.
^[A-Za-z0-9-_]*falseIndicates how many packages/parts the product consists of.
Limit the product to be used for a list of storeUids.
Example response
POST /v2/tenants/{tenantUid}/products HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1673
{
"allowCredit": true,
"allowPurchase": true,
"allowQuantity": true,
"allowNegativePrice": true,
"allowSale": "YES",
"allowSaleDate": "2025-10-30T21:07:54.442Z",
"allowDelivery": "YES",
"allowDeliveryDate": "2025-10-30T21:07:54.442Z",
"allowOrderSpecificCost": true,
"allowOrderSpecificName": true,
"availableForWeb": true,
"brandUid": "text",
"calculationFactor": 1,
"customerAgeRestriction": 1,
"categoryUids": [
"text"
],
"description": "text",
"discontinuedFrom": "2025-10-30T21:07:54.442Z",
"externalId": "text",
"externalInfo": "text",
"externalUrl": "text",
"gtins": [
{
"gtin": "text",
"primary": true,
"type": "text"
}
],
"height": 1,
"internalInfo": "text",
"ledgerNumber": "text",
"length": 1,
"media": [
{
"mainUrl": "text",
"thumbnailUrl": "text",
"position": 1,
"setAsCoverImage": true,
"productMediaUid": "text"
}
],
"name": "text",
"priceOverride": true,
"productUid": "text",
"productGroupUid": "text",
"productType": "STOCK",
"optionProperties": [
{
"propertyUid": "text",
"propertyOptionUid": "text",
"productPropertyUid": "text"
}
],
"textProperties": [
{
"propertyUid": "text",
"propertyText": "text",
"productPropertyUid": "text"
}
],
"recommendedRetailPrice": 1,
"requiredVariantPropertyUids": [
"text"
],
"serialNoRequired": "NO",
"shortDescription": "text",
"sku": "text",
"manufacturerSku": "text",
"unitLabel": "text",
"vatCodeUid": "text",
"weight": 1,
"width": 1,
"requirements": {
"requireCustomer": true,
"requireCustomerMobile": true,
"requireCustomerEmail": true,
"requireCustomerDeliveryAddress": true,
"orderItemReference": "text"
},
"commission": 1,
"visibility": "ALWAYS_VISIBLE",
"productWarrantyUid": "text",
"excludeFromStatistics": false,
"purchasePrice": 1,
"currencyPurchasePrice": {
"purchasePrice": 1,
"currencyCode": "text"
},
"numberOfPieces": 1,
"limitToStoreUids": [
"text"
],
"tradeUnit": 1
}Example response
{
"allowAddon": true,
"allowCredit": true,
"allowNegativePrice": true,
"allowPurchase": true,
"allowQuantity": true,
"allowSale": "YES",
"allowSaleDate": "2025-10-30T21:07:54.442Z",
"allowDelivery": "YES",
"allowDeliveryDate": "2025-10-30T21:07:54.442Z",
"allowOrderSpecificCost": true,
"allowOrderSpecificName": true,
"availableForWeb": true,
"brandUid": "text",
"brandName": "text",
"calculationFactor": 1,
"categoryUids": [
"text"
],
"createdAt": "2025-10-30T21:07:54.442Z",
"customerAgeRestriction": 1,
"description": "text",
"discontinuedFrom": "2025-10-30T21:07:54.442Z",
"externalId": "text",
"externalInfo": "text",
"externalUrl": "text",
"gtins": [
{
"gtin": "text",
"primary": true,
"type": "text"
}
],
"height": 1,
"internalInfo": "text",
"lastModifiedAt": "2025-10-30T21:07:54.442Z",
"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,
"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
}Searches for products based on criteria set in the request body.
If productGroupUid is set, productGroupScopes is omitted.
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 |
ProductSearch model
^[A-Za-z0-9-_]+Filter on product group UIDs
^[A-Za-z0-9-_]+Filter on property UIDs a product must be linked to
Filter on property option UIDs a product must be linked to
A list of productUids to search for
Do not search in variant products.
when true, only show products with allowPurchase = true
Example response
POST /v2/tenants/{tenantUid}/products/search HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 366
{
"exactMatch": true,
"productGroupUids": [
"text"
],
"productGroupScopes": [
"SALE"
],
"query": "text",
"supplierUid": "text",
"propertyUids": [
"text"
],
"propertyOptionUids": [
"text"
],
"productUids": [
"text"
],
"hideVariants": true,
"visibility": [
"ALWAYS_VISIBLE"
],
"includeDiscontinued": true,
"productTypes": [
"STOCK"
],
"hideNotAllowPurchase": true,
"brandUids": [
"text"
],
"productSkus": [
"text"
]
}Example response
{
"items": [
{
"allowAddon": true,
"allowCredit": true,
"allowNegativePrice": true,
"allowPurchase": true,
"allowQuantity": true,
"allowSale": "YES",
"allowSaleDate": "2025-10-30T21:07:54.442Z",
"allowDelivery": "YES",
"allowDeliveryDate": "2025-10-30T21:07:54.442Z",
"allowOrderSpecificCost": true,
"allowOrderSpecificName": true,
"availableForWeb": true,
"brandUid": "text",
"brandName": "text",
"calculationFactor": 1,
"categoryUids": [
"text"
],
"createdAt": "2025-10-30T21:07:54.442Z",
"customerAgeRestriction": 1,
"description": "text",
"discontinuedFrom": "2025-10-30T21:07:54.442Z",
"externalId": "text",
"externalInfo": "text",
"externalUrl": "text",
"gtins": [
{
"gtin": "text",
"primary": true,
"type": "text"
}
],
"height": 1,
"internalInfo": "text",
"lastModifiedAt": "2025-10-30T21:07:54.442Z",
"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,
"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
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}Excel file download containing filtered product list
Reference to a tenant.
^[A-Za-z0-9-_]+ProductSearch model
^[A-Za-z0-9-_]+Filter on product group UIDs
^[A-Za-z0-9-_]+Filter on property UIDs a product must be linked to
Filter on property option UIDs a product must be linked to
A list of productUids to search for
Do not search in variant products.
when true, only show products with allowPurchase = true
Successful response - Excel file containing filtered product list
POST /v2/tenants/{tenantUid}/products/export HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 366
{
"exactMatch": true,
"productGroupUids": [
"text"
],
"productGroupScopes": [
"SALE"
],
"query": "text",
"supplierUid": "text",
"propertyUids": [
"text"
],
"propertyOptionUids": [
"text"
],
"productUids": [
"text"
],
"hideVariants": true,
"visibility": [
"ALWAYS_VISIBLE"
],
"includeDiscontinued": true,
"productTypes": [
"STOCK"
],
"hideNotAllowPurchase": true,
"brandUids": [
"text"
],
"productSkus": [
"text"
]
}Successful response - Excel file containing filtered product list
binaryDo product-specific prints
Reference to a tenant.
^[A-Za-z0-9-_]+Reference to a Product.
^[A-Za-z0-9-_]+The printerUid will be required when the peripheralUid is removed.
^[A-Za-z0-9-_]+| ENUM | Description |
|---|---|
| BARCODE | Print barcode labels |
Must be a valid template name from /v2/metadata/labels
^[A-Za-z0-9-_]+^[A-Za-z0-9-_]+Prints a label for each serial number, appending the serial number as barcode and plain text.
No Content
No content
POST /v2/tenants/{tenantUid}/products/{productUid}/print HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 110
{
"storeUid": "text",
"type": "BARCODE",
"template": "text",
"printerUid": "text",
"copies": 1,
"serialnumbers": [
"text"
]
}No Content
No content
Get details for a product.
Reference to a Product.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+Example response
GET /v2/tenants/{tenantUid}/products/{productUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"allowAddon": true,
"allowCredit": true,
"allowNegativePrice": true,
"allowPurchase": true,
"allowQuantity": true,
"allowSale": "YES",
"allowSaleDate": "2025-10-30T21:07:54.442Z",
"allowDelivery": "YES",
"allowDeliveryDate": "2025-10-30T21:07:54.442Z",
"allowOrderSpecificCost": true,
"allowOrderSpecificName": true,
"availableForWeb": true,
"brandUid": "text",
"brandName": "text",
"calculationFactor": 1,
"categoryUids": [
"text"
],
"createdAt": "2025-10-30T21:07:54.442Z",
"customerAgeRestriction": 1,
"description": "text",
"discontinuedFrom": "2025-10-30T21:07:54.442Z",
"externalId": "text",
"externalInfo": "text",
"externalUrl": "text",
"gtins": [
{
"gtin": "text",
"primary": true,
"type": "text"
}
],
"height": 1,
"internalInfo": "text",
"lastModifiedAt": "2025-10-30T21:07:54.442Z",
"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,
"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
}Partial updates are allowed.
On CONFIGURABLEproducts, the required variant property UID's can only be changed while no variant products have been added.
Reference to a Product.
^[A-Za-z0-9-_]+Reference to a tenant.
^[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 |
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
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 on an order
^[A-Za-z0-9-_]+| 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 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.
Example response
PUT /v2/tenants/{tenantUid}/products/{productUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1431
{
"allowCredit": true,
"allowPurchase": true,
"allowQuantity": true,
"allowNegativePrice": true,
"allowSale": "YES",
"allowSaleDate": "2025-10-30T21:07:54.442Z",
"allowDelivery": "YES",
"allowDeliveryDate": "2025-10-30T21:07:54.442Z",
"allowOrderSpecificCost": true,
"allowOrderSpecificName": true,
"availableForWeb": true,
"brandUid": "text",
"calculationFactor": 1,
"categoryUids": [
"text"
],
"customerAgeRestriction": 1,
"description": "text",
"discontinuedFrom": "2025-10-30T21:07:54.442Z",
"externalId": "text",
"externalInfo": "text",
"externalUrl": "text",
"gtins": [
{
"gtin": "text",
"primary": true,
"type": "text"
}
],
"height": 1,
"internalInfo": "text",
"ledgerNumber": "text",
"length": 1,
"name": "text",
"priceOverride": true,
"productGroupUid": "text",
"recommendedRetailPrice": 1,
"serialNoRequired": "NO",
"requiredVariantPropertyUids": [
"text"
],
"shortDescription": "text",
"sku": "text",
"manufacturerSku": "text",
"textProperties": [
{
"propertyUid": "text",
"propertyText": "text"
}
],
"unitLabel": "text",
"vatCodeUid": "text",
"weight": 1,
"width": 1,
"requirements": {
"requireCustomer": true,
"requireCustomerMobile": true,
"requireCustomerEmail": true,
"requireCustomerDeliveryAddress": true,
"orderItemReference": "text"
},
"coverImage": {
"productMediaUid": "text"
},
"commission": 1,
"visibility": "ALWAYS_VISIBLE",
"productWarrantyUid": "text",
"excludeFromStatistics": true,
"purchasePrice": 1,
"currencyPurchasePrice": {
"purchasePrice": 1,
"currencyCode": "text"
},
"numberOfPieces": 1,
"limitToStoreUids": [
"text"
],
"tradeUnit": 1
}Example response
{
"allowAddon": true,
"allowCredit": true,
"allowNegativePrice": true,
"allowPurchase": true,
"allowQuantity": true,
"allowSale": "YES",
"allowSaleDate": "2025-10-30T21:07:54.442Z",
"allowDelivery": "YES",
"allowDeliveryDate": "2025-10-30T21:07:54.442Z",
"allowOrderSpecificCost": true,
"allowOrderSpecificName": true,
"availableForWeb": true,
"brandUid": "text",
"brandName": "text",
"calculationFactor": 1,
"categoryUids": [
"text"
],
"createdAt": "2025-10-30T21:07:54.442Z",
"customerAgeRestriction": 1,
"description": "text",
"discontinuedFrom": "2025-10-30T21:07:54.442Z",
"externalId": "text",
"externalInfo": "text",
"externalUrl": "text",
"gtins": [
{
"gtin": "text",
"primary": true,
"type": "text"
}
],
"height": 1,
"internalInfo": "text",
"lastModifiedAt": "2025-10-30T21:07:54.442Z",
"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,
"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
}Deletes a product.
Reference to a Product.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+No Content
No content
DELETE /v2/tenants/{tenantUid}/products/{productUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
List all addons for a product and productLinkType
List all addons for a product and productLinkType
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 |
| ENUM | Description |
|---|---|
| INSURANCE | Insurance products allowed to be added to the product |
| ALTERNATIVE | Alternative products if the main product is not available |
| ACCESSORY | Accessory products for the main product |
| SPARE_PART | Spare part that can be used to repair the product |
| SERVICE | Service products. |
| FREIGHT_SERVICE | Freight service products. |
| AUTO_ADD | The products will be auto added to the order and can not be removed without removing the main product. |
Example response
GET /v2/tenants/{tenantUid}/products/{productUid}/addons HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"items": [
{
"productLinkType": "INSURANCE",
"allowAddon": true,
"allowCredit": true,
"allowNegativePrice": true,
"allowPurchase": true,
"allowQuantity": true,
"allowSale": "YES",
"allowSaleDate": "2025-10-30T21:07:54.442Z",
"allowDelivery": "YES",
"allowDeliveryDate": "2025-10-30T21:07:54.442Z",
"allowOrderSpecificCost": true,
"allowOrderSpecificName": true,
"availableForWeb": true,
"brandUid": "text",
"brandName": "text",
"calculationFactor": 1,
"categoryUids": [
"text"
],
"createdAt": "2025-10-30T21:07:54.442Z",
"customerAgeRestriction": 1,
"description": "text",
"discontinuedFrom": "2025-10-30T21:07:54.442Z",
"externalId": "text",
"externalInfo": "text",
"externalUrl": "text",
"gtins": [
{
"gtin": "text",
"primary": true,
"type": "text"
}
],
"height": 1,
"internalInfo": "text",
"lastModifiedAt": "2025-10-30T21:07:54.442Z",
"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,
"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
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}List all links for a product.
Reference to a Product.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+| ENUM | Description |
|---|---|
| INSURANCE | Insurance products allowed to be added to the product |
| ALTERNATIVE | Alternative products if the main product is not available |
| ACCESSORY | Accessory products for the main product |
| SPARE_PART | Spare part that can be used to repair the product |
| SERVICE | Service products. |
| FREIGHT_SERVICE | Freight service products. |
| AUTO_ADD | The products will be auto added to the order and can not be removed without removing the main product. |
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}/links HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"items": [
{
"productLinkUid": "text",
"linkType": "INSURANCE",
"productUid": "text"
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}Create new product link
Require role tenant admin
Reference to a Product.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+| ENUM | Description |
|---|---|
| INSURANCE | Insurance products allowed to be added to the product |
| ALTERNATIVE | Alternative products if the main product is not available |
| ACCESSORY | Accessory products for the main product |
| SPARE_PART | Spare part that can be used to repair the product |
| SERVICE | Service products. |
| FREIGHT_SERVICE | Freight service products. |
| AUTO_ADD | The products will be auto added to the order and can not be removed without removing the main product. |
^[A-Za-z0-9-_]+^[A-Za-z0-9-_]+Example response
POST /v2/tenants/{tenantUid}/products/{productUid}/links HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 68
{
"linkType": "INSURANCE",
"productUid": "text",
"productLinkUid": "text"
}Example response
{
"productLinkUid": "text",
"linkType": "INSURANCE",
"productUid": "text"
}List all parent links for a product.
Reference to a Product.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+| ENUM | Description |
|---|---|
| INSURANCE | Insurance products allowed to be added to the product |
| ALTERNATIVE | Alternative products if the main product is not available |
| ACCESSORY | Accessory products for the main product |
| SPARE_PART | Spare part that can be used to repair the product |
| SERVICE | Service products. |
| FREIGHT_SERVICE | Freight service products. |
| AUTO_ADD | The products will be auto added to the order and can not be removed without removing the main product. |
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}/links/parents HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"items": [
{
"productLinkUid": "text",
"linkType": "INSURANCE",
"parentProductUid": "text"
}
],
"paging": {
"pageNumber": 1,
"pageSize": 1,
"totalCount": 1
}
}Get Product link details
Reference to a Product.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+Reference to a Product link.
^[A-Za-z0-9-_]+Example response
GET /v2/tenants/{tenantUid}/products/{productUid}/links/{productLinkUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Example response
{
"productLinkUid": "text",
"linkType": "INSURANCE",
"productUid": "text"
}Delete a product link
Require role tenant admin
Reference to a Product.
^[A-Za-z0-9-_]+Reference to a tenant.
^[A-Za-z0-9-_]+Reference to a Product link.
^[A-Za-z0-9-_]+No Content
No content
DELETE /v2/tenants/{tenantUid}/products/{productUid}/links/{productLinkUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
Get new generated SKU.
Reference to a tenant.
^[A-Za-z0-9-_]+Example response
POST /v2/tenants/{tenantUid}/products/sku HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 18
{
"type": "NUMERIC"
}Example response
{
"generatedSku": "text",
"type": "NUMERIC"
}Last updated