openapi: 3.0.1 info: title: Coveo Activity Activities Catalog 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: Catalog Configurations paths: /rest/organizations/{organizationId}/catalogconfigurations/{configurationId}: get: tags: - Catalog Configurations summary: Show Catalog Configuration description: 'Shows a catalog configuration in an [organization](https://docs.coveo.com/en/185/).

**Required privilege:** Catalogs - View

Privilege required ``` {"owner":"COMMERCE","targetDomain":"CATALOG","type":"VIEW","targetId":"*"} ```
' operationId: getCatalogConfiguration parameters: - name: organizationId in: path description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
**Example:** `acmecorporation8tp8wu3` required: true schema: type: string - name: configurationId in: path description: The unique identifier of the catalog configuration to show.
**Example:** `644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b` required: true schema: type: string format: uuid responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/CatalogConfigurationModelWithAssociatedCatalogs' x-pretty-name: getCatalogConfiguration x-required-privilege: owner: COMMERCE targetDomain: CATALOG type: VIEW targetId: '*' x-required-privileges: - owner: COMMERCE targetDomain: CATALOG type: VIEW targetId: '*' x-ui-operation-id: /rest/organizations/paramId/catalogconfigurations/paramId_get put: tags: - Catalog Configurations summary: Update Catalog Configuration description: 'Updates a catalog configuration in an [organization](https://docs.coveo.com/en/185/).

**Required privilege:** Catalogs - Edit

Privilege required ``` {"owner":"COMMERCE","targetDomain":"CATALOG","type":"EDIT","targetId":"*"} ```
' operationId: updateCatalogConfiguration parameters: - name: organizationId in: path description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
**Example:** `acmecorporation8tp8wu3` required: true schema: type: string - name: configurationId in: path description: The unique identifier of the catalog configuration to update.
**Example:** `644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b` required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCatalogConfigurationModel' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/CatalogConfigurationModelWithAssociatedCatalogs' x-pretty-name: updateCatalogConfiguration x-required-privilege: owner: COMMERCE targetDomain: CATALOG type: EDIT targetId: '*' x-required-privileges: - owner: COMMERCE targetDomain: CATALOG type: EDIT targetId: '*' x-ui-operation-id: /rest/organizations/paramId/catalogconfigurations/paramId_put delete: tags: - Catalog Configurations summary: Delete Catalog Configuration description: 'Deletes a catalog configuration in an [organization](https://docs.coveo.com/en/185/).

**Required privilege:** Catalogs - Edit

Privilege required ``` {"owner":"COMMERCE","targetDomain":"CATALOG","type":"EDIT","targetId":"*"} ```
' operationId: deleteCatalogConfiguration parameters: - name: organizationId in: path description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
**Example:** `acmecorporation8tp8wu3` required: true schema: type: string - name: configurationId in: path description: The unique identifier of the catalog configuration to delete.
**Example:** `644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b` required: true schema: type: string format: uuid responses: '204': description: No Content x-pretty-name: deleteCatalogConfiguration x-required-privilege: owner: COMMERCE targetDomain: CATALOG type: EDIT targetId: '*' x-required-privileges: - owner: COMMERCE targetDomain: CATALOG type: EDIT targetId: '*' x-ui-operation-id: /rest/organizations/paramId/catalogconfigurations/paramId_delete /rest/organizations/{organizationId}/catalogconfigurations: get: tags: - Catalog Configurations summary: List Catalog Configurations description: 'Lists the catalog configuration of an [organization](https://docs.coveo.com/en/185/).

**Required privilege:** Catalogs - View

Privilege required ``` {"owner":"COMMERCE","targetDomain":"CATALOG","type":"VIEW","targetId":"*"} ```
' operationId: getCatalogConfigurations parameters: - name: organizationId in: path description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
**Example:** `acmecorporation8tp8wu3` required: true schema: type: string - name: page in: query description: The 0-based index number of the page of catalog configurations to retrieve.
**Minimum:** `0`
**Default:** `0` required: false schema: minimum: 0 type: integer format: int32 default: 0 - name: pageSize in: query description: The number of catalog configurations to list per page.
**Minimum:** `1`
**Maximum:** `1000`
**Default:** `10` required: false schema: maximum: 1000 minimum: 1 type: integer format: int32 default: 10 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/CommercePageModelCatalogConfigurationModelWithAssociatedCatalogs' x-pretty-name: getCatalogConfigurations x-required-privilege: owner: COMMERCE targetDomain: CATALOG type: VIEW targetId: '*' x-required-privileges: - owner: COMMERCE targetDomain: CATALOG type: VIEW targetId: '*' x-ui-operation-id: /rest/organizations/paramId/catalogconfigurations_get post: tags: - Catalog Configurations summary: Create Configuration description: 'Creates a catalog configuration in an [organization](https://docs.coveo.com/en/185/).

**Required privilege:** Catalogs - Edit

Privilege required ``` {"owner":"COMMERCE","targetDomain":"CATALOG","type":"EDIT","targetId":"*"} ```
' operationId: createCatalogConfiguration parameters: - name: organizationId in: path description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
**Example:** `acmecorporation8tp8wu3` required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCatalogConfigurationV1Model' required: true responses: '201': description: Created content: '*/*': schema: $ref: '#/components/schemas/CreateCatalogConfigurationModel' x-pretty-name: createCatalogConfiguration x-required-privilege: owner: COMMERCE targetDomain: CATALOG type: EDIT targetId: '*' x-required-privileges: - owner: COMMERCE targetDomain: CATALOG type: EDIT targetId: '*' x-ui-operation-id: /rest/organizations/paramId/catalogconfigurations_post /rest/organizations/{organizationId}/catalogconfigurations/source/{sourceId}: get: tags: - Catalog Configurations summary: Show Catalog Configuration from a Source ID description: 'Shows a catalog configurationfrom a Source Id in an [organization](https://docs.coveo.com/en/185/).

**Required privilege:** Catalogs - View

Privilege required ``` {"owner":"COMMERCE","targetDomain":"CATALOG","type":"VIEW","targetId":"*"} ```
' operationId: getCatalogConfigurationFromSource parameters: - name: organizationId in: path description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).
**Example:** `acmecorporation8tp8wu3` required: true schema: type: string - name: sourceId in: path description: A source containing the product content of the catalog required: true schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/CatalogIdAndConfigurationModel' x-pretty-name: getCatalogConfigurationFromSource x-required-privilege: owner: COMMERCE targetDomain: CATALOG type: VIEW targetId: '*' x-required-privileges: - owner: COMMERCE targetDomain: CATALOG type: VIEW targetId: '*' x-ui-operation-id: /rest/organizations/paramId/catalogconfigurations/source/paramId_get components: schemas: CatalogIdAndConfigurationModel: type: object properties: catalogId: type: string description: The unique identifier of the catalog. Ignored when included in the body of a POST or PUT request. format: uuid example: 644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b catalogConfiguration: $ref: '#/components/schemas/CatalogConfigurationModel' CommercePageModelCatalogConfigurationModelWithAssociatedCatalogs: required: - items - totalEntries - totalPages type: object properties: items: type: array description: The retrieved page of items. items: $ref: '#/components/schemas/CatalogConfigurationModelWithAssociatedCatalogs' totalEntries: type: integer description: The total number of results that match the query. format: int64 totalPages: type: integer description: The total number of pages of items available. format: int32 description: Page CreateAvailabilityHierarchyModel: required: - availableSkusField - objectType type: object properties: objectType: maxLength: 255 minLength: 1 type: string description: The `objecttype` [field](https://docs.coveo.com/200/) value that marks an indexed [item](https://docs.coveo.com/210/) as a representation of an _availability channel_ in the catalog. example: Store idField: maxLength: 255 minLength: 1 pattern: '[a-z][a-z0-9_]*' type: string description: The name of a [field](https://docs.coveo.com/200/) that provides a unique identifier for each indexed [item](https://docs.coveo.com/210/) marked as a representation of a _product_ in the catalog. example: productid availableSkusField: maxLength: 255 minLength: 1 pattern: '[a-z][a-z0-9_]*' type: string description: The name of a multi-value [field](https://docs.coveo.com/200/) that lists the available SKUs of each indexed [item](https://docs.coveo.com/210/) marked as a representation of an _availability channel_ in the catalog. example: availableskus description: '[Deprecated - use `configuration.availability` instead]. The configuration that allows indexed [items](https://docs.coveo.com/210/) representing distinct _variants_ in the catalog to be identified as such.' CreateProductHierarchyModel: required: - idField - objectType type: object properties: objectType: maxLength: 255 minLength: 1 type: string description: The `objecttype` [field](https://docs.coveo.com/200/) value that marks an indexed [item](https://docs.coveo.com/210/) as a representation of a _product_ in the catalog. example: Product idField: maxLength: 255 minLength: 1 type: string description: The name of a [field](https://docs.coveo.com/200/) that provides a unique identifier for each indexed [item](https://docs.coveo.com/210/) marked as a representation of a _product_ in the catalog. example: productid description: '[Deprecated - use `configuration.product` instead]. The configuration that allows indexed [items](https://docs.coveo.com/210/)representing distinct _products_ in the catalog to be identified as such.' CreateCatalogConfigurationModel: required: - name - product type: object properties: id: type: string description: The unique identifier of the catalog configuration. format: uuid readOnly: true example: 644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b name: maxLength: 50 minLength: 1 type: string description: A name for the configuration. example: ACME Configuration product: $ref: '#/components/schemas/CreateProductHierarchyModel' variant: $ref: '#/components/schemas/CreateVariantHierarchyModel' availability: $ref: '#/components/schemas/CreateAvailabilityHierarchyModel' fieldsMapping: type: object additionalProperties: type: string description: The standard fields mapping for the configuration example: '{"ec_name":"title","ec_price":"prix"}' description: The standard fields mapping for the configuration example: ec_name: title ec_price: prix availabilityFilterStrategy: type: string description: Strategy for filtering availabilities when executing a search.
**Default:** `ALWAYS`
The current supported strategies are `ALWAYS` and `WHEN_SPECIFIED`.
`ALWAYS` will perform the search filtering by availabilities and it will only return items with availabilities.
`WHEN_SPECIFIED` will only perform the search filtering by availabilities if an availabilityId is specified in the query, otherwise it won't filter by availabilities and it will return all items. enum: - ALWAYS - WHEN_SPECIFIED description: The catalog configuration to update. AvailabilityHierarchyModel: required: - availableSkusField - objectType type: object properties: objectType: maxLength: 255 minLength: 1 type: string description: The `objecttype` [field](https://docs.coveo.com/200/) value that marks an indexed [item](https://docs.coveo.com/210/) as a representation of an _availability channel_ in the catalog. example: Store idField: maxLength: 255 minLength: 1 pattern: '[a-z][a-z0-9_]*' type: string description: The name of a [field](https://docs.coveo.com/200/) that provides a unique identifier for each indexed [item](https://docs.coveo.com/210/) marked as a representation of a _product_ in the catalog. example: productid availableSkusField: maxLength: 255 minLength: 1 pattern: '[a-z][a-z0-9_]*' type: string description: The name of a multi-value [field](https://docs.coveo.com/200/) that lists the available SKUs of each indexed [item](https://docs.coveo.com/210/) marked as a representation of an _availability channel_ in the catalog. example: availableskus fields: uniqueItems: true type: array description: The [fields](https://docs.coveo.com/200/) that are folded when performing a [nested query](https://docs.coveo.com/220/) for _availability channels_. In a [search interface](https://docs.coveo.com/2741/), a [facet](https://docs.coveo.com/198/) based on any of those fields transforms its [`aq`](https://docs.coveo.com/175/) override to match _availability channels_ rather than _products_. example: - storeid - city items: type: string description: The [fields](https://docs.coveo.com/200/) that are folded when performing a [nested query](https://docs.coveo.com/220/) for _availability channels_. In a [search interface](https://docs.coveo.com/2741/), a [facet](https://docs.coveo.com/198/) based on any of those fields transforms its [`aq`](https://docs.coveo.com/175/) override to match _availability channels_ rather than _products_. example: '["storeid","city"]' description: '[Deprecated - use `configuration.availability` instead]. The configuration that allows indexed [items](https://docs.coveo.com/210/) representing distinct _variants_ in the catalog to be identified as such.' CatalogIdentityModelWithSources: required: - name type: object properties: id: type: string description: The unique identifier of the catalog. Ignored when included in the body of a POST or PUT request. format: uuid example: 644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b name: maxLength: 50 minLength: 1 type: string description: A unique name for the catalog. example: ACME Corp Full Catalog sourceId: type: string description: A source containing the product content of the catalog example: acmecorporation8tp8wu3-qwpdaajjq3ahak5wlq7adhciuq availabilitySourceId: type: string description: A source containing the availability objects for the catalog example: acmecorporation8tp8wu3-wj6vgp4x7ov6mfaw5a0w3dnve description: The catalogs associated to the configuration CatalogConfigurationModel: required: - name - product type: object properties: id: type: string description: The unique identifier of the catalog configuration. format: uuid readOnly: true example: 644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b name: maxLength: 50 minLength: 1 type: string description: A name for the configuration. example: ACME Configuration product: $ref: '#/components/schemas/ProductHierarchyModel' variant: $ref: '#/components/schemas/VariantHierarchyModel' availability: $ref: '#/components/schemas/AvailabilityHierarchyModel' fieldsMapping: type: object additionalProperties: type: string description: The standard fields mapping for the configuration example: '{"ec_name":"title","ec_price":"prix"}' description: The standard fields mapping for the configuration example: ec_name: title ec_price: prix availabilityFilterStrategy: type: string description: Strategy for filtering availabilities when executing a search.
**Default:** `ALWAYS`
The current supported strategies are `ALWAYS` and `WHEN_SPECIFIED`.
`ALWAYS` will perform the search filtering by availabilities and it will only return items with availabilities.
`WHEN_SPECIFIED` will only perform the search filtering by availabilities if an availabilityId is specified in the query, otherwise it won't filter by availabilities and it will return all items. enum: - ALWAYS - WHEN_SPECIFIED description: The catalog configuration. CreateCatalogConfigurationV1Model: required: - name - product type: object properties: name: maxLength: 50 minLength: 1 type: string example: ACME Configuration product: $ref: '#/components/schemas/CreateProductHierarchyModel' variant: $ref: '#/components/schemas/CreateVariantHierarchyModel' availability: $ref: '#/components/schemas/CreateAvailabilityHierarchyModel' fieldsMapping: type: object additionalProperties: type: string example: '{"ec_name":"title","ec_price":"prix"}' example: ec_name: title ec_price: prix availabilityFilterStrategy: type: string description: Strategy for filtering availabilities when executing a search.
**Default:** `ALWAYS`
The current supported strategies are `ALWAYS` and `WHEN_SPECIFIED`.
`ALWAYS` will perform the search filtering by availabilities and it will only return items with availabilities.
`WHEN_SPECIFIED` will only perform the search filtering by availabilities if an availabilityId is specified in the query, otherwise it won't filter by availabilities and it will return all items. enum: - ALWAYS - WHEN_SPECIFIED description: The catalog configuration to create. VariantHierarchyModel: required: - idField - objectType type: object properties: objectType: maxLength: 255 minLength: 1 type: string description: The `objecttype` [field](https://docs.coveo.com/200/) value that marks an indexed [item](https://docs.coveo.com/210/) as a representation of a _variant_ in the catalog. example: Variant idField: maxLength: 255 minLength: 1 pattern: '[a-z][a-z0-9_]*' type: string description: The name of a [field](https://docs.coveo.com/200/) that provides a unique identifier for each indexed [item](https://docs.coveo.com/210/) marked as a representation of a _variant_ in the catalog. example: sku fields: uniqueItems: true type: array description: The [fields](https://docs.coveo.com/200/) that are folded when performing a [nested query](https://docs.coveo.com/220/) for _variants_. In a [search interface](https://docs.coveo.com/2741/), a [facet](https://docs.coveo.com/198/) based on any of those fields transforms its [`aq`](https://docs.coveo.com/175/) override to match _variants_ rather than _products_. example: - color - size items: type: string description: The [fields](https://docs.coveo.com/200/) that are folded when performing a [nested query](https://docs.coveo.com/220/) for _variants_. In a [search interface](https://docs.coveo.com/2741/), a [facet](https://docs.coveo.com/198/) based on any of those fields transforms its [`aq`](https://docs.coveo.com/175/) override to match _variants_ rather than _products_. example: '["color","size"]' description: '[Deprecated - use `configuration.variant` instead]. The configuration that allows indexed [items](https://docs.coveo.com/210/) representing distinct _variants_ in the catalog to be identified as such.' CreateVariantHierarchyModel: required: - idField - objectType type: object properties: objectType: maxLength: 255 minLength: 1 type: string description: The `objecttype` [field](https://docs.coveo.com/200/) value that marks an indexed [item](https://docs.coveo.com/210/) as a representation of a _variant_ in the catalog. example: Variant idField: maxLength: 255 minLength: 1 pattern: '[a-z][a-z0-9_]*' type: string description: The name of a [field](https://docs.coveo.com/200/) that provides a unique identifier for each indexed [item](https://docs.coveo.com/210/) marked as a representation of a _variant_ in the catalog. example: sku description: '[Deprecated - use `configuration.variant` instead]. The configuration that allows indexed [items](https://docs.coveo.com/210/) representing distinct _variants_ in the catalog to be identified as such.' CatalogConfigurationModelWithAssociatedCatalogs: required: - name - product type: object properties: id: type: string description: The unique identifier of the catalog configuration. format: uuid readOnly: true example: 644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b name: maxLength: 50 minLength: 1 type: string description: A name for the configuration. example: ACME Configuration product: $ref: '#/components/schemas/CreateProductHierarchyModel' variant: $ref: '#/components/schemas/CreateVariantHierarchyModel' availability: $ref: '#/components/schemas/CreateAvailabilityHierarchyModel' fieldsMapping: type: object additionalProperties: type: string description: The standard fields mapping for the configuration example: '{"ec_name":"title","ec_price":"prix"}' description: The standard fields mapping for the configuration example: ec_name: title ec_price: prix availabilityFilterStrategy: type: string description: Strategy for filtering availabilities when executing a search.
**Default:** `ALWAYS`
The current supported strategies are `ALWAYS` and `WHEN_SPECIFIED`.
`ALWAYS` will perform the search filtering by availabilities and it will only return items with availabilities.
`WHEN_SPECIFIED` will only perform the search filtering by availabilities if an availabilityId is specified in the query, otherwise it won't filter by availabilities and it will return all items. enum: - ALWAYS - WHEN_SPECIFIED associatedCatalogs: type: array description: The catalogs associated to the configuration items: $ref: '#/components/schemas/CatalogIdentityModelWithSources' ProductHierarchyModel: required: - idField - objectType type: object properties: objectType: maxLength: 255 minLength: 1 type: string description: The `objecttype` [field](https://docs.coveo.com/200/) value that marks an indexed [item](https://docs.coveo.com/210/) as a representation of a _product_ in the catalog. example: Product idField: maxLength: 255 minLength: 1 type: string description: The name of a [field](https://docs.coveo.com/200/) that provides a unique identifier for each indexed [item](https://docs.coveo.com/210/) marked as a representation of a _product_ in the catalog. example: productid fields: uniqueItems: true type: array description: The [fields](https://docs.coveo.com/200/) that only seen on _products_ objects in the catalog. example: - color - size items: type: string description: The [fields](https://docs.coveo.com/200/) that only seen on _products_ objects in the catalog. example: '["color","size"]' description: '[Deprecated - use `configuration.product` instead]. The configuration that allows indexed [items](https://docs.coveo.com/210/)representing distinct _products_ in the catalog to be identified as such.' securitySchemes: oauth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://platform.cloud.coveo.com/oauth/authorize tokenUrl: https://platform.cloud.coveo.com/oauth/token scopes: full: required