Coveo Machine learning associations API

The Machine learning associations API from Coveo — 7 operation(s) for machine learning associations.

Operations 10

GET /rest/search/v2/admin/pipelines/{pipelineId}/ml/model/associations List Query Pipeline ML Model Associations #
POST /rest/search/v2/admin/pipelines/{pipelineId}/ml/model/associations Associate an Existing Machine Learning Model with an Existing Pipeline. #
GET /rest/search/v2/admin/pipelines/{pipelineId}/ml/model/associations/{associationId} Get a ML Model Association #
PUT /rest/search/v2/admin/pipelines/{pipelineId}/ml/model/associations/{associationId} Update ML Model Association #
DELETE /rest/search/v2/admin/pipelines/{pipelineId}/ml/model/associations/{associationId} Remove Query Pipeline ML Model Association #
PUT /rest/search/v2/admin/pipelines/{pipelineId}/ml/model/associations/{associationId}/position Update ML Model Association Position #
POST /rest/search/v2/admin/pipelines/{pipelineId}/ml/model/associations/bulkGet List Query Pipeline ML Model Associations #
POST /rest/search/v2/admin/pipelines/{pipelineId}/ml/model/associations/validate Validate a Single ML Model Association Operation. #
POST /rest/search/v2/admin/pipelines/{pipelineId}/ml/model/associations/validate/batch Validate a Batch of ML Model Association Operations. #
GET /rest/search/v2/admin/pipelines/ml/version Returns the Version of ML Models Supported by the Organization in the Request. #

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

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/coveo-machine-learning-associations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

coveo-machine-learning-associations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Coveo Search Machine learning associations API
  description: Documentation for Coveo Search API
  termsOfService: http://www.coveo.com/en/support/terms-agreements
  contact:
    name: support@coveo.com
  license:
    name: ''
  version: 1.0.0
  x-ApiVersion: V3
servers:
- url: https://platform.cloud.coveo.com
  description: Coveo public API endpoint
tags:
- name: Machine learning associations
  x-displayName: Machine learning associations
paths:
  /rest/search/v2/admin/pipelines/{pipelineId}/ml/model/associations:
    get:
      tags:
      - Machine learning associations
      summary: List Query Pipeline ML Model Associations
      description: 'Gets a page of Coveo Machine Learning model associations for a specific query pipeline.

        <details>

        <summary>Privilege(s) required</summary>


        ```json

        {"level":"NORMAL","owner":"SEARCH_API","targetDomain":"QUERY_PIPELINE","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: listAssociationsOfPipeline
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/PipelineIdPath'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PerPage'
      - name: filter
        in: query
        description: 'Filter associations by model display name or description (case-insensitive substring match).


          For example, `filter=product` will match associations where the model display name or description contains "product".


          By default, all associations are returned when no filter is specified.'
        schema:
          type: string
          maxLength: 50
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssociationWithConditionResponseBody'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '419':
          $ref: '#/components/responses/AuthenticationTimeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth2:
        - full
    post:
      tags:
      - Machine learning associations
      summary: Associate an Existing Machine Learning Model with an Existing Pipeline.
      operationId: associateModel
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/PipelineIdPath'
      requestBody:
        description: 'The configuration options to apply to the ML model.


          The `cacheMaximumAge, `condition`, `description`, and `maxResults`, options apply to all types of models. Other configuration options are only taken into account for specific types of models:


          - `enableWordCompletion`: query suggestions

          - `exclusive`: event recommendations

          - `intelligentTermDetection`, `matchAdvancedQuery`, and `matchQuery`: automatic relevance tuning

          - `rankingModifier`: automatic relevance tuning, event recommendations'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAssociationRequest'
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '419':
          $ref: '#/components/responses/AuthenticationTimeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth2:
        - full
      description: '<details>

        <summary>Privilege(s) required</summary>


        ```json

        {"level":"NORMAL","owner":"SEARCH_API","targetDomain":"QUERY_PIPELINE","type":"EDIT","targetId":"{pipelineId}"}

        ```

        </details>'
  /rest/search/v2/admin/pipelines/{pipelineId}/ml/model/associations/{associationId}:
    get:
      tags:
      - Machine learning associations
      summary: Get a ML Model Association
      description: 'Gets a Coveo Machine Learning model association.

        <details>

        <summary>Privilege(s) required</summary>


        ```json

        {"level":"NORMAL","owner":"SEARCH_API","targetDomain":"QUERY_PIPELINE","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: getAssociation
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/PipelineIdPath'
      - name: associationId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MlPipelineAssociationWithGroupAndCondition'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '419':
          $ref: '#/components/responses/AuthenticationTimeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth2:
        - full
    put:
      tags:
      - Machine learning associations
      summary: Update ML Model Association
      description: 'Changes the configuration of an association in a pipeline.

        <details>

        <summary>Privilege(s) required</summary>


        ```json

        {"level":"NORMAL","owner":"SEARCH_API","targetDomain":"QUERY_PIPELINE","type":"EDIT","targetId":"{pipelineId}"}

        ```

        </details>'
      operationId: updateAssociation
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/PipelineIdPath'
      - name: associationId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        description: 'The configuration options to apply to the ML model.


          The `cacheMaximumAge`, `condition`, `description`, and `maxResults`, options apply to all types of models. Other configuration options are only taken into account for specific types of models:


          - `enableWordCompletion`: query suggestions

          - `exclusive`: event recommendations

          - `intelligentTermDetection`, `matchAdvancedQuery`, and `matchQuery`: automatic relevance tuning

          - `rankingModifier`: automatic relevance tuning, event recommendations'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditAssociationRequest'
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
        '204':
          description: No Content
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '419':
          $ref: '#/components/responses/AuthenticationTimeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth2:
        - full
    delete:
      tags:
      - Machine learning associations
      summary: Remove Query Pipeline ML Model Association
      description: 'Removes a single existing association between a machine learning model and a query pipeline.

        <details>

        <summary>Privilege(s) required</summary>


        ```json

        {"level":"NORMAL","owner":"SEARCH_API","targetDomain":"QUERY_PIPELINE","type":"EDIT","targetId":"{pipelineId}"}

        ```

        </details>'
      operationId: disassociate
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/PipelineIdPath'
      - name: associationId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
        '204':
          description: No Content
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '419':
          $ref: '#/components/responses/AuthenticationTimeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth2:
        - full
  /rest/search/v2/admin/pipelines/{pipelineId}/ml/model/associations/{associationId}/position:
    put:
      tags:
      - Machine learning associations
      summary: Update ML Model Association Position
      description: 'Changes the position of an association in a pipeline.

        <details>

        <summary>Privilege(s) required</summary>


        ```json

        {"level":"NORMAL","owner":"SEARCH_API","targetDomain":"QUERY_PIPELINE","type":"EDIT","targetId":"{pipelineId}"}

        ```

        </details>'
      operationId: updateAssociationPosition
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/PipelineIdPath'
      - name: associationId
        in: path
        required: true
        schema:
          type: string
      - name: position
        in: query
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
        '204':
          description: No Content
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '419':
          $ref: '#/components/responses/AuthenticationTimeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth2:
        - full
  /rest/search/v2/admin/pipelines/{pipelineId}/ml/model/associations/bulkGet:
    post:
      tags:
      - Machine learning associations
      summary: List Query Pipeline ML Model Associations
      description: 'Gets a page of Coveo Machine Learning model associations for a specific query pipeline.

        <details>

        <summary>Privilege(s) required</summary>


        ```json

        {"level":"NORMAL","owner":"SEARCH_API","targetDomain":"QUERY_PIPELINE","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: bulkGetAssociationsOfPipeline
      parameters:
      - $ref: '#/components/parameters/PipelineIdPath'
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PerPage'
      requestBody:
        description: A set of parameters to customize the results.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestBulkGetRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssociationWithConditionResponseBody'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '419':
          $ref: '#/components/responses/AuthenticationTimeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth2:
        - full
  /rest/search/v2/admin/pipelines/{pipelineId}/ml/model/associations/validate:
    post:
      tags:
      - Machine learning associations
      summary: Validate a Single ML Model Association Operation.
      description: 'Validate that a specific operation would be accepted by our API and executed.

        <details>

        <summary>Privilege(s) required</summary>


        ```json

        {"level":"NORMAL","owner":"SEARCH_API","targetDomain":"QUERY_PIPELINE","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: validateMlAssociationOperation
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/PipelineIdPath'
      requestBody:
        description: An object that contains an operation to validate.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssociationSingleValidationRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestSingleOperationValidationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '419':
          $ref: '#/components/responses/AuthenticationTimeout'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth2:
        - full
  /rest/search/v2/admin/pipelines/{pipelineId}/ml/model/associations/validate/batch:
    post:
      tags:
      - Machine learning associations
      summary: Validate a Batch of ML Model Association Operations.
      description: "\n Validate that a list of operations would be accepted by our API and executed.\n A maximum of 15 can be processed per request.\n<details>\n<summary>Privilege(s) required</summary>\n\n```json\n{\"level\":\"NORMAL\",\"owner\":\"SEARCH_API\",\"targetDomain\":\"QUERY_PIPELINE\",\"type\":\"VIEW\",\"targetId\":\"*\"}\n```\n</details>"
      operationId: validateMlAssociationOperations
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/PipelineIdPath'
      requestBody:
        description: An object that contains the list of operations to validate.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssociationBatchValidationRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestBatchOperationValidationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '419':
          $ref: '#/components/responses/AuthenticationTimeout'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      security:
      - oauth2:
        - full
  /rest/search/v2/admin/pipelines/ml/version:
    get:
      tags:
      - Machine learning associations
      summary: Returns the Version of ML Models Supported by the Organization in the Request.
      operationId: mlVersion
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '419':
          $ref: '#/components/responses/AuthenticationTimeout'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth2:
        - full
      description: '<details>

        <summary>Privilege(s) required</summary>


        ```json

        {"level":"NORMAL","owner":"SEARCH_API","targetDomain":"QUERY_PIPELINE","type":"VIEW","targetId":"*"}

        ```

        </details>'
components:
  schemas:
    CreateAssociationRequest:
      required:
      - modelId
      type: object
      properties:
        modelId:
          type: string
          description: The unique identifier of the ML model to create an association with.
          example: mycoveocloudorganization_topclicks_My_ART_Model
        rankingModifier:
          type: integer
          description: "The ranking score modifier the ML model should apply to each item it recommends.\n\nUsed by the following ML models:\n  - Automatic relevance tuning (default value: `1000`)\n  - Event recommendation (default value: `1000`)\""
          format: int32
          example: 500
        matchBasicExpression:
          type: boolean
          description: 'Whether all items recommended by the ML model should match the basic query expression (e.g., end-user input in the search box).


            Used by the following ML models:

            - Automatic relevance tuning (default value: `false`)'
        matchAdvancedExpression:
          type: boolean
          description: 'Whether all items recommended by the ML model should match the advanced query expression (e.g., facet selections).


            Used by the following ML models:

            - Automatic relevance tuning (default value: `true`)'
        intelligentTermDetection:
          type: boolean
          description: "Whether the ML model should use the Intelligent Term Detection (ITD) feature to refine queries by extracting relevant keywords from the large query expression and injecting those in the basic query expression.\n  \nUsed by the following ML models:\n- Automatic relevance tuning (default value: `false`)"
        intelligentTermDetectionPartialMatchThreshold:
          type: string
          description: 'An absolute or relative value indicating the minimum number (rounded up) of partial match expression keywords an item must contain to match the expression refined by the Intelligent Term Detection (ITD) feature.


            If specified, the `intelligentTermDetectionPartialMatchKeywords` value must either be:


            - a number between 1 and 10

            - a percentage value between 1% and 100% (e.g., `75%`)


            **Examples:**


            - `3`

            - `75%`


            **Notes:**


            - This parameter has no meaning unless the `intelligentTermDetection` parameter is set to `true`.


            Used by the following ML model:

            - Automatic relevance tuning (default value: `60%`)'
          example: 75%
          default: 60%
        intelligentTermDetectionPartialMatchKeywords:
          type: integer
          description: 'The minimum number of keywords that need to be present in an Intelligent Term Detection (ITD) response to convert it to a partial match expression.


            **Notes:**


            - This parameter has no meaning unless the `intelligentTermDetection` parameter is set to `true`.


            Used by the following ML model:

            - Automatic relevance tuning (default value: `1`)'
          format: int32
          example: 4
          default: 1
        condition:
          type: string
          description: The unique identifier of the condition that must be satisfied for a request to be processed by the ML model.
          example: 45a7892e-a63f-4c8e-8795-ab38c8c18d7e
        maxRecommendations:
          type: integer
          description: 'The maximum number of recommendations the ML model should return. This should be set to a relatively low value (typically well below 50), otherwise some of the recommended items may not actually be relevant. (Automatic relevance tuning default value: 5. Query suggest default value: 10)'
          format: int32
        cacheMaximumAge:
          type: string
          description: 'The maximum age of cached query results the ML model should accept, in the ISO - 8601 format only including the seconds and milliseconds part. **Default:** `PT1800S`.


            For each incoming query to be processed by the ML model, if a result set for an identical previously made query is available in cache and this result set is not older than the specified value, the ML model makes recommendations based on that cached query result set. Otherwise, the query is executed against the index.'
          example: PT300S
        enableWordCompletion:
          type: boolean
          description: 'Whether the ML model should attempt to complete the last word of the basic query expression and increase the ranking score of the resulting expression so that it is returned as the first completion suggestion.


            Used by the following ML models:

            - Query suggestions (default value: `true`)'
        description:
          type: string
          description: The ML model association description.
        exclusive:
          type: boolean
          description: 'Whether the Search API should only return items which were recommended by the ML model, even if other items matching the query were found in the index.


            Used by the following ML models:

            - Event recommendations (default value: `true`)

            - Product recommendations (default value: `true`)'
        customQueryParameters:
          type: object
          additionalProperties: true
          description: 'The additional parameters to send to Coveo ML.


            Among other things, this can be used to specify the [`strategy`](https://docs.coveo.com/en/p85e0425/) to use when querying a Product Recommendations model (for example, `{ "strategy": "frequentBought" }`. The valid `strategy` values are:


            - `cart`

            - `frequentBought`

            - `frequentViewed`

            - `popularBought`

            - `popularViewed`

            - `recentlyBought`

            - `recentlyViewed`

            - `user`'
        useAdvancedConfiguration:
          type: boolean
          description: '**Internal:** This property is exposed for internal use by the Coveo Cloud administration console.


            Whether the administration console should show the advanced editor for this association.


            **Note:** Properties not supported by the standard editor may not be preserved if managed via direct API calls or the advanced editor.


            **Default:** `false`'
        dynamicNavigationExperience:
          $ref: '#/components/schemas/DynamicNavigationExperienceConfiguration'
        contentIdKeys:
          type: array
          description: 'The names of the fields to use to uniquely identify items in the index.


            **Default:** `["permanentid","urihash"]`'
          items:
            type: string
        statementGroupId:
          type: string
          description: The unique identifier of the statement group.
          example: 679adb80-444e-11ea-b77f-2e728ce88125
        passageRetrieval:
          $ref: '#/components/schemas/PassageRetrievalConfiguration'
    EditAssociationRequest:
      type: object
      properties:
        rankingModifier:
          type: integer
          description: "The ranking score modifier the ML model should apply to each item it recommends.\n \nUsed by the following ML models:\n- Automatic relevance tuning (default value: `1000`)\n- Event recommendation (default value: `1000`)"
          format: int32
          example: 500
        matchBasicExpression:
          type: boolean
          description: 'Whether all items recommended by the ML model should match the basic query expression (e.g., end-user input in the search box).


            Used by the following ML models:

            - Automatic relevance tuning (default value: `false`)'
        matchAdvancedExpression:
          type: boolean
          description: 'Whether all items recommended by the ML model should match the advanced query expression (e.g., facet selections).


            Used by the following ML models:

            - Automatic relevance tuning (default value: `true`)'
        intelligentTermDetection:
          type: boolean
          description: "Whether the ML model should use the Intelligent Term Detection (ITD) feature to refine queries by extracting relevant keywords from the large query expression and injecting those in the basic query expression.\n  \nUsed by the following ML models:\n- Automatic relevance tuning (default value: `false`)"
        intelligentTermDetectionPartialMatchThreshold:
          type: string
          description: 'An absolute or relative value indicating the minimum number (rounded up) of partial match expression keywords an item must contain to match the expression refined by the Intelligent Term Detection (ITD) feature.


            If specified, the `intelligentTermDetectionPartialMatchKeywords` value must either be:


            - a number between 1 and 10

            - a percentage value between 1% and 100% (e.g., `75%`)


            **Examples:**


            - `3`

            - `75%`


            **Notes:**


            - This parameter has no meaning unless the `intelligentTermDetection` parameter is set to `true`.


            Used by the following ML model:

            - Automatic relevance tuning (default value: `60%`)'
          example: 75%
          default: 60%
        intelligentTermDetectionPartialMatchKeywords:
          type: integer
          description: 'The minimum number of keywords that need to be present in an Intelligent Term Detection (ITD) response to convert it to a partial match expression.


            **Notes:**


            - This parameter has no meaning unless the `intelligentTermDetection` parameter is set to `true`.


            Used by the following ML model:

            - Automatic relevance tuning (default value: `1`)'
          format: int32
          example: 4
          default: 1
        condition:
          type: string
          description: The unique identifier of the condition that must be satisfied for a request to be processed by the ML model.
          example: 45a7892e-a63f-4c8e-8795-ab38c8c18d7e
        maxRecommendations:
          type: integer
          description: 'The maximum number of recommendations the ML model should return. This should be set to a relatively low value (typically well below 50), otherwise some of the recommended items may not actually be relevant. (Automatic relevance tuning default value: 5. Query suggest default value: 10)'
          format: int32
        cacheMaximumAge:
          type: string
          description: 'The maximum age of cached query results the ML model should accept, in the ISO - 8601 format only including the seconds and milliseconds part. **Default:** `PT1800S`.


            For each incoming query to be processed by the ML model, if a result set for an identical previously made query is available in cache and this result set is not older than the specified value, the ML model makes recommendations based on that cached query result set. Otherwise, the query is executed against the index.'
          example: PT300S
        enableWordCompletion:
          type: boolean
          description: 'Whether the ML model should attempt to complete the last word of the basic query expression and increase the ranking score of the resulting expression so that it is returned as the first completion suggestion.


            Used by the following ML models:

            - Query suggestions (default value: `true`)'
        description:
          type: string
          description: The ML model association description.
        exclusive:
          type: boolean
          description: 'Whether the Search API should only return items which were recommended by the ML model, even if other items matching the query were found in the index.


            Used by the following ML models:

            - Event recommendations (default value: `true`)

            - Product recommendations (default value: `true`)'
        customQueryParameters:
          type: object
          additionalProperties: true
          description: 'The additional parameters to send to Coveo ML.


            Among other things, this can be used to specify the [`strategy`](https://docs.coveo.com/en/p85e0425/) to use when querying a Product Recommendations model (for example, `{ "strategy": "frequentBought" }`. The valid `strategy` values are:


            - `cart`

            - `frequentBought`

            - `frequentViewed`

            - `popularBought`

            - `popularViewed`

            - `recentlyBought`

            - `recentlyViewed`

            - `user`'
        useAdvancedConfiguration:
          type: boolean
          description: '**Internal:** This property is exposed for internal use by the Coveo Cloud administration console.


            Whether the administration console should show the advanced editor for this association.


            **Note:** Properties not supported by the standard editor may not be preserved if managed via direct API calls or the advanced editor.


            **Default:** `false`'
        dynamicNavigationExperience:
          $ref: '#/components/schemas/DynamicNavigationExperienceConfiguration'
        contentIdKeys:
          type: array
          description: 'The names of the fields to use to uniquely identify items in the index.


            **Default:** `["permanentid","urihash"]`'
          items:
            type: string
        statementGroupId:
          type: string
          description: The unique identifier of the statement group.
          example: 679adb80-444e-11ea-b77f-2e728ce88125
        passageRetrieval:
          $ref: '#/components/schemas/PassageRetrievalConfiguration'
    RestBatchOperationValidationResponse:
      required:
      - results
      type: object
      properties:
        results:
          type: array
          description: The list of operation validation results.
          items:
            $ref: '#/components/schemas/RestOperationValidationResponse'
    AssociationBatchValidationRequest:
      required:
      - operations
      type: object
      properties:
        operations:
          type: array
          description: A list of operations to validate.
          example:
          - operationType: CREATE
            model: {}
          - operationType: UPDATE
            model: {}
            resourceId: resource-id
          - operationType: DELETE
            resourceId: resource-id
          items:
            $ref: '#/components/schemas/AssociationValidationRequest'
    AutomaticSelectionConfiguration:
      type: object
      properties:
        isEnabled:
          type: boolean
          description: Whether to enable automatic facet value selection.
          default: true
    RestOperationValidationResponse:
      required:
      - operationType
      - operationValid
      type: object
      properties:
        operationType:
          type: string
          description: The type of operation that has been validated.
          example: CREATE
        operationValid:
          type: boolean
          description: Whether the operation to validate was successful or not.
          example: true
        resourceId:
          type: string
          description: 'The identifier of the resource. '
          example: id
        validationErrors:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/RestOperationValidationError'
          description: If the operation failed, the `validationError` will contains the error message.
          example: Access Denied. You don't have the required privileges to perform  this operation.
    PassageRetrievalConfiguration:
      type: object
      properties:
        numberOfDocumentsToConsider:
          type: integer
          description: The number of documents to consider for passage retrieval.
          format: int32
          minimum: 1
          def

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