Coveo Analysis V3 API

The Analysis V3 API from Coveo — 2 operation(s) for analysis v3.

Operations 2

POST /rest/search/v3/analysis/expressions/structured Convert Query to Structured Expression #
POST /rest/search/v3/analysis/inspect/replay Replay a Query with Inspection Details #

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-analysis-v3-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-analysis-v3-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Coveo Search Analysis V3 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: Analysis V3
  x-displayName: Analysis V3
paths:
  /rest/search/v3/analysis/expressions/structured:
    post:
      tags:
      - Analysis V3
      summary: Convert Query to Structured Expression
      description: 'Parses a query expression written using the Coveo query syntax, and converts it into a structured expression.

        to a structured expression.

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: parseExpressionToStructured
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      requestBody:
        description: The query expression to parse and convert
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ParseQueryExpressionToStructuredRequest'
        required: true
      responses:
        '200':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParseQueryExpressionToStructuredResponse'
              example:
                structured:
                  type: and
                  expressions:
                  - type: fieldExpression
                    fieldName: altpopulation
                    operator: greaterThanOrEqual
                    value:
                      type: unknown
                      value: '90000'
                  - type: fieldExists
                    fieldName: altcapital
                  - type: not
                    expression:
                      type: or
                      expressions:
                      - type: fieldExpression
                        fieldName: source
                        operator: isExactly
                        value:
                          type: string
                          value: Youtube
                      - type: fieldExpression
                        fieldName: author
                        operator: isExactly
                        value:
                          type: string
                          value: JohnSmith
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '419':
          $ref: '#/components/responses/AuthenticationTimeout'
        '422':
          description: Unprocessable Entity
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetailResponse'
              example:
                status: 422
                title: Invalid query expression
                detail: Coveo wasn't able to parse your query. Make sure it follows the Coveo query syntax.
      security:
      - oauth2:
        - full
  /rest/search/v3/analysis/inspect/replay:
    post:
      tags:
      - Analysis V3
      summary: Replay a Query with Inspection Details
      description: 'Replay a query that was already done and get inspection details.


        **Note:** This API call can only be used with an OAuth token. API Keys and Search Token aren''t allowed.

        <details>

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


        ```json

        {"level":"NORMAL","owner":"SEARCH_API","targetDomain":"EXECUTE_QUERY","type":"ENABLE","targetId":"*"},

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

        ```

        </details>'
      operationId: replay
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      requestBody:
        description: Inspection parameters
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InspectReplayRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/application+json:
              schema:
                $ref: '#/components/schemas/InspectReplayResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/OriginalRequestNotFound'
        '419':
          $ref: '#/components/responses/AuthenticationTimeout'
        '422':
          $ref: '#/components/responses/UnsupportedRegion'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ReplaySearchTooBroad'
      security:
      - oauth2:
        - full
components:
  schemas:
    ReplayExecutionStepPostprocessingIntegrations:
      type: object
      required:
      - type
      - name
      properties:
        type:
          type: string
          enum:
          - postprocessingIntegrations
        name:
          type: string
          enum:
          - Postprocessing Integrations
        rankedResults:
          type: array
          description: 'Compared to the `results` property, `rankedResults` only return a list of document identifiers and their associated score.

            This property allows to get the score of documents beyond the request page without affecting query performance.

            This information impacts how the Generate Answering model will generate citations.'
          items:
            type: object
            required:
            - identifier
            properties:
              identifier:
                type: string
                description: Item identifier. Usually corresponds to the [permanentId](https://docs.coveo.com/en/1913/leverage-machine-learning/about-the-permanentid-field) field).
              score:
                type: integer
        applied:
          type: array
          items:
            $ref: '#/components/schemas/ReplayExecutionStepIntegrationsPostprocessingRule'
    ReplayExecutionStepParamOverridesRule:
      allOf:
      - $ref: '#/components/schemas/ReplayRule'
      - $ref: '#/components/schemas/ReplayAffectedRequestParameters'
    IntegrationErrorInfo:
      type: object
      required:
      - type
      - message
      properties:
        type:
          type: string
          description: 'The type of the error.

            '
        details:
          type: string
          description: 'The details of the error.

            '
    NewExpressionV2:
      description: As the expressions evolve, new expressions types might be added. To be forward compatible, you should always handle cases where something else could be returned.
    ReplayExecutionStepART:
      type: object
      required:
      - type
      - name
      properties:
        type:
          type: string
          enum:
          - art
        name:
          type: string
          enum:
          - Automatic Relevance Tuning
        applied:
          type: array
          items:
            $ref: '#/components/schemas/ReplayExecutionStepARTRule'
    ParseQueryExpressionToStructuredResponse:
      type: object
      required:
      - query
      properties:
        structured:
          $ref: '#/components/schemas/QueryExpressionV2'
          description: A structured version of the parsed query.
    QueryExtensionInvocationExpressionV2:
      type: object
      required:
      - type
      - name
      - arguments
      properties:
        type:
          type: string
          enum:
          - queryExtension
          description: An expression that invokes a query extension.
        name:
          type: string
          description: The name of the query extension to invoke.
        arguments:
          type: object
          description: The arguments to provide to the query extension.
          additionalProperties:
            oneOf:
            - type: number
            - type: string
            - type: boolean
            - $ref: '#/components/schemas/QueryExpressionV2'
    ReplayExecutionStepPipelineSelectionPipeline:
      type: object
      required:
      - id
      - name
      properties:
        id:
          type: string
          description: The identifier of the selected query pipeline
        name:
          type: string
          description: The name of the selected query pipeline
        condition:
          $ref: '#/components/schemas/ReplayCondition'
    ProblemDetailResponse:
      type: object
      description: The Problem Details JSON Object [[RFC7807](https://tools.ietf.org/html/rfc7807)].
      minProperties: 1
      properties:
        status:
          type: integer
          minimum: 400
          maximum: 599
          description: The HTTP status code.
        title:
          type: string
          description: A short, human-readable summary of the problem type. This **shouldn't** change from one occurrence of the problem to another, except for localization purposes.
        type:
          type: string
          format: URI
          description: A URI reference [[RFC3986](https://tools.ietf.org/html/rfc3986)] that identifies and provides human-readable documentation for the problem type. When this isn't present, its value is assumed to be "about:blank".
        detail:
          type: string
          description: A human-readable explanation which is specific to this occurrence of the problem.
        instance:
          type: string
          format: URI
          description: A URI reference [[RFC3986](https://tools.ietf.org/html/rfc3986)] that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
    FieldExistsExpressionV2:
      type: object
      required:
      - type
      - fieldName
      properties:
        type:
          type: string
          enum:
          - fieldExists
          description: An expression that returns all of the items that have a field matching `fieldName`.
        fieldName:
          type: string
    ReplayIntegrationPostprocessingOutcome:
      anyOf:
      - $ref: '#/components/schemas/ReplayIntegrationsPostprocessingChanges'
      - $ref: '#/components/schemas/ReplayIntegrationsProcessingFailure'
    EmptyExpressionV2:
      type: object
      required:
      - type
      properties:
        type:
          type: string
          enum:
          - empty
          description: An empty value. This is returned when the optimized parsed query expression is empty.
    ReplayRankingInfoQueryRankingExpression:
      type: object
      required:
      - expression
      - origin
      - score
      properties:
        expression:
          type: string
          description: The ranking expression.
        origin:
          type: string
          description: The origin of the ranking expression.
          example: query_pipeline
        rule:
          $ref: '#/components/schemas/ReplayRankingInfoQueryRankingExpressionRule'
        score:
          type: number
          format: float
          description: The score resulting from this ranking expression.
    ReplayRankingInfoTermsWeight:
      type: object
      required:
      - term
      - weightInfo
      properties:
        term:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ReplayRankingInfoWeights'
            description: 'The weight factors applied to a specific term.

              '
        weightInfo:
          $ref: '#/components/schemas/ReplayRankingInfoWeights'
          description: 'A summary of the weight factors applied for these terms.

            '
    ReplayExecutionStepProductRecommendation:
      type: object
      required:
      - type
      - name
      properties:
        type:
          type: string
          enum:
          - productRecommendation
        name:
          type: string
          enum:
          - Product Recommendation
        applied:
          type: array
          items:
            $ref: '#/components/schemas/ReplayExecutionStepProductRecommendationRule'
    IntegrationRankingExpression:
      type: object
      properties:
        expression:
          type: string
          maxLength: 2000
        modifier:
          type: integer
        isConstant:
          type: boolean
        applyToEveryResults:
          type: boolean
          description: known as `isDeterministic` in the Index API
        tag:
          type: string
          description: Value used to populate the `rankingModifier` on documents.
        origin:
          $ref: '#/components/schemas/RankingOrigin'
      required:
      - expression
      - modifier
      - isConstant
      - applyToEveryResults
    QueryExpressionSupportedV2:
      oneOf:
      - $ref: '#/components/schemas/AndExpressionV2'
      - $ref: '#/components/schemas/OrExpressionV2'
      - $ref: '#/components/schemas/NotExpressionV2'
      - $ref: '#/components/schemas/FieldExpressionV2'
      - $ref: '#/components/schemas/FieldExistsExpressionV2'
      - $ref: '#/components/schemas/KeywordExpressionV2'
      - $ref: '#/components/schemas/ExactMatchExpressionV2'
      - $ref: '#/components/schemas/TermsToContainExpressionV2'
      - $ref: '#/components/schemas/ObjectAccessExpressionV2'
      - $ref: '#/components/schemas/QueryExtensionInvocationExpressionV2'
      - $ref: '#/components/schemas/NearExpressionV2'
      - $ref: '#/components/schemas/EmptyExpressionV2'
      - $ref: '#/components/schemas/QuerySyntaxExpressionV2'
      discriminator:
        propertyName: type
        mapping:
          querySyntax: '#/components/schemas/QuerySyntaxExpressionV2'
          near: '#/components/schemas/NearExpressionV2'
          queryExtension: '#/components/schemas/QueryExtensionInvocationExpressionV2'
          objectAccess: '#/components/schemas/ObjectAccessExpressionV2'
          termsToContain: '#/components/schemas/TermsToContainExpressionV2'
          exactMatch: '#/components/schemas/ExactMatchExpressionV2'
          keyword: '#/components/schemas/KeywordExpressionV2'
          fieldExpression: '#/components/schemas/FieldExpressionV2'
          fieldExists: '#/components/schemas/FieldExistsExpressionV2'
          not: '#/components/schemas/NotExpressionV2'
          or: '#/components/schemas/OrExpressionV2'
          and: '#/components/schemas/AndExpressionV2'
    ReplayExecutionStepIntegrationsPostprocessingRule:
      allOf:
      - $ref: '#/components/schemas/ReplayIntegrationsPostprocessingRule'
    ReplayExecutionStepTriggers:
      type: object
      required:
      - type
      - name
      properties:
        type:
          type: string
          enum:
          - triggers
        name:
          type: string
          enum:
          - Triggers
        applied:
          type: array
          items:
            $ref: '#/components/schemas/ReplayExecutionStepTriggersRule'
    ReplayExecutionStepFilters:
      type: object
      required:
      - type
      - name
      properties:
        type:
          type: string
          enum:
          - filters
        name:
          type: string
          enum:
          - Filters
        applied:
          type: array
          items:
            $ref: '#/components/schemas/ReplayExecutionStepFiltersRule'
    TextExpressionV2:
      oneOf:
      - $ref: '#/components/schemas/TextExpressionSupportedV2'
      - $ref: '#/components/schemas/NewExpressionV2'
    ReplayExecutionStepProductRecommendationRule:
      allOf:
      - $ref: '#/components/schemas/ReplayModelRule'
      - $ref: '#/components/schemas/ReplayAffectedResults'
    TextExpressionSupportedV2:
      oneOf:
      - $ref: '#/components/schemas/KeywordExpressionV2'
      - $ref: '#/components/schemas/NotKeywordExpressionV2'
      - $ref: '#/components/schemas/ExactMatchExpressionV2'
      - $ref: '#/components/schemas/TermsToContainExpressionV2'
      - $ref: '#/components/schemas/QuerySyntaxExpressionV2'
      discriminator:
        propertyName: type
        mapping:
          keyword: '#/components/schemas/KeywordExpressionV2'
          not: '#/components/schemas/NotKeywordExpressionV2'
          exactMatch: '#/components/schemas/ExactMatchExpressionV2'
          termsToContain: '#/components/schemas/TermsToContainExpressionV2'
          querySyntax: '#/components/schemas/QuerySyntaxExpressionV2'
    ReplayRankingInfoWeightComposition:
      type: object
      properties:
        termsWeights:
          type: array
          items:
            $ref: '#/components/schemas/ReplayRankingInfoTermsWeight'
        rankingFunctions:
          type: array
          items:
            $ref: '#/components/schemas/ReplayRankingInfoQueryRankingExpression'
        queryRankingExpressions:
          type: array
          items:
            $ref: '#/components/schemas/ReplayRankingInfoQueryRankingExpression'
    InspectReplayResponse:
      type: object
      required:
      - requestParameters
      - execution
      - results
      - totalResultsCount
      properties:
        requestParameters:
          type: object
          additionalProperties: true
          example:
            q: adventure books
            aq: '@author=john'
        execution:
          type: array
          items:
            $ref: '#/components/schemas/ReplayExecutionStep'
        results:
          type: array
          items:
            $ref: '#/components/schemas/ReplayResult'
        totalResultsCount:
          type: integer
          description: 'The total number of items matching the query for the current user (security trimming applied).

            '
    ObjectAccessExpressionV2:
      type: object
      required:
      - type
      - objectName
      properties:
        type:
          type: string
          enum:
          - objectAccess
          description: An expression that returns a property of an object.
        objectName:
          type: string
          description: The name of the object to access.
          example: context
        properties:
          type: array
          description: 'An array of path segments to the property of the object to return.


            Given the *objectName* **context** and the *properties* `[userProfile, lastPurchase]`, the following property will be returned:


            > **context**`.userProfile.lastPurchase`'
          items:
            type: string
          example:
          - userProfile
          - lastPurchase
    PostprocessingStateResponse:
      type: object
      properties:
        extendedResults:
          type: object
          maxProperties: 100
          additionalProperties:
            type: string
            maxLength: 100
    ListOfExecutionSteps:
      type: object
      required:
      - appliedCount
      properties:
        totalCount:
          type: integer
          description: 'Total number of rules of this feature.

            '
        appliedCount:
          type: integer
          description: 'Total number of rules that were applied.

            '
    ReplayExecutionStepPipelineSelection:
      type: object
      required:
      - type
      - name
      - selectedPipeline
      - selectionCause
      properties:
        type:
          type: string
          enum:
          - pipelineSelection
        name:
          type: string
          enum:
          - Pipeline selection
        selectedPipeline:
          $ref: '#/components/schemas/ReplayExecutionStepPipelineSelectionPipeline'
        selectionCause:
          type: object
          required:
          - type
          properties:
            type:
              type: string
              enum:
              - AUTHENTICATION_PIPELINE
              - AUTHENTICATION_SEARCH_HUB
              - PARAMETER_PIPELINE
              - CONDITION_ROUTING
              - DEFAULT
              description: "Defines the reason for the selection of the `selectedPipeline`. The query pipeline selection goes through these steps:\n\n  #### **AUTHENTICATION_PIPELINE**\n  A query pipeline was specified in the authentication token.\n\n  #### **AUTHENTICATION_SEARCH_HUB**\n  A searchHub was specified in the authentication token. Since `selectedPipeline` has a condition based on the value of this searchHub, the request was routed to this query pipeline.\n\n  #### **PARAMETER_PIPELINE**\n  The `pipeline` query parameter was provided with a query pipeline.\n\n  #### **CONDITION_ROUTING**\n  The query pipeline was resolved through a condition routing.\n\n  #### **DEFAULT**\n  As no query pipelines were resolved, the default query pipeline was selected.\n"
            abTest:
              type: object
              required:
              - originalPipeline
              - targetPipeline
              description: 'When an AB test is enabled on the selected query pipeline, information about the original pipeline is displayed here.

                It helps to better understand which query pipeline was initially selected. In some cases, the `originalPipeline` might be

                the same as the `selectedPipeline`. It depends on how the AB test assigned the request to the query pipeline.

                '
              properties:
                originalPipeline:
                  $ref: '#/components/schemas/ReplayExecutionStepPipelineSelectionPipeline'
                targetPipeline:
                  $ref: '#/components/schemas/ReplayExecutionStepPipelineSelectionPipeline'
    ReplayModelRule:
      type: object
      required:
      - id
      - modelId
      properties:
        id:
          type: string
          description: 'The identifier of the association

            '
        modelId:
          type: string
          description: 'The identifier of the model

            '
        condition:
          $ref: '#/components/schemas/ReplayCondition'
    ReplayExecutionStepRankingExpressionsRuleBase:
      type: object
      properties:
        boost:
          type: number
          description: 'The boost applied by the rule to the results.

            '
    ReplayExecutionStepStopWords:
      type: object
      required:
      - type
      - name
      properties:
        type:
          type: string
          enum:
          - stopWords
        name:
          type: string
          enum:
          - Stop Words
        applied:
          type: array
          items:
            $ref: '#/components/schemas/ReplayExecutionStepStopWordsRule'
    ReplayExecutionStepRules:
      allOf:
      - $ref: '#/components/schemas/ListOfExecutionSteps'
      - $ref: '#/components/schemas/ReplayExecutionStepRulesBase'
    NearExpressionV2:
      type: object
      required:
      - type
      - startTerm
      - otherTerms
      properties:
        type:
          type: string
          enum:
          - near
          description: 'An expression that returns all of the items in which the specified `startTerm` appears no more than `maxKeywordsFrom` the `endTerm`, for each element in `nearTerms`.


            For example, this expression could return items in which the term `apple` is no more than 5 keywords apart from `grocery`.'
        startTerm:
          $ref: '#/components/schemas/TextExpressionV2'
        otherTerms:
          type: array
          items:
            type: object
            required:
            - endTerm
            properties:
              maxKeywordsFrom:
                type: integer
                format: int32
                description: 'The `endTerm` can be, at most, this number of keywords from the `startTerm`.


                  **Example:**


                  - `startTerm` = `foo`

                  - `maxKeywordsFrom` = `5`

                  - `endTerm` = `bar`


                  The furthest apart that these two terms could be is:


                  `foo termA termB termC termD bar`'
              endTerm:
                $ref: '#/components/schemas/TextExpressionV2'
            minItems: 1
          description: Defines a term that the `startTerm` must be near and the maximum distance that the `startTerm` can be from the `endTerm`.
    ReplayIntegrationsPostprocessingRule:
      allOf:
      - $ref: '#/components/schemas/ReplayIntegrationsBase'
      - $ref: '#/components/schemas/ReplayIntegrationPostprocessingOutcome'
    ReplayRankingInfoQueryRankingExpressionRule:
      type: object
      required:
      - type
      properties:
        id:
          type: string
          description: The id of the rule that was applied.
        type:
          type: string
          description: The type of rule that was applied
          example: ranking_expression
    ReplayExecutionStepRankingWeightsRule:
      allOf:
      - $ref: '#/components/schemas/ReplayRule'
    ReplayExecutionStepIntegrationsPreprocessingRule:
      allOf:
      - $ref: '#/components/schemas/ReplayIntegrationsPreprocessingRule'
    ReplayRankingInfoWeights:
      type: object
      description: 'Map of ranking factors and respective scores.

        '
      additionalProperties:
        type: number
        format: float
      example:
        title: 1000
        uri: 500
        source: 240
    ReplayExecutionStepDNERule:
      allOf:
      - $ref: '#/components/schemas/ReplayModelRule'
    FieldValueSupportedV2:
      oneOf:
      - $ref: '#/components/schemas/DateRangeValueV2'
      - $ref: '#/components/schemas/DateValueV2'
      - $ref: '#/components/schemas/StringValueV2'
      - $ref: '#/components/schemas/NumericValueV2'
      - $ref: '#/components/schemas/UnknownValueV2'
      - $ref: '#/components/schemas/ObjectAccessExpressionV2'
      - $ref: '#/components/schemas/QueryExtensionInvocationExpressionV2'
      - $ref: '#/components/schemas/QuerySyntaxExpressionV2'
      discriminator:
        propertyName: type
        mapping:
          dateRange: '#/components/schemas/DateRangeValueV2'
          date: '#/components/schemas/DateValueV2'
          string: '#/components/schemas/StringValueV2'
          objectAccess: '#/components/schemas/ObjectAccessExpressionV2'
          numeric: '#/components/schemas/NumericValueV2'
          queryExtension: '#/components/schemas/QueryExtensionInvocationExpressionV2'
          unknown: '#/components/schemas/UnknownValueV2'
          querySyntax: '#/components/schemas/QuerySyntaxExpressionV2'
    NotKeywordExpressionV2:
      allOf:
      - $ref: '#/components/schemas/NotExpressionV2'
      - type: object
        required:
        - expression
        properties:
          expression:
            $ref: '#/components/schemas/KeywordExpressionV2'
    FieldOperatorV2:
      type: string
      enum:
      - contains
      - isExactly
      - lowerThan
      - lowerThanOrEqual
      - greaterThan
      - greaterThanOrEqual
      - phoneticMatch
      - fuzzyMatch
      - regexMatch
      - wildcardMatch
      - differentThan
      description: The comparison to make against the `value`.
    ReplayExecutionStepThesaurusRule:
      allOf:
      - $ref: '#/components/schemas/ReplayRule'
      - $ref: '#/components/schemas/ReplayAffectedRequestParameters'
    ExactMatchExpressionV2:
      type: object
      required:
      - type
      - value
      properties:
        type:
          type: string
          enum:
          - exactMatch
          description: An expression that must appear in its entirety at least once in an item for that item to be returned.
        value:
          type: string
    QuerySyntaxExpressionV2:
      type: object
      required:
      - type
      - value
      properties:
        type:
          type: string
          enum:
          - querySyntax
          description: A search expression that may contain advanced query syntax.
        value:
          type: string
          example: '@author ~= "name"'
    AndExpressionV2:
      type: object
      required:
      - type
      - expressions
      properties:
        type:
          type: string
          enum:
          - and
          description: A list of expressions to join with a logical `AND`.
        expressions:
          type: array
          items:
            $ref: '#/components/schemas/QueryExpressionV2'
    ParseQueryExpressionToStructuredRequest:
      type: object
      required:
      - query
      properties:
        query:
          type: string
          description: A query using the Coveo query syntax.
          example: '@altpopulation>=90000 AND @altcapital AND NOT (@source=="Youtube" OR @author=="JohnSmith")'
    ReplayExecutionStepPreprocessingIntegrations:
      type: object
      required:
      - type
      - name
      properties:
        type:
          type: string
          enum:
          - preprocessingIntegrations
        name:
          type: string
          enum:
          - Preprocessing Integrations
        applied:
          type: array
          items:
            $ref: '#/components/schemas/ReplayExecutionStepIntegrationsPreprocessingRule'
    PreprocessingStateResponse:
      type: object
      properties:
        q:
          type: string
          maxLength: 50000
        aq:
          type: string
          maxLength: 50000
        cq:
          type: string
          maxLength: 50000
        dq:
          type: string
          maxLength: 15000
        fieldsToInclude:
          type: array
          maxItems: 255
          items:
            type: string
            maxLength: 255
        fieldsToExclude:
          type: array
          maxItems: 255
          items:
            type: string
            maxLength: 255
        firstResult:
          type: integer
        rankingExpressions:
          type: array
          maxItems: 500
          items:
            $ref: '#/components/schemas/IntegrationRankingExpression'
        rankingFunctions:
          type: array
          maxItems: 500
          items:
            $ref: '#/components/schemas/IntegrationRankingFunction'
        queryFunctions:
          type: array
          maxItems: 500
          items:
            $ref: '#/components/schemas/IntegrationQueryFunction'
        featureVectors:
          $ref: '#/components/schemas/FeatureVector'
        dictionaryFieldContext:
          $ref: '#/components/schemas/DictionaryFieldContext'
        warnings:
          type: array
          maxItems: 100
          items:
            type: string
            maxLength: 255
    ReplayExecutionStepDNE:
      type: object
      required:
      - type
      - name
      - applied
      properties:
        type:
          type: string
          enum:
          - dne
        name:
          type: string
          enum:
          - Dynamic Navigation Experience
        applied:
          type: array
          items:
            $ref: '#/components/schemas/ReplayExecutionStepDNERule'
    ReplayExecutionStepThesaurus:
      type: object
      required:
      - type
      - name
      properties:
        type:
          type: string
          enum:
          - thesaurus
        name:
          type: string
          enum:
          - Thesaurus
        applied:
          type: array
          items:
            $ref: '#/components/schemas/ReplayExecutionStepThesaurusRule'
    StringValueV2:
      type: object
      required:
      - type
      - value
      properties:
        type:
          type: string
          enum:
          - string
        value:
          type: string
      description: 'A value containing a string.

        '
    ReplayAffectedResults:
      type: object
      properties:
        affectedResultsPosition:
          type: array
          description: 'An array of `results` position. Each item represent a position in `results` where the result was affected by the rule.

            '
          items:
            type: integer
    FeatureVector:
      type: object
      maxProperties: 5000
      additionalProperties:
        type: array
        maxItems: 10000
        items:
          type: number
    IntegrationQueryFunction:
      type: object
      properties:
        function:
          type: string
          maxLength: 2000
        fieldName:
          type: string
          maxLength: 255
        filterExpression:
          type: string
          maxLength: 50000
        origin:
          $ref: '#/components/schemas/RankingOrigin'
        top:
          type: 

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