Coveo Catalogs API

The Catalogs API from Coveo — 6 operation(s) for catalogs.

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-catalogs-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Coveo Activity Activities Catalogs 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: Catalogs
paths:
  /rest/organizations/{organizationId}/catalogs/{catalogId}:
    get:
      tags:
      - Catalogs
      summary: Show Catalog
      description: 'Shows a [catalog](https://docs.coveo.com/en/3143/) 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: getCatalog
      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: catalogId
        in: path
        description: The unique identifier of the [catalog](https://docs.coveo.com/en/3143/) 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/CatalogModel'
      x-pretty-name: getCatalog
      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/catalogs/paramId_get
    put:
      tags:
      - Catalogs
      summary: Update Catalog
      description: 'Updates a [catalog](https://docs.coveo.com/en/3143/) 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: updateCatalog
      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: catalogId
        in: path
        description: The unique identifier of the [catalog](https://docs.coveo.com/en/3143/) to update.<br />**Example:** `644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b`
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCatalogModel'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CreateCatalogModel'
      x-pretty-name: updateCatalog
      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/catalogs/paramId_put
    delete:
      tags:
      - Catalogs
      summary: Delete Catalog
      description: 'Deletes a [catalog](https://docs.coveo.com/en/3143/) 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: deleteCatalog
      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: catalogId
        in: path
        description: The unique identifier of the [catalog](https://docs.coveo.com/en/3143/) to delete.<br />**Example:** `644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b`
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: No Content - Catalog successfully deleted
        '400':
          description: Bad Request - The catalog is associated with a tracking ID to catalog mapping
        '404':
          description: Not Found - The catalog does not exist
      x-pretty-name: deleteCatalog
      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/catalogs/paramId_delete
  /rest/organizations/{organizationId}/catalogs:
    get:
      tags:
      - Catalogs
      summary: List Catalogs
      description: 'Lists the [catalogs](https://docs.coveo.com/en/3143/) 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: getCatalogs
      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: filter
        in: query
        description: Filter that will be matched against the catalog id, name, description and its configuration name..<br />**Example:** `catalogName`
        required: false
        schema:
          type: string
      - name: catalogIds
        in: query
        description: List of the unique identifiers of the [catalog](https://docs.coveo.com/en/3143/) to show.<br />**Example:** `[644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b]`
        required: false
        schema:
          type: array
          items:
            type: string
            format: uuid
      - name: sourceIds
        in: query
        description: List of the unique identifiers of the sources
        required: false
        schema:
          type: array
          items:
            type: string
      - name: page
        in: query
        description: The 0-based index number of the page of catalogs 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 catalogs 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
      - name: enrichWithFields
        in: query
        description: If true, catalog will be enriched with field suggestions. This requires a call to SearchAPI
        required: false
        schema:
          type: boolean
          default: true
      - name: catalogSortingType
        in: query
        description: The field to sort the returned catalogs by.</br>**Default:** `name`
        required: false
        schema:
          type: string
          default: NAME
          enum:
          - NAME
      - name: sortingDirection
        in: query
        description: The `sortingType` order to list the catalogs in.</br>**Default:** `ASC`
        required: false
        schema:
          type: string
          default: ASC
          enum:
          - ASC
          - DESC
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CommercePageModelCatalogModel'
      x-pretty-name: getCatalogs
      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/catalogs_get
    post:
      tags:
      - Catalogs
      summary: Create Catalog
      description: 'Creates a [catalog](https://docs.coveo.com/en/3143/) 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: createCatalog
      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/CreateCatalogV1Model'
        required: true
      responses:
        '201':
          description: Created
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CreateCatalogModel'
      x-pretty-name: createCatalog
      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/catalogs_post
  /rest/organizations/{organizationId}/catalogs/ids:
    post:
      tags:
      - Catalogs
      summary: List Catalogs Using Catalog Ids as a Body for Filtering.
      description: 'Lists the [catalogs](https://docs.coveo.com/en/3143/) 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: getCatalogsWithIdsBody
      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: filter
        in: query
        description: Filter that will be matched against the catalog id, name, description and its configuration name..<br />**Example:** `catalogName`
        required: false
        schema:
          type: string
      - name: sourceIds
        in: query
        description: List of the unique identifiers of the sources
        required: false
        schema:
          type: array
          items:
            type: string
      - name: page
        in: query
        description: The 0-based index number of the page of catalogs 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 catalogs 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
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
                format: uuid
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CommercePageModelCatalogModel'
      x-pretty-name: getCatalogsWithIdsBody
      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/catalogs/ids_post
  /rest/organizations/{organizationId}/catalogs/fieldsSuggestions:
    post:
      tags:
      - Catalogs
      summary: Suggest Fields
      description: 'Shows suggested fields and sample values for mapping in an [organization](https://docs.coveo.com/en/185/).</br></br>**Required privilege:** Execute Query<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"SEARCH_API","targetDomain":"EXECUTE_QUERY","targetId":"*"}

        ```

        </details>'
      operationId: getFieldsSuggestions
      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/FieldsSuggestionsQueryModel'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/FieldsSuggestionsModel'
      x-pretty-name: getFieldsSuggestions
      x-required-privilege:
        owner: SEARCH_API
        targetDomain: EXECUTE_QUERY
        targetId: '*'
      x-required-privileges:
      - owner: SEARCH_API
        targetDomain: EXECUTE_QUERY
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/catalogs/fieldsSuggestions_post
  /rest/organizations/{organizationId}/catalogs/{catalogId}/fieldStats:
    get:
      tags:
      - Catalogs
      summary: Show Field Stats
      description: 'Retrieve statistics about the usage of fields by objects in the catalog''s source.</br></br>**Required privilege:** Catalogs - View<br /><br /><details><summary>Privilege required</summary>

        ```

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

        ```

        </details>'
      operationId: getFieldStats
      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: catalogId
        in: path
        description: The unique identifier of the [catalog](https://docs.coveo.com/en/3143/).
        required: true
        schema:
          type: string
          format: uuid
      - name: forceRefresh
        in: query
        description: If true, the database cache will be refreshed and the most up-to-date fields data returned.
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CachedFieldStats'
      x-pretty-name: getFieldStats
      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/catalogs/paramId/fieldStats_get
  /rest/organizations/{organizationId}/catalogs/project:
    get:
      tags:
      - Catalogs
      summary: List Catalogs Within Specified Project and According to the Specified Filter.
      description: 'Lists the [catalogs](https://docs.coveo.com/en/3143/) 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: getCatalogsWithProjectId
      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: filter
        in: query
        description: Filter that will be matched against the catalog id, name, description and its configuration name..<br />**Example:** `catalogName`
        required: false
        schema:
          type: string
      - name: projectId
        in: query
        description: Id of the project for which we want to retrieve the catalogs
        required: false
        schema:
          type: string
      - name: sourceIds
        in: query
        description: List of the unique identifiers of the sources
        required: false
        schema:
          type: array
          items:
            type: string
      - name: page
        in: query
        description: The 0-based index number of the page of catalogs 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 catalogs 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
      - name: enrichWithFields
        in: query
        description: If true, catalog will be enriched with field suggestions. This requires a call to SearchAPI
        required: false
        schema:
          type: boolean
          default: true
      - name: catalogSortingType
        in: query
        description: The field to sort the returned catalogs by.</br>**Default:** `name`
        required: false
        schema:
          type: string
          default: NAME
          enum:
          - NAME
      - name: sortingDirection
        in: query
        description: The `sortingType` order to list the catalogs in.</br>**Default:** `ASC`
        required: false
        schema:
          type: string
          default: ASC
          enum:
          - ASC
          - DESC
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CommercePageModelCatalogModel'
      x-pretty-name: getCatalogsWithProjectId
      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/catalogs/project_get
components:
  schemas:
    FieldsSuggestionsModel:
      type: object
      properties:
        fields:
          type: array
          description: The list of fields suggestions.
          items:
            $ref: '#/components/schemas/FieldSuggestionsModel'
    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.'
    CachedFieldStats:
      required:
      - lastUpdated
      - nextUpdate
      type: object
      properties:
        fieldStats:
          type: array
          description: Collection of statistics about the usage of fields by a catalog
          items:
            $ref: '#/components/schemas/FieldStatsModel'
        lastUpdated:
          type: string
          description: The date at which the cached item was last refreshed in number of milliseconds since UNIX epoch.
          format: date-time
        nextUpdate:
          type: string
          description: The date at which the cached item will next be refreshed in number of milliseconds since UNIX epoch.
          format: date-time
    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.
    CommercePageModelCatalogModel:
      required:
      - items
      - totalEntries
      - totalPages
      type: object
      properties:
        items:
          type: array
          description: The retrieved page of items.
          items:
            $ref: '#/components/schemas/CatalogModel'
        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
    FieldStatsItemModel:
      type: object
      properties:
        objectsWithField:
          type: integer
          description: Number of objects with this field
          format: int32
          example: 9
        objectsWithType:
          type: integer
          description: Number of objects with this type
          format: int32
          example: 100
      description: Availability stats
    FieldsSuggestionsQueryModel:
      required:
      - productObjectType
      - sourceNames
      type: object
      properties:
        sourceNames:
          minItems: 1
          uniqueItems: true
          type: array
          description: A list of source names containing the product content of the catalog
          items:
            type: string
            description: A list of source names containing the product content of the catalog
        availabilitySourceNames:
          uniqueItems: true
          type: array
          description: A list of source names containing the availability objects for the catalog
          items:
            type: string
            description: A list of source names containing the availability objects for the catalog
        productObjectType:
          minLength: 1
          type: string
          description: Product objecttype type
        variantObjectType:
          type: string
          description: Variant objecttype type
        availabilityObjectType:
          type: string
          description: Availability objecttype type
      description: The fields suggestions query to be executed
    CreateCatalogModel:
      required:
      - name
      - sourceId
      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
        description:
          maxLength: 255
          minLength: 0
          type: string
          description: A textual description of the catalog.
          example: Allows all products offered by the ACME Corporation to be represented
        configuration:
          $ref: '#/components/schemas/CreateCatalogConfigurationModel'
        sourceId:
          minLength: 1
          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
        catalogConfigurationId:
          type: string
          description: The unique identifier of the catalog configuration.
          format: uuid
          example: 644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b
      description: The [catalog](https://docs.coveo.com/en/3143/) to update.
    FieldStatsModel:
      type: object
      properties:
        fieldName:
          type: string
          description: Name of the field
          example: ec_brand
        product:
          $ref: '#/components/schemas/FieldStatsItemModel'
        variant:
          $ref: '#/components/schemas/FieldStatsItemModel'
        availability:
          $ref: '#/components/schemas/FieldStatsItemModel'
      description: Collection of statistics about the usage of fields by a catalog
    CatalogModel:
      required:
      - configuration
      - name
      - sourceId
      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
        description:
          maxLength: 255
          minLength: 0
          type: string
          description: A textual description of the catalog.
          example: Allows all products offered by the ACME Corporation to be represented
        configuration:
          $ref: '#/components/schemas/CatalogConfigurationModel'
        sourceId:
          minLength: 1
          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
        catalogConfigurationId:
          type: string
          description: The unique identifier of the catalog configuration.
          format: uuid
          example: 644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b
        projectIds:
          type: array
          description: The list of project ids associated with the catalog.
          items:
            type: string
            description: The list of project ids associated with the catalog.
      description: The retrieved page of items.
    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

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/openapi/coveo-catalogs-api-openapi.yml