openapi: 3.0.1
info:
title: Coveo Activity Activities Product Suggest Configurations API
description: API for Coveo Platform
termsOfService: https://www.coveo.com/en/support/terms-agreements
contact:
name: Coveo
url: https://connect.coveo.com/s/discussions
version: 1.0.0
servers:
- url: https://platform.cloud.coveo.com
description: Coveo public API endpoint
security:
- oauth2:
- full
tags:
- name: Product Suggest Configurations
paths:
/rest/organizations/{organizationId}/commerce/v2/configurations/productSuggest:
get:
tags:
- Product Suggest Configurations
summary: Retrieves a Product Suggest Configuration
description: 'Shows a Product suggest configuration in an [organization](https://docs.coveo.com/en/185/).**Required privilege:** Merchandising Hub - ViewPrivilege required
```
{"owner":"COMMERCE","targetDomain":"MERCHANDISING_HUB","type":"EDIT","targetId":"{trackingId}"}
```
**Example:** `acmecorporation8tp8wu3`
required: true
schema:
type: string
- name: trackingId
in: query
description: Tracking ID of the product suggest configuration
required: true
schema:
type: string
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ProductSuggestConfigurationModel'
x-pretty-name: get
x-required-privilege:
owner: COMMERCE
targetDomain: MERCHANDISING_HUB
type: EDIT
targetId: '{trackingId}'
x-required-privileges:
- owner: COMMERCE
targetDomain: MERCHANDISING_HUB
type: EDIT
targetId: '{trackingId}'
x-ui-operation-id: /rest/organizations/paramId/commerce/v2/configurations/productSuggest_get
put:
tags:
- Product Suggest Configurations
summary: Update a Product Suggest Configuration
description: 'Updates a Product suggest configuration in an [organization](https://docs.coveo.com/en/185/).**Required privilege:** Merchandising Hub - EditPrivilege required
```
{"owner":"COMMERCE","targetDomain":"MERCHANDISING_HUB","type":"EDIT","targetId":"{trackingId}"}
```
**Example:** `acmecorporation8tp8wu3`
required: true
schema:
type: string
- name: trackingId
in: query
description: Tracking ID of the product suggest configuration
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProductSuggestConfigurationModel'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ProductSuggestConfigurationModel'
x-pretty-name: update
x-required-privilege:
owner: COMMERCE
targetDomain: MERCHANDISING_HUB
type: EDIT
targetId: '{trackingId}'
x-required-privileges:
- owner: COMMERCE
targetDomain: MERCHANDISING_HUB
type: EDIT
targetId: '{trackingId}'
x-ui-operation-id: /rest/organizations/paramId/commerce/v2/configurations/productSuggest_put
post:
tags:
- Product Suggest Configurations
summary: Create a Product Suggest Configuration
description: 'Creates a Product suggest configuration in an [organization](https://docs.coveo.com/en/185/).**Required privilege:** Merchandising Hub - EditPrivilege required
```
{"owner":"COMMERCE","targetDomain":"MERCHANDISING_HUB","type":"EDIT","targetId":"{body.trackingId}"}
```
**Example:** `acmecorporation8tp8wu3`
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProductSuggestConfigurationModel'
required: true
responses:
'201':
description: Created
content:
'*/*':
schema:
$ref: '#/components/schemas/ProductSuggestConfigurationModel'
x-pretty-name: create
x-required-privilege:
owner: COMMERCE
targetDomain: MERCHANDISING_HUB
type: EDIT
targetId: '{body.trackingId}'
x-required-privileges:
- owner: COMMERCE
targetDomain: MERCHANDISING_HUB
type: EDIT
targetId: '{body.trackingId}'
x-ui-operation-id: /rest/organizations/paramId/commerce/v2/configurations/productSuggest_post
delete:
tags:
- Product Suggest Configurations
summary: Deletes a Product Suggest Configuration
description: 'Deletes a Product suggest configuration in an [organization](https://docs.coveo.com/en/185/).**Required privilege:** Merchandising Hub - EditPrivilege required
```
{"owner":"COMMERCE","targetDomain":"MERCHANDISING_HUB","type":"EDIT","targetId":"{trackingId}"}
```
**Example:** `acmecorporation8tp8wu3`
required: true
schema:
type: string
- name: trackingId
in: query
description: Tracking ID of the product suggest configuration
required: true
schema:
type: string
responses:
'204':
description: No Content
x-pretty-name: delete
x-required-privilege:
owner: COMMERCE
targetDomain: MERCHANDISING_HUB
type: EDIT
targetId: '{trackingId}'
x-required-privileges:
- owner: COMMERCE
targetDomain: MERCHANDISING_HUB
type: EDIT
targetId: '{trackingId}'
x-ui-operation-id: /rest/organizations/paramId/commerce/v2/configurations/productSuggest_delete
components:
schemas:
NumericalRangeFacetRequestModel:
required:
- displayNames
- field
type: object
description: Numerical range facet.
example:
facetId: ec_price
field: ec_price
displayNames:
- value: Price
language: en
- value: Prix
language: fr
values:
- state: idle
preventAutoSelect: true
start: '0'
end: '999'
endInclusive: 'true'
- state: selected
preventAutoSelect: true
start: '1000'
end: '2000'
endInclusive: 'false'
- state: selected
preventAutoSelect: true
start: '2001'
end: '3000'
endInclusive: 'false'
numberOfValues: 3
preventAutoSelect: true
sortCriteria: score
isFieldExpanded: true
type: numericalRange
generateAutomaticRanges: true
rangeAlgorithm: equiprobable
allOf:
- $ref: '#/components/schemas/AbstractFacetRequestModelObject'
- type: object
properties:
values:
type: array
description: The values displayed by the facet in the search interface at the moment of the request.
items:
$ref: '#/components/schemas/NumericalRangeFacetRequestValueModel'
preventAutoSelect:
type: boolean
description: Whether to prevent Coveo ML from automatically selecting facet values.
filterFacetCount:
type: boolean
description: 'Default: `false`
Whether to exclude folded result parents when estimating the result count for each facet value (see SearchAPI''s doc for more details).
Note: Note: The target folding field must be a facet field with the ''Use cache for nested queries'' options enabled.'
generateAutomaticRanges:
type: boolean
description: Whether to automatically generate range values for this facet.
interval:
type: string
description: Determines the range interval type. Default is `continuous`.
default: continuous
enum:
- continuous
- discrete
- even
- equiprobable
domain:
$ref: '#/components/schemas/RangeDomain'
freezeCurrentValues:
type: boolean
description: Whether to freeze the current list of facet values. Setting this to true keeps the facet from moving around while the end-user interacts with it on the storefront.
rangeAlgorithm:
type: string
description: Determines which algorithm is used to generate the ranges if generateAutomaticRanges is enabled.
enum:
- equiprobable
- even
sortCriteria:
type: string
description: The criterion to use for sorting returned facet values.
enum:
- score
- alphanumericNatural
- alphanumeric
- occurrences
isFieldExpanded:
type: boolean
description: Whether the facet is expanded in the search interface at the moment of the request.
DateRangeFacetRequestModel:
required:
- displayNames
- field
type: object
description: Date range facet.
example:
facetId: year
field: year
displayNames:
- value: Year
language: en
- value: Année
language: fr
values:
- state: idle
preventAutoSelect: false
start: 2023/10/01@00:00:00
end: 2023/10/31@23:59:59
endInclusive: true
- state: idle
preventAutoSelect: true
start: 2023/11/01@00:00:00
end: 2023/11/30@23:59:59
endInclusive: false
- state: selected
preventAutoSelect: true
start: 2023/12/01@00:00:00
end: 2023/12/31@23:59:59
endInclusive: true
numberOfValues: 3
preventAutoSelect: false
sortCriteria: score
isFieldExpanded: true
type: dateRange
generateAutomaticRanges: true
allOf:
- $ref: '#/components/schemas/AbstractFacetRequestModelObject'
- type: object
properties:
values:
type: array
description: The values displayed by the facet in the search interface at the moment of the request.
items:
$ref: '#/components/schemas/DateRangeFacetRequestValueModel'
generateAutomaticRanges:
type: boolean
description: Whether to automatically generate range values for this facet.
freezeCurrentValues:
type: boolean
description: Whether to freeze the current list of facet values. Setting this to true keeps the facet from moving around while the end-user interacts with it on the storefront.
preventAutoSelect:
type: boolean
description: Whether to prevent Coveo ML from automatically selecting facet values.
sortCriteria:
type: string
description: The criterion to use for sorting returned facet values.
enum:
- score
- alphanumericNatural
- alphanumeric
- occurrences
filterFacetCount:
type: boolean
description: 'Default: `false`
Whether to exclude folded result parents when estimating the result count for each facet value (see SearchAPI''s doc for more details).
Note: Note: The target folding field must be a facet field with the ''Use cache for nested queries'' options enabled.'
isFieldExpanded:
type: boolean
description: Whether the facet is expanded in the search interface at the moment of the request.
AbstractSortModel:
type: object
properties:
sortCriteria:
type: string
description: The criterion to use for sorting the results.
enum:
- relevance
- fields
description: Determines the order in which to retrieve the results.
example:
- sortCriteria: fields
fields:
- field: ec_price
direction: asc
displayNames:
- value: Price
language: en
- value: Prix
language: fr
discriminator:
propertyName: sortCriteria
FacetRequestModel:
type: object
properties:
enableIndexFacetOrdering:
type: boolean
description: 'Default: `true`
Whether to take into account the scores generated by the index when reordering facets.
Note: Setting this to `false` implies that only the scores generated by a Coveo ML DNE model will be taken into account when automatically reordering facets. To completely disable automatic facet reordering, set `freezeFacetOrder` to `true` instead.'
freezeFacetOrder:
type: boolean
description: 'Default: `false`
Whether facets should be returned in the same order in which they were requested.
Note: Setting this to `true` completely disables automatic facet reordering. To allow automatic facet reordering, but only take into account the scores generated by a Coveo ML DNE model, set `enableIndexFacetOrdering` to `false` instead.'
facets:
type: array
description: The facet operations to perform on the listing query.
items:
oneOf:
- $ref: '#/components/schemas/DateRangeFacetRequestModel'
- $ref: '#/components/schemas/HierarchicalFacetRequestModel'
- $ref: '#/components/schemas/NumericalRangeFacetRequestModel'
- $ref: '#/components/schemas/RegularFacetRequestModel'
description: 'DEPRECATED ON 2026-08-31: The facet request configuration. See https://docs.coveo.com/en/q3cc0299/deprecations/legacy-commerce-api-facet-management-deprecation for more details on the deprecation.'
SortByFieldsModel:
required:
- fields
type: object
allOf:
- $ref: '#/components/schemas/AbstractSortModel'
- type: object
properties:
fields:
minItems: 1
type: array
description: Defines the fields and, optionally, their sort order.
items:
$ref: '#/components/schemas/SortByFieldModel'
DateRangeFacetRequestValueModel:
required:
- end
- start
type: object
properties:
state:
type: string
description: The current facet value state in the search interface.
enum:
- idle
- selected
preventAutoSelect:
type: boolean
description: Whether to prevent Coveo ML from automatically selecting facet values.
start:
minLength: 1
type: string
description: The value to start the range at.
end:
minLength: 1
type: string
description: The value to end the range at. Must be greater (or later) than the start value.
endInclusive:
type: boolean
description: Whether to include the end value in the range.
description: The values displayed by the facet in the search interface at the moment of the request.
BasePath:
required:
- language
- value
type: object
properties:
value:
minItems: 1
type: array
description: The base path shared by all values for the facet.
items:
type: string
language:
minLength: 1
type: string
description: An ISO 639-1 language code.
example: en
description: List of localized Base path shared by all values for the facet.
SortByRelevanceModel:
type: object
allOf:
- $ref: '#/components/schemas/AbstractSortModel'
RangeDomain:
required:
- max
- min
type: object
properties:
min:
minimum: 0
type: integer
format: int32
max:
maximum: 1000000
type: integer
format: int32
increment:
maximum: 1000000
minimum: 0
type: integer
format: int32
description: Limits the range values to the specified domain.
ProductSuggestConfigurationModel:
required:
- trackingId
type: object
properties:
id:
type: string
description: The unique identifier of the search configuration.
format: uuid
readOnly: true
example: 755e2dd8-3a8f-19fb-b9ed-ed89c4f83c3b
trackingId:
maxLength: 255
minLength: 1
type: string
description: The unique identifier of the tracking target.
example: acmecorporation_ca
queryConfiguration:
$ref: '#/components/schemas/QueryConfigurationLegacyModel'
description: Product suggest configuration
NumericalRangeFacetRequestValueModel:
required:
- end
- start
type: object
properties:
state:
type: string
description: The current facet value state in the search interface.
enum:
- idle
- selected
preventAutoSelect:
type: boolean
description: Whether to prevent Coveo ML from automatically selecting facet values.
start:
type: number
description: The value to start the range at.
end:
type: number
description: The value to end the range at. Must be greater (or later) than the start value.
endInclusive:
type: boolean
description: Whether to include the end value in the range.
description: The values displayed by the facet in the search interface at the moment of the request.
DisplayName:
required:
- language
- value
type: object
properties:
value:
minLength: 1
type: string
description: DEPRECATED - The display name of a field.
language:
minLength: 1
type: string
description: An ISO 639-1 language code.
example: en
description: The display names of a field to sort by associated with its language.
SortByFieldModel:
required:
- displayNames
- field
type: object
properties:
field:
minLength: 1
pattern: ^([a-z][a-z0-9_]{0,254})$
type: string
description: The name of a field to sort by.
direction:
type: string
description: 'Sort order:
Default: `ascending`