Coveo Catalog Configurations API

The Catalog Configurations API from Coveo — 3 operation(s) for catalog configurations.

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-passagev3-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restfacetrequest-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restfacetresult-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restfacetresultvalue-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restgroupby-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restgroupbyresult-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restgroupbyvalue-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-resthighlightresponse-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restquerycorrection-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restqueryfunction-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restqueryparameters-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restqueryparentresult-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restqueryresponse-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restqueryresult-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restrankingfunction-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-retrievepassagesrequestv3-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-retrievepassagesresponsev3-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-passagev3-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restfacetrequest-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restfacetresult-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restfacetresultvalue-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restgroupby-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restgroupbyresult-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restgroupbyvalue-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-resthighlightresponse-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restquerycorrection-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restqueryfunction-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restqueryparameters-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restqueryparentresult-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restqueryresponse-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restqueryresult-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restrankingfunction-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-retrievepassagesrequestv3-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-retrievepassagesresponsev3-structure.json

Other Resources

OpenAPI Specification

coveo-catalog-configurations-api-openapi.yml Raw ↑
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/).</br></br>**Required privilege:** Catalogs - View<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"COMMERCE","targetDomain":"CATALOG","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: getCatalogConfiguration
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:** `acmecorporation8tp8wu3`
        required: true
        schema:
          type: string
      - name: configurationId
        in: path
        description: The unique identifier of the catalog configuration to show.<br />**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/).</br></br>**Required privilege:** Catalogs - Edit<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"COMMERCE","targetDomain":"CATALOG","type":"EDIT","targetId":"*"}

        ```

        </details>'
      operationId: updateCatalogConfiguration
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:** `acmecorporation8tp8wu3`
        required: true
        schema:
          type: string
      - name: configurationId
        in: path
        description: The unique identifier of the catalog configuration to update.<br />**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/).</br></br>**Required privilege:** Catalogs - Edit<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"COMMERCE","targetDomain":"CATALOG","type":"EDIT","targetId":"*"}

        ```

        </details>'
      operationId: deleteCatalogConfiguration
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:** `acmecorporation8tp8wu3`
        required: true
        schema:
          type: string
      - name: configurationId
        in: path
        description: The unique identifier of the catalog configuration to delete.<br />**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/).</br></br>**Required privilege:** Catalogs - View<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"COMMERCE","targetDomain":"CATALOG","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: getCatalogConfigurations
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**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.</br>**Minimum:** `0`</br>**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.</br>**Minimum:** `1`</br>**Maximum:** `1000`</br>**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/).</br></br>**Required privilege:** Catalogs - Edit<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"COMMERCE","targetDomain":"CATALOG","type":"EDIT","targetId":"*"}

        ```

        </details>'
      operationId: createCatalogConfiguration
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**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/).</br></br>**Required privilege:** Catalogs - View<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"COMMERCE","targetDomain":"CATALOG","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: getCatalogConfigurationFromSource
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**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. <br>**Default:** `ALWAYS`<br>The current supported strategies are `ALWAYS` and `WHEN_SPECIFIED`.<br>`ALWAYS` will perform the search filtering by availabilities and it will only return items with availabilities.<br>`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. <br>**Default:** `ALWAYS`<br>The current supported strategies are `ALWAYS` and `WHEN_SPECIFIED`.<br>`ALWAYS` will perform the search filtering by availabilities and it will only return items with availabilities.<br>`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. <br>**Default:** `ALWAYS`<br>The current supported strategies are `ALWAYS` and `WHEN_SPECIFIED`.<br>`ALWAYS` will perform the search filtering by availabilities and it will only return items with availabilities.<br>`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. <br>**Default:** `ALWAYS`<br>The current supported strategies are `ALWAYS` and `WHEN_SPECIFIED`.<br>`ALWAYS` will perform the search filtering by availabilities and it will only return items with availabilities.<br>`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