GET/v1/tenants/{tenantId}/ecom_stores/{eComStoreId}/products/frequently_bought_together

List products frequently bought together with given products Experimental

Suggests up to 6 products that customers often buy on the same order as the given products, best match first. Pass one product for a product page, or every product in a cart. The given products themselves are left out. Every suggestion is sellable and in stock, as /products/search with inStock=true would list it. The list is empty when nothing qualifies.

Parameters

tenantIdrequired
eComStoreIdrequired
productIdrequired

Products to suggest for, by id (repeatable, 1 to 50)

Responses

200Response
application/json
currencyIsoCoderequired

ISO 4217 currency of every price in the list

Example"NOK"
itemsrequired

Best match first

Show item fields

A product as listed in the storefront catalog

brandrequired
Show child fields
idrequired

Usable as a filter value

namerequired

Dimension name by language code, as the product_schema endpoints return it

Show child fields
valuerequired
Show dictionary values

Each dictionary key maps to .

idrequired

Fetch details with GET /products/{productId}

inStockrequired

Whether any published sku of the product is available from its resolved fulfillment warehouse

Exampletrue
mainImageUrloptional

Delivery URL of the product's main image

mainProductGrouprequired
Show child fields
idrequired

Usable as a filter value

namerequired

Dimension name by language code, as the product_schema endpoints return it

Show child fields
valuerequired
Show dictionary values

Each dictionary key maps to .

newFromoptional

First day the product is marketed as new

  • Format: date
Example"2026-01-14"
newTooptional

Last day the product is marketed as new

  • Format: date
Example"2026-01-14"
offersrequired

Basket offers such as 3 for 2 that cover the product; prices above do not include them

Show item fields

A basket offer that covers the product, such as 3 for 2. It has no unit price of its own; the cart applies it once the basket qualifies.

campaignIdrequired
campaignTyperequired

Kind of offer; currently only THREE_FOR_TWO

Allowed values"NORMAL""THREE_FOR_TWO"
Example"THREE_FOR_TWO"
codeoptional
Example"TFT-SUMMER"
loyaltyProgramMembershipRequiredrequired

Whether only loyalty members get the offer

Examplefalse
namerequired
pricerequired

Gross prices in the store's currency: the ordinary price and, where a campaign covers a sku, the lowest campaign and loyalty member prices

Show child fields
campaignPriceoptional
  • Format: BigDecimal
  • Pattern: ^-?\d+(\.\d{1,2})?$
Example"249.00"
loyaltyMemberPriceoptional
  • Format: BigDecimal
  • Pattern: ^-?\d+(\.\d{1,2})?$
Example"239.00"
pricerequired

Regular price

  • Format: BigDecimal
  • Pattern: ^-?\d+(\.\d{1,2})?$
Example"299.00"
productCategoryrequired
Show child fields
idrequired

Usable as a filter value

namerequired

Dimension name by language code, as the product_schema endpoints return it

Show child fields
valuerequired
Show dictionary values

Each dictionary key maps to .

productNamerequired

Product name by language code, as GET /products/{productId} returns it

Show child fields
valuerequired
Show dictionary values

Each dictionary key maps to .

productNumberrequired
Example"100234"
subProductGrouprequired
Show child fields
idrequired

Usable as a filter value

namerequired

Dimension name by language code, as the product_schema endpoints return it

Show child fields
valuerequired
Show dictionary values

Each dictionary key maps to .

400productId missing, not a UUID, or given more than 50 times

productId missing, not a UUID, or given more than 50 times

application/json
errorrequired

Stable error code

Example"INVALID_REQUEST"
messagerequired

Human-readable error message

Example"Invalid customer ID format"
resolutionrequired

Suggested next action

Example"Correct the customer ID and retry the request"
401Response
application/json
errorrequired

Stable error code

Example"INVALID_REQUEST"
messagerequired

Human-readable error message

Example"Invalid customer ID format"
resolutionrequired

Suggested next action

Example"Correct the customer ID and retry the request"
403Response
application/json
errorrequired

Stable error code

Example"INVALID_REQUEST"
messagerequired

Human-readable error message

Example"Invalid customer ID format"
resolutionrequired

Suggested next action

Example"Correct the customer ID and retry the request"