Recommendations combine explicit curation with an ordered automatic rule chain. Pinned products are shown first, then rules fill the remaining positions. Exclusions hide products from all recommendations, including pinned products and Recently viewed. The free-product policy affects automatic selection only; pinned free products remain eligible. Reads use read_products, and writes use write_products.
Settings apply across storefronts. include_subcategories affects only same-category rules. Recently viewed history follows the configured window and consent policy. List responses include compact product references so integrations can render them without one request per product.
Endpoints#
Recommendation limits
Get recommendation limits and supported modes.
Use this response to build controls; do not hardcode limits or enum values.
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Errors
-
401UNAUTHORIZEDAuthorization header missing, malformed, or token invalid/expired.
-
402SUBSCRIPTION_REQUIREDThe store does not have an active or trialing subscription.
-
403STORE_API_SCOPE_REQUIREDToken is valid but lacks the required scope for this call.
-
429RATE_LIMITEDThe token's request allowance is exhausted. Retry after the Retry-After header.
Get recommendation settings
Get store-wide recommendation settings.
These settings govern related-product and recently-viewed rails across storefronts.
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Errors
-
401UNAUTHORIZEDAuthorization header missing, malformed, or token invalid/expired.
-
402SUBSCRIPTION_REQUIREDThe store does not have an active or trialing subscription.
-
403STORE_API_SCOPE_REQUIREDToken is valid but lacks the required scope for this call.
-
429RATE_LIMITEDThe token's request allowance is exhausted. Retry after the Retry-After header.
Update recommendation settings
Replace store-wide recommendation settings.
Send the complete settings object returned by GET.
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Body parameters
| Name | Type | Description |
|---|---|---|
related_limit
required
|
integer |
Products in the related rail. |
recently_viewed_enabled
required
|
boolean |
Whether Recently viewed is enabled. |
recently_viewed_limit
required
|
integer |
Products in Recently viewed. |
history_window_days
required
|
integer |
History window from limits. |
hide_out_of_stock
required
|
boolean |
Exclude sold-out products automatically. |
exclude_free_products
required
|
boolean |
Exclude zero-price products automatically. |
cross_device_history
required
|
string |
Cross-device mode from limits. |
Errors
-
401UNAUTHORIZEDAuthorization header missing, malformed, or token invalid/expired.
-
402SUBSCRIPTION_REQUIREDThe store does not have an active or trialing subscription.
-
403STORE_API_SCOPE_REQUIREDToken is valid but lacks the required scope for this call.
-
429RATE_LIMITEDThe token's request allowance is exhausted. Retry after the Retry-After header.
Get recommendation rules
Get the ordered automatic recommendation rule chain.
Rules run after pinned products and fill the rail in position order. An empty list uses the default category best-seller rule.
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Errors
-
401UNAUTHORIZEDAuthorization header missing, malformed, or token invalid/expired.
-
402SUBSCRIPTION_REQUIREDThe store does not have an active or trialing subscription.
-
403STORE_API_SCOPE_REQUIREDToken is valid but lacks the required scope for this call.
-
429RATE_LIMITEDThe token's request allowance is exhausted. Retry after the Retry-After header.
Set recommendation rules
Replace the ordered recommendation rule chain.
Send rules in display order. same_attribute requires an attribute id in match_value; include_subcategories applies only to same_category. Send an empty array to restore the default category best-seller rule.
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Body parameters
| Name | Type | Description |
|---|---|---|
rules
required
|
array<object> |
Complete ordered rule list. |
Errors
-
401UNAUTHORIZEDAuthorization header missing, malformed, or token invalid/expired.
-
402SUBSCRIPTION_REQUIREDThe store does not have an active or trialing subscription.
-
403STORE_API_SCOPE_REQUIREDToken is valid but lacks the required scope for this call.
-
429RATE_LIMITEDThe token's request allowance is exhausted. Retry after the Retry-After header.
List curated products
List products that have pinned recommendation lists.
Compact product references are included so clients do not need one product request per row.
Query parameters
| Name | Type | Description |
|---|---|---|
page
|
integer |
Page number. |
limit
|
integer |
Page size bounded by the limits response. |
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Errors
-
401UNAUTHORIZEDAuthorization header missing, malformed, or token invalid/expired.
-
402SUBSCRIPTION_REQUIREDThe store does not have an active or trialing subscription.
-
403STORE_API_SCOPE_REQUIREDToken is valid but lacks the required scope for this call.
-
429RATE_LIMITEDThe token's request allowance is exhausted. Retry after the Retry-After header.
Get pinned recommendations
Get one product's ordered pinned recommendations.
The products array follows pin order and contains display identity.
Path parameters
| Name | Type | Description |
|---|---|---|
productId
required
|
integer |
Store-scoped product id. |
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Errors
-
401UNAUTHORIZEDAuthorization header missing, malformed, or token invalid/expired.
-
402SUBSCRIPTION_REQUIREDThe store does not have an active or trialing subscription.
-
403STORE_API_SCOPE_REQUIREDToken is valid but lacks the required scope for this call.
-
429RATE_LIMITEDThe token's request allowance is exhausted. Retry after the Retry-After header.
Set pinned recommendations
Replace one product's ordered pinned recommendations.
A product cannot pin itself or repeat a related product.
Path parameters
| Name | Type | Description |
|---|---|---|
productId
required
|
integer |
Store-scoped product id. |
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Body parameters
| Name | Type | Description |
|---|---|---|
related_ids
required
|
array<integer> |
Related product ids in display order. |
Errors
-
401UNAUTHORIZEDAuthorization header missing, malformed, or token invalid/expired.
-
402SUBSCRIPTION_REQUIREDThe store does not have an active or trialing subscription.
-
403STORE_API_SCOPE_REQUIREDToken is valid but lacks the required scope for this call.
-
429RATE_LIMITEDThe token's request allowance is exhausted. Retry after the Retry-After header.
List recommendation exclusions
List products excluded from all recommendations.
Compact product references are returned with the ID list.
Query parameters
| Name | Type | Description |
|---|---|---|
page
|
integer |
Page number. |
limit
|
integer |
Page size bounded by the limits response. |
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Errors
-
401UNAUTHORIZEDAuthorization header missing, malformed, or token invalid/expired.
-
402SUBSCRIPTION_REQUIREDThe store does not have an active or trialing subscription.
-
403STORE_API_SCOPE_REQUIREDToken is valid but lacks the required scope for this call.
-
429RATE_LIMITEDThe token's request allowance is exhausted. Retry after the Retry-After header.
Exclude a product
Exclude a product from all recommendations.
Exclusions apply to pinned products as well as automatic and recently-viewed recommendations. They do not unpublish the product.
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Body parameters
| Name | Type | Description |
|---|---|---|
product_id
required
|
integer |
Product id. |
Errors
-
401UNAUTHORIZEDAuthorization header missing, malformed, or token invalid/expired.
-
402SUBSCRIPTION_REQUIREDThe store does not have an active or trialing subscription.
-
403STORE_API_SCOPE_REQUIREDToken is valid but lacks the required scope for this call.
-
429RATE_LIMITEDThe token's request allowance is exhausted. Retry after the Retry-After header.
Remove a recommendation exclusion
Allow a product to be recommended automatically again.
The operation is idempotent.
Path parameters
| Name | Type | Description |
|---|---|---|
productId
required
|
integer |
Store-scoped product id. |
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Errors
-
401UNAUTHORIZEDAuthorization header missing, malformed, or token invalid/expired.
-
402SUBSCRIPTION_REQUIREDThe store does not have an active or trialing subscription.
-
403STORE_API_SCOPE_REQUIREDToken is valid but lacks the required scope for this call.
-
429RATE_LIMITEDThe token's request allowance is exhausted. Retry after the Retry-After header.