Heads up, our devs are blazing ahead—docs are catching up, so some features might not be fully documented yet.

Product

Product

List brands

get

List all brands.

Required permission: TENANT.ACCESS

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Query parameters
brandNamestringOptional

Reference to the name of a brand.

brandExternalIdstringOptional

External reference to a brand.

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
GET /v2/tenants/{tenantUid}/brands HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "items": [
    {
      "brandUid": "text",
      "createdAt": "2025-07-30T18:09:05.832Z",
      "externalId": "text",
      "lastModifiedAt": "2025-07-30T18:09:05.832Z",
      "name": "text"
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Create a new brand

post

Create a new brand.

Required permission: TENANT.BACKOFFICE

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
all ofOptional
and
Responses
200
Brand
application/json
post
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"
}
200

Brand

{
  "brandUid": "text",
  "createdAt": "2025-07-30T18:09:05.832Z",
  "externalId": "text",
  "lastModifiedAt": "2025-07-30T18:09:05.832Z",
  "name": "text"
}

Search brands

post

Searches for brands based on criteria set in the request body. Required permission: TENANT.ACCESS

Authorizations
Path parameters
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:
Body
exactMatchbooleanOptional
querystringOptional
Responses
200
Example response
application/json
post
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"
}
200

Example response

{
  "items": [
    {
      "brandUid": "text",
      "createdAt": "2025-07-30T18:09:05.832Z",
      "externalId": "text",
      "lastModifiedAt": "2025-07-30T18:09:05.832Z",
      "name": "text"
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Get brand details

get

Get details for a brand.

Required permission: TENANT.ACCESS

Authorizations
Path parameters
brandUidstringRequired

Reference to a Brand.

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

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Responses
200
Brand
application/json
get
GET /v2/tenants/{tenantUid}/brands/{brandUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Brand

{
  "brandUid": "text",
  "createdAt": "2025-07-30T18:09:05.832Z",
  "externalId": "text",
  "lastModifiedAt": "2025-07-30T18:09:05.832Z",
  "name": "text"
}

Update brand details

put

Update details for a brand. Partial updates are allowed.

Required permission: TENANT.BACKOFFICE

Authorizations
Path parameters
brandUidstringRequired

Reference to a Brand.

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

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
externalIdstringOptional
namestringRequired
Responses
200
Brand
application/json
put
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"
}
200

Brand

{
  "brandUid": "text",
  "createdAt": "2025-07-30T18:09:05.832Z",
  "externalId": "text",
  "lastModifiedAt": "2025-07-30T18:09:05.832Z",
  "name": "text"
}

Delete a brand

delete

Deletes the a brand.

Required permission: TENANT.BACKOFFICE

Authorizations
Path parameters
brandUidstringRequired

Reference to a Brand.

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

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Responses
204
No Content
delete
DELETE /v2/tenants/{tenantUid}/brands/{brandUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

List products

get

Lists all products.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Query parameters
productNamestringOptional

Reference to the name of a product.

productBrandUidstringOptional

Reference to a Brand uid.

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

Reference to a ProductGroup uid.

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

External reference to a product.

productPropertyUidsstring[]Optional

Reference to a list of propertyUids.

productPropertyOptionUidsstring[]Optional

Reference to a list of property options.

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:
excludeVariantsbooleanOptional

Exclude product variants.

includeDiscontinuedbooleanOptional

Include discontinued products

hideNotAllowPurchasebooleanOptional

when true, only show products with allowPurchase = true

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

Example response

{
  "items": [
    {
      "allowAddon": true,
      "allowCredit": true,
      "allowPurchase": true,
      "allowQuantity": true,
      "allowSale": "YES",
      "allowSaleDate": "2025-07-30T18:09:05.832Z",
      "allowDelivery": "YES",
      "allowDeliveryDate": "2025-07-30T18:09:05.832Z",
      "availableForWeb": true,
      "brandUid": "text",
      "brandName": "text",
      "calculationFactor": 1,
      "categoryUids": [
        "text"
      ],
      "createdAt": "2025-07-30T18:09:05.832Z",
      "customerAgeRestriction": 1,
      "description": "text",
      "discontinuedFrom": "2025-07-30T18:09:05.832Z",
      "externalId": "text",
      "externalInfo": "text",
      "externalUrl": "text",
      "gtins": [
        {
          "gtin": "text",
          "primary": true,
          "type": "text"
        }
      ],
      "height": 1,
      "internalInfo": "text",
      "lastModifiedAt": "2025-07-30T18:09:05.832Z",
      "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
  }
}

Create a new product

post

CONFIGURABLEproducts must have at least one required variant property UID.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
allowCreditbooleanOptional
allowPurchasebooleanOptional
allowQuantitybooleanOptional
allowSalestring · enumOptional
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-timeOptional
allowDeliverystring · enumOptional
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-timeOptional
availableForWebbooleanOptional

The product is available for web sale

brandUidstringRequiredPattern: ^[A-Za-z0-9-_]+
calculationFactorintegerOptional
customerAgeRestrictionintegerOptional

Age restriction for the customer. 0 = no restriction

categoryUidsstring[]Optional
descriptionstringOptional
discontinuedFromstring · date-timeOptional
externalIdstringOptional
externalInfostringOptional
externalUrlstringOptional
heightintegerOptional
internalInfostringOptional
ledgerNumberstringOptional

Ledger number must be a valid number with possible leading zeros

lengthintegerOptional
namestringRequired
priceOverridebooleanOptional
productUidstringOptionalPattern: ^[A-Za-z0-9-_]+
productGroupUidstringRequiredPattern: ^[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:
recommendedRetailPriceintegerOptional
requiredVariantPropertyUidsstring[]Optional

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

serialNoRequiredstring · enumOptional
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:
shortDescriptionstringOptional
skustringRequired
manufacturerSkustringOptional
unitLabelstringOptional
vatCodeUidstringRequiredPattern: ^[A-Za-z0-9-_]+
weightintegerOptional
widthintegerOptional
commissionintegerOptional

A commission to be paid to the supplier after delivery.

visibilitystring · enumOptionalPossible values:
productWarrantyUidstringOptionalPattern: ^[A-Za-z0-9-_]*
excludeFromStatisticsbooleanOptionalDefault: false
purchasePriceintegerOptional
numberOfPiecesintegerOptional

Indicates how many packages/parts the product consists of.

limitToStoreUidsstring[]Optional

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

Responses
200
Example response
application/json
post
POST /v2/tenants/{tenantUid}/products HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1479

{
  "allowCredit": true,
  "allowPurchase": true,
  "allowQuantity": true,
  "allowSale": "YES",
  "allowSaleDate": "2025-07-30T18:09:05.832Z",
  "allowDelivery": "YES",
  "allowDeliveryDate": "2025-07-30T18:09:05.832Z",
  "availableForWeb": true,
  "brandUid": "text",
  "calculationFactor": 1,
  "customerAgeRestriction": 1,
  "categoryUids": [
    "text"
  ],
  "description": "text",
  "discontinuedFrom": "2025-07-30T18:09:05.832Z",
  "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
  },
  "commission": 1,
  "visibility": "ALWAYS_VISIBLE",
  "productWarrantyUid": "text",
  "excludeFromStatistics": false,
  "purchasePrice": 1,
  "numberOfPieces": 1,
  "limitToStoreUids": [
    "text"
  ]
}
200

Example response

{
  "allowAddon": true,
  "allowCredit": true,
  "allowPurchase": true,
  "allowQuantity": true,
  "allowSale": "YES",
  "allowSaleDate": "2025-07-30T18:09:05.832Z",
  "allowDelivery": "YES",
  "allowDeliveryDate": "2025-07-30T18:09:05.832Z",
  "availableForWeb": true,
  "brandUid": "text",
  "brandName": "text",
  "calculationFactor": 1,
  "categoryUids": [
    "text"
  ],
  "createdAt": "2025-07-30T18:09:05.832Z",
  "customerAgeRestriction": 1,
  "description": "text",
  "discontinuedFrom": "2025-07-30T18:09:05.832Z",
  "externalId": "text",
  "externalInfo": "text",
  "externalUrl": "text",
  "gtins": [
    {
      "gtin": "text",
      "primary": true,
      "type": "text"
    }
  ],
  "height": 1,
  "internalInfo": "text",
  "lastModifiedAt": "2025-07-30T18:09:05.832Z",
  "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"
  ]
}

Search products

post

Searches for products based on criteria set in the request body.

If productGroupUid is set, productGroupScopes is omitted.

Authorizations
Path parameters
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:
Body
brandUidstringOptionalPattern: ^[A-Za-z0-9-_]+
exactMatchbooleanOptional
productGroupUidsstring[]Optional

Filter on product group UIDs

querystringOptional
supplierUidstringOptionalPattern: ^[A-Za-z0-9-_]+
propertyUidsstring[]Optional

Filter on property UIDs a product must be linked to

propertyOptionUidsstring[]Optional

Filter on property option UIDs a product must be linked to

productUidsstring[]Optional

A list of productUids to search for

hideVariantsbooleanOptional

Do not search in variant products.

includeDiscontinuedbooleanOptional
hideNotAllowPurchasebooleanOptional

when true, only show products with allowPurchase = true

Responses
200
Example response
application/json
post
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: 340

{
  "brandUid": "text",
  "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
}
200

Example response

{
  "items": [
    {
      "allowAddon": true,
      "allowCredit": true,
      "allowPurchase": true,
      "allowQuantity": true,
      "allowSale": "YES",
      "allowSaleDate": "2025-07-30T18:09:05.832Z",
      "allowDelivery": "YES",
      "allowDeliveryDate": "2025-07-30T18:09:05.832Z",
      "availableForWeb": true,
      "brandUid": "text",
      "brandName": "text",
      "calculationFactor": 1,
      "categoryUids": [
        "text"
      ],
      "createdAt": "2025-07-30T18:09:05.832Z",
      "customerAgeRestriction": 1,
      "description": "text",
      "discontinuedFrom": "2025-07-30T18:09:05.832Z",
      "externalId": "text",
      "externalInfo": "text",
      "externalUrl": "text",
      "gtins": [
        {
          "gtin": "text",
          "primary": true,
          "type": "text"
        }
      ],
      "height": 1,
      "internalInfo": "text",
      "lastModifiedAt": "2025-07-30T18:09:05.832Z",
      "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
  }
}

Print operations for products

post

Do product-specific prints

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

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

Reference to a Product.

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

The printerUid will be required when the peripheralUid is removed.

storeUidstringOptionalPattern: ^[A-Za-z0-9-_]+
typestring · enum · min: 1Required
ENUM Description
BARCODE Print barcode labels
Possible values:
templatestringRequired

Must be a valid template name from /v2/metadata/labels

peripheralUidstringOptionalDeprecatedPattern: ^[A-Za-z0-9-_]+
printerUidstringOptionalPattern: ^[A-Za-z0-9-_]+
copiesintegerOptional
serialnumbersstring[]Optional

Prints a label for each serial number, appending the serial number as barcode and plain text.

Responses
204
No Content
post
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"
  ]
}
204

No Content

No content

Get product details

get

Get details for a product.

Authorizations
Path parameters
productUidstringRequired

Reference to a Product.

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

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Responses
200
Example response
application/json
get
GET /v2/tenants/{tenantUid}/products/{productUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "allowAddon": true,
  "allowCredit": true,
  "allowPurchase": true,
  "allowQuantity": true,
  "allowSale": "YES",
  "allowSaleDate": "2025-07-30T18:09:05.832Z",
  "allowDelivery": "YES",
  "allowDeliveryDate": "2025-07-30T18:09:05.832Z",
  "availableForWeb": true,
  "brandUid": "text",
  "brandName": "text",
  "calculationFactor": 1,
  "categoryUids": [
    "text"
  ],
  "createdAt": "2025-07-30T18:09:05.832Z",
  "customerAgeRestriction": 1,
  "description": "text",
  "discontinuedFrom": "2025-07-30T18:09:05.832Z",
  "externalId": "text",
  "externalInfo": "text",
  "externalUrl": "text",
  "gtins": [
    {
      "gtin": "text",
      "primary": true,
      "type": "text"
    }
  ],
  "height": 1,
  "internalInfo": "text",
  "lastModifiedAt": "2025-07-30T18:09:05.832Z",
  "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"
  ]
}

Update product details

put

Partial updates are allowed. On CONFIGURABLEproducts, the required variant property UID's can only be changed while no variant products have been added.

Authorizations
Path parameters
productUidstringRequired

Reference to a Product.

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

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
allowCreditbooleanOptional
allowPurchasebooleanOptional
allowQuantitybooleanOptional
allowSalestring · enumOptional
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-timeOptional
allowDeliverystring · enumOptional
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-timeOptional
availableForWebbooleanOptional

The product is available for web sale

brandUidstringOptionalPattern: ^[A-Za-z0-9-_]+
calculationFactorintegerOptional
categoryUidsstring[]Optional
customerAgeRestrictionintegerOptional

Age restriction for the customer. 0 = no restriction

descriptionstringOptional
discontinuedFromstring · date-time | nullableOptional
externalIdstringOptional
externalInfostringOptional
externalUrlstringOptional
heightintegerOptional
internalInfostringOptional
ledgerNumberstringOptional

Ledger number must be a valid number with possible leading zeros

lengthintegerOptional
namestringOptional
priceOverridebooleanOptional

Allow to override the price on an order

productGroupUidstringOptionalPattern: ^[A-Za-z0-9-_]+
recommendedRetailPriceintegerOptional
serialNoRequiredstring · enumOptional
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:
requiredVariantPropertyUidsstring[]Optional
shortDescriptionstringOptional
skustringOptional
manufacturerSkustringOptional
unitLabelstringOptional
vatCodeUidstringOptionalPattern: ^[A-Za-z0-9-_]+
weightintegerOptional
widthintegerOptional
commissionintegerOptional

A commission to be paid to the supplier after delivery.

visibilitystring · enumOptionalPossible values:
productWarrantyUidstringOptionalPattern: ^[A-Za-z0-9-_]*
excludeFromStatisticsbooleanOptional
purchasePriceintegerOptional
numberOfPiecesintegerOptional

Indicates how many packages/parts the product consists of.

limitToStoreUidsstring[]Optional

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

Responses
200
Example response
application/json
put
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: 1237

{
  "allowCredit": true,
  "allowPurchase": true,
  "allowQuantity": true,
  "allowSale": "YES",
  "allowSaleDate": "2025-07-30T18:09:05.832Z",
  "allowDelivery": "YES",
  "allowDeliveryDate": "2025-07-30T18:09:05.832Z",
  "availableForWeb": true,
  "brandUid": "text",
  "calculationFactor": 1,
  "categoryUids": [
    "text"
  ],
  "customerAgeRestriction": 1,
  "description": "text",
  "discontinuedFrom": "2025-07-30T18:09:05.832Z",
  "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
  },
  "coverImage": {
    "productMediaUid": "text"
  },
  "commission": 1,
  "visibility": "ALWAYS_VISIBLE",
  "productWarrantyUid": "text",
  "excludeFromStatistics": true,
  "purchasePrice": 1,
  "numberOfPieces": 1,
  "limitToStoreUids": [
    "text"
  ]
}
200

Example response

{
  "allowAddon": true,
  "allowCredit": true,
  "allowPurchase": true,
  "allowQuantity": true,
  "allowSale": "YES",
  "allowSaleDate": "2025-07-30T18:09:05.832Z",
  "allowDelivery": "YES",
  "allowDeliveryDate": "2025-07-30T18:09:05.832Z",
  "availableForWeb": true,
  "brandUid": "text",
  "brandName": "text",
  "calculationFactor": 1,
  "categoryUids": [
    "text"
  ],
  "createdAt": "2025-07-30T18:09:05.832Z",
  "customerAgeRestriction": 1,
  "description": "text",
  "discontinuedFrom": "2025-07-30T18:09:05.832Z",
  "externalId": "text",
  "externalInfo": "text",
  "externalUrl": "text",
  "gtins": [
    {
      "gtin": "text",
      "primary": true,
      "type": "text"
    }
  ],
  "height": 1,
  "internalInfo": "text",
  "lastModifiedAt": "2025-07-30T18:09:05.832Z",
  "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

delete

Deletes a product.

Authorizations
Path parameters
productUidstringRequired

Reference to a Product.

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

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Responses
204
No Content
delete
DELETE /v2/tenants/{tenantUid}/products/{productUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

No Content

No content

List all addons for a product and productLinkType

get

List all addons for a product and productLinkType

Authorizations
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:
productLinkTypestring · enumOptional

Reference to a productLinkType.

Possible values:
Responses
200
Example response
application/json
get
GET /v2/tenants/{tenantUid}/products/{productUid}/addons HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "items": [
    {
      "productLinkType": "INSURANCE",
      "allowAddon": true,
      "allowCredit": true,
      "allowPurchase": true,
      "allowQuantity": true,
      "allowSale": "YES",
      "allowSaleDate": "2025-07-30T18:09:05.832Z",
      "allowDelivery": "YES",
      "allowDeliveryDate": "2025-07-30T18:09:05.832Z",
      "availableForWeb": true,
      "brandUid": "text",
      "brandName": "text",
      "calculationFactor": 1,
      "categoryUids": [
        "text"
      ],
      "createdAt": "2025-07-30T18:09:05.832Z",
      "customerAgeRestriction": 1,
      "description": "text",
      "discontinuedFrom": "2025-07-30T18:09:05.832Z",
      "externalId": "text",
      "externalInfo": "text",
      "externalUrl": "text",
      "gtins": [
        {
          "gtin": "text",
          "primary": true,
          "type": "text"
        }
      ],
      "height": 1,
      "internalInfo": "text",
      "lastModifiedAt": "2025-07-30T18:09:05.832Z",
      "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
  }
}
get

List all links for a product.

Authorizations
Path parameters
productUidstringRequired

Reference to a Product.

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

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Query parameters
productLinkTypestring · enumOptional

Reference to a productLinkType.

Possible values:
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
GET /v2/tenants/{tenantUid}/products/{productUid}/links HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "items": [
    {
      "productLinkUid": "text",
      "linkType": "INSURANCE",
      "productUid": "text"
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Create new product link

post

Create new product link

Require role tenant admin

Authorizations
Path parameters
productUidstringRequired

Reference to a Product.

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

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
linkTypestring · enumRequiredPossible values:
productUidstringRequiredPattern: ^[A-Za-z0-9-_]+
productLinkUidstringOptionalPattern: ^[A-Za-z0-9-_]+
Responses
200
Example response
application/json
Responseall of
and
post
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"
}
200

Example response

{
  "productLinkUid": "text",
  "linkType": "INSURANCE",
  "productUid": "text"
}
get

List all parent links for a product.

Authorizations
Path parameters
productUidstringRequired

Reference to a Product.

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

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Query parameters
productLinkTypestring · enumOptional

Reference to a productLinkType.

Possible values:
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
GET /v2/tenants/{tenantUid}/products/{productUid}/links/parents HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "items": [
    {
      "productLinkUid": "text",
      "linkType": "INSURANCE",
      "parentProductUid": "text"
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}
get

Get Product link details

Authorizations
Path parameters
productUidstringRequired

Reference to a Product.

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

Reference to a tenant.

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

Reference to a Product link.

Pattern: ^[A-Za-z0-9-_]+
Responses
200
Example response
application/json
Responseall of
and
get
GET /v2/tenants/{tenantUid}/products/{productUid}/links/{productLinkUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "productLinkUid": "text",
  "linkType": "INSURANCE",
  "productUid": "text"
}
delete

Delete a product link

Require role tenant admin

Authorizations
Path parameters
productUidstringRequired

Reference to a Product.

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

Reference to a tenant.

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

Reference to a Product link.

Pattern: ^[A-Za-z0-9-_]+
Responses
204
No Content
delete
DELETE /v2/tenants/{tenantUid}/products/{productUid}/links/{productLinkUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

No Content

No content

Get new generated SKU

post

Get new generated SKU.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
typestring · enumRequiredPossible values:
Responses
201
Example response
application/json
post
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"
}
201

Example response

{
  "generatedSku": "text",
  "type": "NUMERIC"
}

Was this helpful?