openapi: 3.2.0
info:
title: Clerk.io Recommendations API
version: '2'
description: 'Clerk.io e-commerce personalisation REST API. Ingest and manage catalog data (products, categories, pages, orders, order parcels, customers, accessories), run behaviour-ranked search and predictive search-as-you-type, request recommendation logics (popular, trending, new, complementary, substituting, visitor- and customer-personalised, category- and page-scoped), manage merchandising (custom search configurations, synonyms, redirects), drive audiences/campaigns/subscribers for email, log visitor behaviour events, and service GDPR privacy requests.
All endpoints live under https://api.clerk.io/v2. Authentication uses a dual-key model: the public `key` identifies the store and is safe in browser-side calls; `private_key` is additionally required for write and sensitive operations and MUST only be sent over SSL.'
contact:
name: Clerk.io Documentation
url: https://docs.clerk.io/
x-provenance:
method: searched
harvested: '2026-08-13'
source: https://docs.clerk.io/reference/ (ReadMe API Designer OpenAPI 3.1.0 fragments per reference page)
original: openapi/_original/clerk-io-api-settings-openapi-original.yml
note: Provider-published operation content is verbatim. API Evangelist added the document title/description, tags[] declarations and per-operation tag assignment; see overlays/clerk-io-api-overlay.yaml.
servers:
- url: https://api.clerk.io/v2
security:
- sec0: []
tags:
- name: Recommendations
paths:
/recommendations/bundle:
get:
summary: recommendations/bundle
description: This endpoint is deprecated and has been replaced by recommendations/complementary
operationId: recommendations-bundle
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: product
in: query
description: Product ID for the product you want bundled products for.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/bundle?key=store_api_key&product=123&limit=30&labels=["Bundled products"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"product\": 123, \n \"limit\": 30,\n \"visitor\": \"unique_visitor_id\",\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Bundle options\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n http://api.clerk.io/v2/recommendations/bundle"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/category/new:
get:
summary: recommendations/category/new
description: The products in a given category (and subcategories) that were most recently added to the store.
operationId: recommendationscategorynew
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: category
in: query
description: Category ID for the category you want popular products for.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: filter
in: query
description: A attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/category/new?key=store_api_key&category=123&limit=30&labels=["New products in this category"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"category\": 123, \n \"limit\": 30,\n \"visitor\": \"unique_visitor_id\",\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Category Popular\"]' \\\n http://api.clerk.io/v2/recommendations/category/new"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/category/popular:
get:
summary: recommendations/category/popular
description: The products in a given category (and subcategories) that are most popular among customers right now.
operationId: recommendations-category-popular
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: category
in: query
description: Category ID for the category you want popular products for.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: offset
in: query
description: Offset into the result. See pagenation docs for a deeper specification on how to use pagenation.
schema:
type: integer
format: int32
default: 0
- name: filter
in: query
description: A attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: facets
in: query
description: List of facets to be returned for the products in the result. See API documentation on Facets for details.
schema:
type: array
items:
type: string
- name: orderby
in: query
description: Attribute to order the results by.
schema:
type: string
- name: order
in: query
description: Should the ordering from `orderby` be ascending (asc) or descending (desc).
schema:
type: string
default: asc
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/category/popular?key=store_api_key&category=123&limit=30&labels=["Category Popular"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"category\": 123, \n \"limit\": 30,\n \"offset\": 60,\n \"visitor\": \"unique_visitor_id\",\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Category Popular\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n http://api.clerk.io/v2/recommendations/category/popular"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/category/popular_subcategories:
get:
summary: recommendations/category/popular_subcategories
description: The subcategories in a given category that are most popular among customers right now.
operationId: recommendationscategorypopular_subcategories
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: category
in: query
description: Category ID for the category you want popular products for.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: offset
in: query
description: Offset into the result. See pagenation docs for a deeper specification on how to use pagenation.
schema:
type: integer
format: int32
default: 0
- name: order
in: query
description: Should the subcategories be in descending or ascending order. Default is descending so the most popular is the first result.
schema:
type: string
default: desc
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [{'url':'https://www.yoursite.com/category1','name':'category1','id':123},{'url':'https://www.yoursite.com/category2','name':'category2','id':124},{'url':'https://www.yoursite.com/category3','name':'category3','id':325} ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/category/popular_subcategories?key=store_api_key&category=123&limit=30
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"category\": 123, \n \"limit\": 30,\n \"offset\": 60,\n \"visitor\": \"unique_visitor_id\",\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Category Popular\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n http://api.clerk.io/v2/recommendations/category/popular"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/category/trending:
get:
summary: recommendations/category/trending
description: The products in a given category (and subcategories) that are growing the most in popularity amongst customers right now.
operationId: recommendationscategorytrending
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: category
in: query
description: Category ID for the category you want popular products for.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: offset
in: query
description: Offset into the result. See pagenation docs for a deeper specification on how to use pagenation.
schema:
type: integer
format: int32
default: 0
- name: filter
in: query
description: A attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: facets
in: query
description: List of facets to be returned for the products in the result. See API documentation on Facets for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/category/trending?key=store_api_key&category=123&limit=30&labels=["Trending In This Category"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"category\": 123, \n \"limit\": 30,\n \"offset\": 60,\n \"visitor\": \"unique_visitor_id\",\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Trending In This Category\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n http://api.clerk.io/v2/recommendations/category/trending"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/complementary:
get:
summary: recommendations/complementary
description: The products that customers are most likely to buy with a given product or multiple products.
operationId: recommendations-complementary
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: products
in: query
description: Product ID(s) for the products you want complementary products for.
required: true
schema:
type: array
items:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: filter
in: query
description: A attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/complementary?key=store_api_key&products=[123,456,789]&limit=30&labels=["Best Cross-Sell Products"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"products\": [123], \n \"limit\": 30,\n \"visitor\": \"unique_visitor_id\",\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Best Cross-Sell Products\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n https://api.clerk.io/v2/recommendations/complementary"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/currently_watched:
get:
summary: recommendations/currently_watched
description: The products other store visitors are currently looking at.
operationId: recommendationscurrently_watched
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
default: insert_api_key
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/currently_watched?key=store_api_key&limit=30&labels=["Customers Are Looking At"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"limit\": 30,\n \"visitor\": \"unique_visitor_id\",\n \"exclude\": [42],\n \"labels\": [\"Customers Are Looking At\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n https://api.clerk.io/v2/recommendations/currently_watched"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/customer/complementary:
get:
summary: recommendations/customer/complementary
description: The products that a specific customer is most likely to buy right now based on their order history.
operationId: recommendations-customer-complementary
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: email
in: query
description: The customers email address
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: customer
in: query
description: The customers ID.
schema:
type: string
- name: filter
in: query
description: A attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/customer/complementary?key=store_api_key&email=luke@skywalker.net&limit=30&labels=["Customer Recommendations"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \t\t\t\"visitor\": \"visitor_id\",\n \"email\": \"luke@skywalker.com\",\n \"limit\": 30,\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Customer Recommendations\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n http://api.clerk.io/v2/recommendations/customer/complementary"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/customer/history:
get:
summary: recommendations/customer/history
description: The history of a customer's on-site activity.
operationId: recommendations-customer-history
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: email
in: query
description: The customers email address
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: customer
in: query
description: The customers ID.
schema:
type: string
- name: filter
in: query
description: A attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/customer/history?key=store_api_key&email=luke@skywalker.net&limit=30&labels=["Customer History"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \t\t\t\"visitor\": \"visitor_id\",\n \"email\": \"luke@skywalker.com\",\n \"limit\": 30,\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Customer History\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n http://api.clerk.io/v2/recommendations/customer/history"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/customer/substituting:
get:
summary: recommendations/customer/substituting
description: The products that a specific customer is most likely to buy right now as replacements for their order history.
operationId: recommendations-customer-substituting
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: email
in: query
description: The customers email address
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: customer
in: query
description: The customers ID.
schema:
type: string
- name: filter
in: query
description: An attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/customer/substituting?key=store_api_key&email=luke@skywalker.net&limit=30&labels=["Customer Alternatives"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"visitor\": \"visitor_id\",\n \"email\": \"luke@skywalker.com\",\n \"limit\": 30,\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Customer Alternatives\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n http://api.clerk.io/v2/recommendations/customer/substituting"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/keywords:
get:
summary: recommendations/keywords
description: Products based on content such as blogs, news or content pages.
operationId: recommendations-keywords
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: keywords
in: query
description: The keywords (ie. content title) to base the recommendations upon.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: filter
in: query
description: A attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/keywords?key=store_api_key&limit=30&keywords=lightsaber&labels=["Keyword Recommendations"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"limit\": 30,\n \"visitor\": \"unique_visitor_id\",\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Keyword Recommendations\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n http://api.clerk.io/v2/recommendations/currently_watched"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/most_sold_with:
get:
summary: recommendations/most_sold_with
description: The products that have been sold the most times with a given product or multiple products
operationId: recommendationsmost_sold_with
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: products
in: query
description: Product ID(s) for the products you the most sold with products for.
required: true
schema:
type: array
items:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: filter
in: query
description: A attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/most_sold_with?key=store_api_key&products=[123,456,789]&limit=30&labels=["Best Cross-Sell Products"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"products\": [123], \n \"limit\": 30,\n \"visitor\": \"unique_visitor_id\",\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Best Cross-Sell Products\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n http://api.clerk.io/v2/recommendations/most_sold_with"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/new:
get:
summary: recommendations/new
description: The products that were most recently added to the store.
operationId: recommendationsnew
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
default: insert_api_key
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/new?key=store_api_key&limit=30&labels=["Newly added products"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"limit\": 30,\n \"visitor\": \"unique_visitor_id\",\n \"exclude\": [42],\n \"labels\": [\"Newly added products\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n https://api.clerk.io/v2/recommendations/new"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/page/category:
get:
summary: recommendations/page/category
description: Pages that are related to any given category
operationId: recommendationspagecategory
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: category
in: query
description: ID of the category you want related pages for.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Page attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: type
in: query
description: The type of pages to return
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, 112, 113],\n \"pages\": [{\"title\": \"How to build a Death Star\",\"url:\":\"https://galactic-empire.com/blogs/death-star\",\"text\":\"In order to build a Death Star, you must consider ventilation and...\",\"image\":\"https://galactic-empire.com/images/death-star.jpg\",\"type\":\"blog\",\"id\": 123},{...}]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/page/category?key=store_api_key&category=123&limit=5&type="CMS Page"&labels=["Categories - Related Articles"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"category\": 123, \n \"type\": \"CMS Page\",\n \"limit\": 5,\n \"visitor\": \"unique_visitor_id\",\n \"labels\": [\"Categories - Related Articles\"]}' \\\n http://api.clerk.io/v2/recommendations/page/category"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/page/product:
get:
summary: recommendations/page/product
description: Pages that are related to any given product
operationId: recommendationspageproduct
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: product
in: query
description: ID of the product you want related pages for.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Page attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: type
in: query
description: The type of pages to return
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, 112, 113],\n \"pages\": [{\"title\": \"How to build a Death Star\",\"url:\":\"https://galactic-empire.com/blogs/death-star\",\"text\":\"In order to build a Death Star, you must consider ventilation and...\",\"image\":\"https://galactic-empire.com/images/death-star.jpg\",\"type\":\"blog\",\"id\": 123},{...}]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/page/product?key=store_api_key&product=123&limit=5&type="CMS Page"&labels=["Product Page - Related Articles"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"product\": 123,\n \"type\": \"CMS Page\",\n \"limit\": 5,\n \"visitor\": \"unique_visitor_id\",\n \"labels\": [\"Product Page - Related Articles\"]}' \\\n http://api.clerk.io/v2/recommendations/page/product"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/page/related_categories:
get:
summary: recommendations/page/related_categories
description: Products that are related to any given page
operationId: recommendationspagerelated_categories
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: page
in: query
description: ID of the page you want similar pages for.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Page attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n\t\"status\": \"ok\",\n\t\"count\": 1,\n\t\"result\": [456,111,455,786,433],\n\t\"categories\": [{\"id\":456,\"name\": \"Lightsabers\",\"subcategories\":[789],\"parent\": 123,\"url\":\"https://www.rebels-of-a-just-cause.org/lightsabers\"},{...}]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/page/related_categories?key=store_api_key&page=123&limit=5&labels=["Blog Pages - Related Categories"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"page\": 123, \n \"limit\": 5,\n \"visitor\": \"unique_visitor_id\",\n \"labels\": [\"Blog Pages - Related Categories\"],}' \\\n http://api.clerk.io/v2/recommendations/page/related_categories"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/page/related_products:
get:
summary: recommendations/page/related_products
description: Products that are related to any given page
operationId: recommendationspagerelated_products
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: page
in: query
description: ID of the page you want similar pages for.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Page attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/page/related_products?key=store_api_key&page=123&limit=5&labels=["Blog Pages - Related Products"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"page\": 123, \n \"limit\": 5,\n \"visitor\": \"unique_visitor_id\",\n \"labels\": [\"Blog Pages - Related Products\"],}' \\\n http://api.clerk.io/v2/recommendations/page/related_products"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/page/substituting:
get:
summary: recommendations/page/substituting
description: Pages that are similar to any given page
operationId: recommendationspagesubstituting
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: page
in: query
description: ID of the page you want similar pages for.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: type
in: query
description: The type of pages to return
schema:
type: string
- name: attributes
in: query
description: Page attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, 112, 113],\n \"pages\": [{\"title\": \"How to build a Death Star\",\"url:\":\"https://galactic-empire.com/blogs/death-star\",\"text\":\"In order to build a Death Star, you must consider ventilation and...\",\"image\":\"https://galactic-empire.com/images/death-star.jpg\",\"type\":\"blog\",\"id\": 123},{...}]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/page/substituting?key=store_api_key&page=123&limit=5&type="CMS Page"&labels=["Blog Pages - Similar Articles"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"page\": 123, \n \"type\": \"CMS Page\",\n \"limit\": 5,\n \"visitor\": \"unique_visitor_id\",\n \"labels\": [\"Blog Pages - Similar Articles\"]}' \\\n http://api.clerk.io/v2/recommendations/page/substituting"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/popular:
get:
summary: recommendations/popular
description: The most popular products among the store's customers right now.
operationId: recommendations-popular
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: offset
in: query
description: Offset into the result. See pagenation docs for a deeper specification on how to use pagenation.
schema:
type: integer
format: int32
default: 0
- name: filter
in: query
description: A attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: facets
in: query
description: List of facets to be returned for the products in the result. See API documentation on Facets for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/popular?key=store_api_key&limit=30&labels=["Bestsellers"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"limit\": 30,\n \"offset\": 60,\n \"visitor\": \"unique_visitor_id\",\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Bestsellers\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n https://api.clerk.io/v2/recommendations/popular"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/recently_bought:
get:
summary: recommendations/recently_bought
description: The products that were most recently purchased by customers.
operationId: recommendationsrecently_bought
parameters:
- name: key
in: query
description: Your store API key
required: true
schema:
type: string
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: limit
in: query
description: Number of results to be returned.
schema:
type: integer
format: int32
- name: filter
in: query
description: An attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
'400':
description: '400'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/recently_bought?key=store_api_key&limit=30&labels=["Customers Are Looking At"]
samples-languages:
- curl
tags:
- Recommendations
/recommendations/substituting:
get:
summary: recommendations/substituting
description: The products that customers are most likely to buy instead of a given product or multiple products.
operationId: recommendations-substituting
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: products
in: query
description: Product ID(s) for the products you want substituting products for.
required: true
schema:
type: array
items:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: filter
in: query
description: A attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/substituting?key=store_api_key&products=[123,456,789]&limit=30&labels=["Alternatives"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"products\": [123], \n \"limit\": 30,\n \"visitor\": \"unique_visitor_id\",\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Alternatives\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n https://api.clerk.io/v2/recommendations/substituting"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/trending:
get:
summary: recommendations/trending
description: The products with the fastest growth in popularity amongst customers right now.
operationId: recommendations-trending
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: 'Required for tracking
Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.'
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: offset
in: query
description: Offset into the result. See pagenation docs for a deeper specification on how to use pagenation.
schema:
type: integer
format: int32
default: 0
- name: filter
in: query
description: A attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: facets
in: query
description: List of facets to be returned for the products in the result. See API documentation on Facets for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/trending?key=store_api_key&limit=30&labels=["Hottest Products"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"limit\": 30,\n \"offset\": 60,\n \"visitor\": \"unique_visitor_id\",\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Hottest Products\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n https://api.clerk.io/v2/recommendations/trending"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/visitor/complementary:
get:
summary: recommendations/visitor/complementary
description: The products that a specific visitor is most likely to buy right now based on their on-site activity.
operationId: recommendations-visitor-complementary
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.
required: true
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: email
in: query
description: A optional email to be mapped to a visitor ID. This will override the given visitor ID if any.
schema:
type: string
- name: filter
in: query
description: A attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/visitor/complementary?key=store_api_key&visitor=unique_visitor_id&limit=30&labels=["Visitor Recommendations"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"visitor\": \"unique_visitor_id\",\n \"limit\": 30,\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Visitor Recommendations\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n http://api.clerk.io/v2/recommendations/visitor/complementary"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/visitor/history:
get:
summary: recommendations/visitor/history
description: The history of a visitor's on-site activity.
operationId: recommendations-visitor-history
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.
required: true
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: email
in: query
description: A optional email to be mapped to a visitor ID. This will override the given visitor ID if any.
schema:
type: string
- name: filter
in: query
description: A attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/visitor/history?key=store_api_key&visitor=unique_visitor_id&limit=30&labels=["Visitor History"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"visitor\": \"unique_visitor_id\",\n \"limit\": 30,\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Visitor History\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n http://api.clerk.io/v2/recommendations/visitor/history"
name: POST
samples-languages:
- curl
tags:
- Recommendations
/recommendations/visitor/substituting:
get:
summary: recommendations/visitor/substituting
description: The products that a specific visitor is most likely to buy as alternatives to their on-site activity.
operationId: recommendations-visitor-substituting
parameters:
- name: key
in: query
description: You store API key.
required: true
schema:
type: string
- name: limit
in: query
description: Number of results to be returned.
required: true
schema:
type: integer
format: int32
- name: visitor
in: query
description: Visitor ID for the given visitor.
If `auto`, an anonymous ID is generated.
See API documentation on Visitor Tracking for details.
required: true
schema:
type: string
- name: labels
in: query
description: 'Required for tracking
A list of one or more text labels, used to track the labels performance in Analytics.'
schema:
type: array
items:
type: string
- name: email
in: query
description: A optional email to be mapped to a visitor ID. This will override the given visitor ID if any.
schema:
type: string
- name: filter
in: query
description: A attribute filter to filter the result. See API documentation on Filters for details.
schema:
type: string
- name: exclude
in: query
description: Array of product IDs to be excluded from the result. See API documentation on Filters for details.
schema:
type: array
items:
type: string
- name: attributes
in: query
description: Product attributes to be provided in the response. See API documentation on Product Metadata for details.
schema:
type: array
items:
type: string
- name: callback
in: query
description: JSONP - Wraps the response as a function call with the name of the string.
schema:
type: string
- name: debug
in: query
description: When `true`, the response will include a JSON dictionary of the various customisations made to the results shown by Synonyms, Customized Search, Merchandising etc.
schema:
type: boolean
default: false
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"status\": \"ok\",\n \"result\": [123, 456, 789, ...]\n}"
Error:
value: "{\n \"status\": \"error\",\n \"message\": \"A message explaining the error.\",\n \"moreInfo\": \"http://help.clerk.io/error/{ERROR_ID}\",\n \"type\": \"ErrorType\",\n \"id\": \"{ERROR_ID}\"\n}"
schema:
type: object
properties:
status:
type: string
example: error
message:
type: string
example: A message explaining the error.
moreInfo:
type: string
example: http://help.clerk.io/error/{ERROR_ID}
type:
type: string
example: ErrorType
id:
type: string
example: '{ERROR_ID}'
deprecated: false
x-readme:
code-samples:
- language: curl
code: curl http://api.clerk.io/v2/recommendations/visitor/substituting?key=store_api_key&visitor=unique_visitor_id&limit=30&labels=["Visitor Alternatives"]
name: GET
- language: curl
code: "curl -X POST \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\": \"store_api_key\",\n \"visitor\": \"unique_visitor_id\",\n \"limit\": 30,\n \"exclude\": [42],\n \"filter\": \"price > 100\",\n \"labels\": [\"Visitor Alternatives\"],\n \"facets\": [\"categories\", \"brands\"]}' \\\n http://api.clerk.io/v2/recommendations/visitor/substituting"
name: POST
samples-languages:
- curl
tags:
- Recommendations
components:
securitySchemes:
sec0:
type: apiKey
name: key
in: query
x-default: your_api_key