openapi: 3.0.1
info:
title: Coveo Activity Activities Search 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: Search Configurations
paths:
/rest/organizations/{organizationId}/commerce/v2/configurations/search/global:
get:
tags:
- Search Configurations
summary: Retrieves the Global Search Configuration for the Organization
description: 'Shows the global GlobalSearch configuration. Does not accept pin rules. in an [organization](https://docs.coveo.com/en/185/).**Required privilege:** Merchandising Hub - ViewPrivilege required
```
{"owner":"COMMERCE","targetDomain":"MERCHANDISING_HUB","type":"VIEW","targetId":"*"}
```
**Example:** `acmecorporation8tp8wu3`
required: true
schema:
type: string
- name: trackingId
in: query
description: The unique identifier of the tracking target.
required: true
schema:
maxLength: 255
minLength: 1
type: string
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/SearchConfigurationModel'
x-pretty-name: getGlobal
x-required-privilege:
owner: COMMERCE
targetDomain: MERCHANDISING_HUB
type: VIEW
targetId: '*'
x-required-privileges:
- owner: COMMERCE
targetDomain: MERCHANDISING_HUB
type: VIEW
targetId: '*'
x-ui-operation-id: /rest/organizations/paramId/commerce/v2/configurations/search/global_get
put:
tags:
- Search Configurations
summary: Update the Global Search Configuration for the Organization
description: 'Updates the global Search configuration to be applied for the whole organization in a [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/SearchConfigurationModel'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/SearchConfigurationModel'
x-pretty-name: updateGlobal
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/search/global_put
components:
schemas:
FieldValueModel:
required:
- type
type: object
properties:
type:
type: string
description: The value to apply the operator on.
example:
type: string
value: Blue
discriminator:
propertyName: type
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.
RulesModel:
type: object
properties:
rankingRules:
type: array
description: List of the ranking rules.
items:
$ref: '#/components/schemas/RankingRuleModel'
filterRules:
type: array
description: List of the filter rules.
items:
$ref: '#/components/schemas/FilterRuleModel'
pinRules:
type: array
description: List of the pin rules.
items:
$ref: '#/components/schemas/PinRuleModel'
description: Rules to apply at query time.
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
RankingRuleModel:
required:
- action
type: object
properties:
filters:
type: array
description: A list of filters.
example:
- fieldName: price
operator: isExactly
value:
type: decimal
value: 99.99
- fieldName: item_count
operator: isBetween
value:
type: range
range:
from: 1000
to: 3000
items:
$ref: '#/components/schemas/QueryFilterModel'
value:
maximum: 1000
minimum: 0
type: integer
description: The scale at which the rule should be applied.
format: int32
example: 250
action:
type: string
description: Whether the rule is a boost or a bury.
example: boost
enum:
- boost
- bury
name:
type: string
description: The name of the rule.
example: 'Pin #1 Short Open-Front Sweater for Women/Boost blue surfboards/Hide green t-shirts'
id:
type: string
format: uuid
readOnly: true
essential:
type: boolean
description: Indicates if the rule is essential to the listing page; the essential rule is added during page creation.
updatedBy:
type: string
description: The user who last updated the rule.
readOnly: true
example: user@coveo.com
updatedAt:
type: string
description: The date and time at which the rule was last updated.
format: date-time
readOnly: true
locales:
type: array
description: The list of locales the rule applies to. When empty, the rule applies to all locales.
example:
- language: en
country: US
currency: USD
items:
$ref: '#/components/schemas/RuleLocaleModel'
description: List of the ranking rules.
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.'
MultipleStringValuesModel:
required:
- values
type: object
allOf:
- $ref: '#/components/schemas/FieldValueModel'
- type: object
properties:
values:
minItems: 1
type: array
items:
maxLength: 255
minLength: 0
type: string
StringValueModel:
required:
- value
type: object
allOf:
- $ref: '#/components/schemas/FieldValueModel'
- type: object
properties:
value:
maxLength: 255
minLength: 0
type: string
SeedRelativeValueModel:
type: object
allOf:
- $ref: '#/components/schemas/FieldValueModel'
RuleLocaleModel:
type: object
properties:
language:
type: string
description: An ISO 639-1 language code.
example: en
country:
type: string
description: An ISO 3166-1 alpha-2 country code.
example: US
currency:
type: string
description: An ISO 4217 currency code.
example: USD
description: The list of locales the synonym applies to. When empty, the synonym applies to all locales.
example:
- language: en
country: US
currency: USD
SearchConditionModel:
required:
- operator
- values
type: object
properties:
operator:
type: string
description: The operator for the search condition.
enum:
- isExactly
- contains
values:
maxItems: 1
minItems: 0
type: array
description: Values that are used by the operator.
items:
type: string
description: Values that are used by the operator.
description: Search conditions associated to query-based rules on a search configuration.
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.
QueryFilterModel:
required:
- fieldName
- operator
type: object
properties:
fieldName:
pattern: '[a-z][a-z0-9_]*'
type: string
description: The name of the field to apply the filter on.
example: name
operator:
type: string
description: The operator to apply on the field.
example: isExactly
enum:
- isExactly
- isExactlyNot
- contains
- doesNotContain
- isAnyOf
- isDefined
- isNotDefined
- isBetween
- isGreaterThan
- isGreaterThanOrEqualTo
- isLessThan
- isLessThanOrEqualTo
value:
oneOf:
- $ref: '#/components/schemas/DecimalValueModel'
- $ref: '#/components/schemas/HierarchicMultiValueModel'
- $ref: '#/components/schemas/InclusiveRangeModel'
- $ref: '#/components/schemas/MultipleStringValuesModel'
- $ref: '#/components/schemas/SeedRelativeValueModel'
- $ref: '#/components/schemas/StringValueModel'
description: A list of filters.
example:
- fieldName: price
operator: isExactly
value:
type: decimal
value: 99.99
- fieldName: item_count
operator: isBetween
value:
type: range
range:
from: 1000
to: 3000
SortByRelevanceModel:
type: object
allOf:
- $ref: '#/components/schemas/AbstractSortModel'
PinRuleModel:
type: object
properties:
rankByPermanentId:
type: array
description: A map of product permanent IDs to their desired rank.
example:
'123456789': 1
'987654321': 2
items:
type: object
additionalProperties:
type: integer
format: int32
action:
type: string
description: Whether the rule is a pin.
example: pin
enum:
- pin
name:
type: string
description: The name of the rule.
example: 'Pin #1 Short Open-Front Sweater for Women/Boost blue surfboards/Hide green t-shirts'
id:
type: string
format: uuid
readOnly: true
essential:
type: boolean
description: Indicates if the rule is essential to the listing page; the essential rule is added during page creation.
updatedBy:
type: string
description: The user who last updated the rule.
readOnly: true
example: user@coveo.com
updatedAt:
type: string
description: The date and time at which the rule was last updated.
format: date-time
readOnly: true
locales:
type: array
description: The list of locales the rule applies to. When empty, the rule applies to all locales.
example:
- language: en
country: US
currency: USD
items:
$ref: '#/components/schemas/RuleLocaleModel'
description: List of the pin rules.
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.
InclusiveRangeModel:
required:
- range
type: object
allOf:
- $ref: '#/components/schemas/FieldValueModel'
- type: object
properties:
range:
$ref: '#/components/schemas/RangeModel'
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.
RangeModel:
type: object
properties:
from:
type: number
format: double
to:
type: number
format: double
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`