Depict Recommendations (v2) API
The Recommendations (v2) API from Depict — 4 operation(s) for recommendations (v2).
The Recommendations (v2) API from Depict — 4 operation(s) for recommendations (v2).
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/depict-recommendations-v2-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Depict Storefront Recommendations (v2) API
version: '1.0'
servers:
- url: https://api.depict.ai
tags:
- name: Recommendations (v2)
paths:
/v2/recommend/products/general:
post:
tags:
- Recommendations (v2)
summary: Recommend For User
description: 'Returns an object with an array of recommendation displays.
Each display will contain a recommendation_id (which is also present as a URL parameter in `display.page_url`).
The recommendation_id should be sent to the `create-events` endpoint if the user interacts with the recommendation.
This is typically achieved by storing the recommendation as a data attribute on the HTML element containing the recommendation.
Example response:
{
"displays": [{
"title": "Mechanical Keyboard",
"price": "100.00",
"image_url": "https://my_store.com/awesome_mechanical_keyboard.jpeg",
"page_url": "https://my_store.com/awesome_mechanical_keyboard.html",
"product_id": "awesome_mechanical_keyboard",
"recommendation_id": "827ada29-92e7-4642-8805-8b7105a9c8a5"
}]
}'
operationId: Recommend_for_User_v2_recommend_products_general_post
security:
- APIKeyQuery: []
- APIKeyHeader: []
- APIKeyCookie: []
parameters:
- name: referer
in: header
required: false
schema:
type: string
title: Referer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralRecommendRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RecommendResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v2/recommend/products/product:
post:
tags:
- Recommendations (v2)
summary: Recommend For Product And User
description: 'Returns an object with an array of recommendation displays.
Each display will contain a recommendation_id (which is also present as a URL parameter in `display.page_url`).
The recommendation_id should be sent to the `create-events` endpoint if the user interacts with the recommendation.
This is typically achieved by storing the recommendation as a data attribute on the HTML element containing the recommendation.
Example response:
{
"displays": [{
"title": "Mechanical Keyboard",
"price": "100.00",
"image_url": "https://my_store.com/awesome_mechanical_keyboard.jpeg",
"page_url": "https://my_store.com/awesome_mechanical_keyboard.html",
"product_id": "awesome_mechanical_keyboard",
"recommendation_id": "827ada29-92e7-4642-8805-8b7105a9c8a5"
}]
}'
operationId: Recommend_for_Product_and_User_v2_recommend_products_product_post
security:
- APIKeyQuery: []
- APIKeyHeader: []
- APIKeyCookie: []
parameters:
- name: referer
in: header
required: false
schema:
type: string
title: Referer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RecommendRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RecommendResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v2/recommend/products/category:
post:
tags:
- Recommendations (v2)
summary: Recommend For Category And User
description: 'Returns an object with an array of recommendation displays.
Each display will contain a recommendation_id (which is also present as a URL parameter in `display.page_url`).
The recommendation_id should be sent to the `create-events` endpoint if the user interacts with the recommendation.
This is typically achieved by storing the recommendation as a data attribute on the HTML element containing the recommendation.
Example response:
{
"displays": [{
"title": "Mechanical Keyboard",
"price": "100.00",
"image_url": "https://my_store.com/awesome_mechanical_keyboard.jpeg",
"page_url": "https://my_store.com/awesome_mechanical_keyboard.html",
"product_id": "awesome_mechanical_keyboard",
"recommendation_id": "827ada29-92e7-4642-8804-8b7105a9c8a5"
}]
}'
operationId: Recommend_for_Category_and_User_v2_recommend_products_category_post
security:
- APIKeyQuery: []
- APIKeyHeader: []
- APIKeyCookie: []
parameters:
- name: referer
in: header
required: false
schema:
type: string
title: Referer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CategoryRecommendRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RecommendResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v2/recommend/products/products:
post:
tags:
- Recommendations (v2)
summary: Recommend For Products And User
description: 'Returns an object with an array of recommendation displays.
Each display will contain a recommendation_id (which is also present as a URL parameter in `display.page_url`).
The recommendation_id should be sent to the `create-events` endpoint if the user interacts with the recommendation.
This is typically achieved by storing the recommendation as a data attribute on the HTML element containing the recommendation.
Example response:
{
"displays": [{
"title": "Mechanical Keyboard",
"price": "100.00",
"image_url": "https://my_store.com/awesome_mechanical_keyboard.jpeg",
"page_url": "https://my_store.com/awesome_mechanical_keyboard.html",
"product_id": "awesome_mechanical_keyboard",
"recommendation_id": "827ada29-92e7-4642-8805-8b7105a9c8a5"
}]
}'
operationId: Recommend_for_Products_and_User_v2_recommend_products_products_post
security:
- APIKeyQuery: []
- APIKeyHeader: []
- APIKeyCookie: []
parameters:
- name: referer
in: header
required: false
schema:
type: string
title: Referer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RecommendForManyRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RecommendResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
CategoryRecommendRequest:
properties:
tenant:
type: string
title: Tenant
description: Identifier associated with the API integration
market:
type: string
title: Market
description: Market identifier
locale:
anyOf:
- type: string
- type: 'null'
title: Locale
description: Locale identifier
type:
type: string
title: Type
description: Type of the recommendation, e.g. `cross_sell`
limit:
anyOf:
- type: integer
maximum: 128
minimum: 1
- type: 'null'
title: Limit
description: Maximum number of recommendations returned.
user_id:
anyOf:
- type: string
- type: 'null'
title: User Id
description: Customer identifier
session_id:
anyOf:
- type: string
- type: 'null'
title: Session Id
description: Session identifier
dsid:
anyOf:
- type: string
minLength: 1
- type: 'null'
title: Dsid
description: Populated for integrations performed by Depict.ai only. Depict.ai Session Id
document_referrer:
anyOf:
- type: string
- type: 'null'
title: Document Referrer
metadata:
anyOf:
- additionalProperties:
type: string
type: object
- type: 'null'
title: Metadata
description: Metadata that can be used to modify the behaviour of the recommendation system
category_id:
type: string
title: Category Id
additionalProperties: false
type: object
required:
- tenant
- market
- type
- category_id
title: CategoryRecommendRequest
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
RecommendResponse:
properties:
displays:
items:
type: object
type: array
title: Displays
error:
anyOf:
- type: string
- type: 'null'
title: Error
variant:
anyOf:
- type: integer
- type: 'null'
title: Variant
experiment_id:
anyOf:
- type: string
- type: 'null'
title: Experiment Id
additionalProperties: false
type: object
required:
- displays
title: RecommendResponse
RecommendRequest:
properties:
tenant:
type: string
title: Tenant
description: Identifier associated with the API integration
market:
type: string
title: Market
description: Market identifier
locale:
anyOf:
- type: string
- type: 'null'
title: Locale
description: Locale identifier
type:
type: string
title: Type
description: Type of the recommendation, e.g. `cross_sell`
limit:
anyOf:
- type: integer
maximum: 128
minimum: 1
- type: 'null'
title: Limit
description: Maximum number of recommendations returned.
user_id:
anyOf:
- type: string
- type: 'null'
title: User Id
description: Customer identifier
session_id:
anyOf:
- type: string
- type: 'null'
title: Session Id
description: Session identifier
dsid:
anyOf:
- type: string
minLength: 1
- type: 'null'
title: Dsid
description: Populated for integrations performed by Depict.ai only. Depict.ai Session Id
document_referrer:
anyOf:
- type: string
- type: 'null'
title: Document Referrer
metadata:
anyOf:
- additionalProperties:
type: string
type: object
- type: 'null'
title: Metadata
description: Metadata that can be used to modify the behaviour of the recommendation system
product_id:
type: string
title: Product Id
additionalProperties: false
type: object
required:
- tenant
- market
- type
- product_id
title: RecommendRequest
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationError
GeneralRecommendRequest:
properties:
tenant:
type: string
title: Tenant
description: Identifier associated with the API integration
market:
type: string
title: Market
description: Market identifier
locale:
anyOf:
- type: string
- type: 'null'
title: Locale
description: Locale identifier
type:
type: string
title: Type
description: Type of the recommendation, e.g. `cross_sell`
limit:
anyOf:
- type: integer
maximum: 128
minimum: 1
- type: 'null'
title: Limit
description: Maximum number of recommendations returned.
user_id:
anyOf:
- type: string
- type: 'null'
title: User Id
description: Customer identifier
session_id:
anyOf:
- type: string
- type: 'null'
title: Session Id
description: Session identifier
dsid:
anyOf:
- type: string
minLength: 1
- type: 'null'
title: Dsid
description: Populated for integrations performed by Depict.ai only. Depict.ai Session Id
document_referrer:
anyOf:
- type: string
- type: 'null'
title: Document Referrer
metadata:
anyOf:
- additionalProperties:
type: string
type: object
- type: 'null'
title: Metadata
description: Metadata that can be used to modify the behaviour of the recommendation system
additionalProperties: false
type: object
required:
- tenant
- market
- type
title: GeneralRecommendRequest
RecommendForManyRequest:
properties:
tenant:
type: string
title: Tenant
description: Identifier associated with the API integration
market:
type: string
title: Market
description: Market identifier
locale:
anyOf:
- type: string
- type: 'null'
title: Locale
description: Locale identifier
type:
type: string
title: Type
description: Type of the recommendation, e.g. `cross_sell`
limit:
anyOf:
- type: integer
maximum: 128
minimum: 1
- type: 'null'
title: Limit
description: Maximum number of recommendations returned.
user_id:
anyOf:
- type: string
- type: 'null'
title: User Id
description: Customer identifier
session_id:
anyOf:
- type: string
- type: 'null'
title: Session Id
description: Session identifier
dsid:
anyOf:
- type: string
minLength: 1
- type: 'null'
title: Dsid
description: Populated for integrations performed by Depict.ai only. Depict.ai Session Id
document_referrer:
anyOf:
- type: string
- type: 'null'
title: Document Referrer
metadata:
anyOf:
- additionalProperties:
type: string
type: object
- type: 'null'
title: Metadata
description: Metadata that can be used to modify the behaviour of the recommendation system
product_ids:
items:
type: string
type: array
title: Product Ids
additionalProperties: false
type: object
required:
- tenant
- market
- type
- product_ids
title: RecommendForManyRequest
securitySchemes:
APIKeyQuery:
type: apiKey
in: query
name: api_key
APIKeyHeader:
type: apiKey
in: header
name: X-API-KEY
APIKeyCookie:
type: apiKey
in: cookie
name: X-API-KEY
HTTPBearer:
type: http
scheme: bearer