Coveo Search V3 API

The Search V3 API from Coveo — 14 operation(s) for search v3.

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-search-v3-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Coveo Activity Activities Search V3 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: Search V3
  x-displayName: Search V3
paths:
  /rest/search/v3:
    post:
      tags:
      - Search V3
      summary: Send Search Request
      description: 'See [Performing a Query](https://docs.coveo.com/en/1445/).

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: searchUsingPostV3
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/ViewAllContentQuery'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestQueryParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestQueryResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestQueryResponse'
            application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
              schema:
                $ref: '#/components/schemas/RestQueryResponse'
      security:
      - oauth2:
        - full
  /rest/search/v3/facet:
    post:
      tags:
      - Search V3
      summary: Send Facet Search Request
      description: 'Executes a facet search request.

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: facetSearchV3
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/ViewAllContentQuery'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestFacetSearchParameters'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestFacetSearchResponse'
      security:
      - oauth2:
        - full
  /rest/search/v3/plan:
    post:
      tags:
      - Search V3
      summary: Plan Search Execution
      description: 'See [Performing a Query](https://docs.coveo.com/en/1445/).

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: planSearchUsingPostV3
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/ViewAllContentQuery'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestQueryParameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanSearchResponse'
      security:
      - oauth2:
        - full
  /rest/search/v3/querySuggest:
    post:
      tags:
      - Search V3
      summary: Request Query Suggestions
      description: 'See [Getting Query Suggestions](https://docs.coveo.com/en/1459/).

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: querySuggestPostV3
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestQuerySuggestParameters'
      responses:
        '200':
          description: The suggested completions for the query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuerySuggestResponse'
      security:
      - oauth2:
        - full
  /rest/search/v3/values:
    post:
      tags:
      - Search V3
      summary: Get Values for One Field
      description: 'Lists all values of the target field.

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: valuesPostV3
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/ViewAllContentQuery'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestListFieldValuesParameter'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListFieldValuesResponse'
      security:
      - oauth2:
        - full
  /rest/search/v3/values/batch:
    post:
      tags:
      - Search V3
      summary: Get Values for Several Field
      description: 'Lists all values of the target field.

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: valuesBatchPostV3
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/ViewAllContentQuery'
      - $ref: '#/components/parameters/AnalyticsRequestParameters'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestListFieldValuesBatchParameter'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListFieldValuesBatchResponse'
      security:
      - oauth2:
        - full
  /rest/search/v3/document:
    get:
      tags:
      - Search V3
      summary: Get Item in JSON Format
      operationId: documentV3
      parameters:
      - name: primaryId
        in: query
        description: The primary ID of the document.
        schema:
          type: string
      - name: uniqueId
        in: query
        description: '**Deprecated:** Use `primaryId` instead.


          The unique ID of the document.'
        deprecated: true
        schema:
          type: string
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/Pipeline'
      - $ref: '#/components/parameters/SearchHub'
      - $ref: '#/components/parameters/ViewAllContentQuery'
      - $ref: '#/components/parameters/Locale'
      - $ref: '#/components/parameters/Timezone'
      - $ref: '#/components/parameters/IndexToken'
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/LogicalIndex'
      - $ref: '#/components/parameters/Tab'
      - $ref: '#/components/parameters/Referrer'
      - $ref: '#/components/parameters/Context'
      responses:
        '200':
          description: The document matching this uniqueId.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestQueryResult'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth2:
        - full
      description: '<details>

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


        ```json

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

        ```

        </details>'
  /rest/search/v3/datastream:
    get:
      tags:
      - Search V3
      summary: Get Item Data Stream
      operationId: dataStreamV3
      parameters:
      - name: dataStream
        in: query
        description: The name of the data stream to request.
        required: true
        schema:
          type: string
      - name: primaryId
        in: query
        description: The primary ID of the document.
        schema:
          type: string
      - name: uniqueId
        in: query
        description: '**Deprecated:** Use `primaryId` instead.


          The unique ID of the document.'
        deprecated: true
        schema:
          type: string
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/ViewAllContentQuery'
      - name: contentType
        in: query
        description: 'The MIME type of the data stream to request.


          **Default:** `application/binary`'
        schema:
          type: string
      - $ref: '#/components/parameters/Pipeline'
      - $ref: '#/components/parameters/SearchHub'
      - $ref: '#/components/parameters/Locale'
      - $ref: '#/components/parameters/Timezone'
      - $ref: '#/components/parameters/IndexToken'
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/LogicalIndex'
      - $ref: '#/components/parameters/Tab'
      - $ref: '#/components/parameters/Referrer'
      - $ref: '#/components/parameters/Context'
      responses:
        '200':
          description: No response
          content: {}
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth2:
        - full
      description: '<details>

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


        ```json

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

        ```

        </details>'
  /rest/search/v3/html:
    post:
      tags:
      - Search V3
      summary: Get HTML Item Preview
      operationId: htmlPostV3
      parameters:
      - name: uniqueId
        in: query
        description: The uniqueId of the document. Exactly one of uniqueId or primaryId is required.
        schema:
          type: string
      - name: primaryId
        in: query
        description: The primaryId of the document. Exactly one of uniqueId or primaryId is required.
        schema:
          type: string
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/ViewAllContentQuery'
      - name: findNext
        in: query
        schema:
          type: integer
          format: int32
      - name: findPrevious
        in: query
        schema:
          type: integer
          format: int32
      - name: page
        in: query
        schema:
          type: integer
          format: int32
      - name: enableNavigation
        in: query
        schema:
          type: boolean
      - name: requestedOutputSize
        in: query
        description: The approximate number of bytes to request in the HTML response. **Default:** `0`, meaning that the entire HTML document is requested.
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestQueryParameters'
        required: true
      responses:
        '200':
          description: No response
          content: {}
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth2:
        - full
      description: '<details>

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


        ```json

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

        ```

        </details>'
  /rest/search/v3/text:
    get:
      tags:
      - Search V3
      summary: Get Item in Text Format
      operationId: textV3
      parameters:
      - name: primaryId
        in: query
        description: The primary ID of the document.
        schema:
          type: string
      - name: uniqueId
        in: query
        description: '**Deprecated:** Use `primaryId` instead.


          The unique ID of the document.'
        deprecated: true
        schema:
          type: string
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/Pipeline'
      - $ref: '#/components/parameters/SearchHub'
      - $ref: '#/components/parameters/ViewAllContentQuery'
      - $ref: '#/components/parameters/Locale'
      - $ref: '#/components/parameters/Timezone'
      - $ref: '#/components/parameters/IndexToken'
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/LogicalIndex'
      - $ref: '#/components/parameters/Tab'
      - $ref: '#/components/parameters/Referrer'
      - $ref: '#/components/parameters/Context'
      responses:
        '200':
          description: No response
          content: {}
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth2:
        - full
      description: '<details>

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


        ```json

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

        ```

        </details>'
  /rest/search/v3/fields:
    get:
      tags:
      - Search V3
      summary: List All Fields
      description: 'Gets all fields in the target Coveo Cloud organization.

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: fieldsV3
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/Pipeline'
      - $ref: '#/components/parameters/SearchHub'
      - $ref: '#/components/parameters/ViewAllContentQuery'
      - $ref: '#/components/parameters/Locale'
      - $ref: '#/components/parameters/Timezone'
      - $ref: '#/components/parameters/IndexToken'
      - $ref: '#/components/parameters/Index'
      - $ref: '#/components/parameters/LogicalIndex'
      - $ref: '#/components/parameters/Tab'
      - $ref: '#/components/parameters/Referrer'
      - $ref: '#/components/parameters/Context'
      responses:
        '200':
          description: The list of fields available for this organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListFieldsResponse'
      security:
      - oauth2:
        - full
  /rest/search/v3/fields/find:
    post:
      tags:
      - Search V3
      summary: Find Fields from Results of a Query Expression
      description: 'Find fields name from results matching the `q` expression.

        <details>

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


        ```json

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

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

        ```

        </details>'
      operationId: findFieldsFromExpressionV3
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      requestBody:
        description: The query to get the fields from.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FindFieldsRequest'
      responses:
        '200':
          description: The list of fields referenced by the requested expression.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindFieldsResponse'
      security:
      - oauth2:
        - full
  /rest/search/v3/token:
    post:
      tags:
      - Search V3
      summary: Create Search Token
      description: 'Creates a temporary [JSON web token](https://jwt.io/) which can be used to impersonate one or several security identities when authenticating a query (see [Search Token Authentication](https://docs.coveo.com/en/56/)).

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: tokenV3
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      requestBody:
        description: The search token information.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestTokenParams'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestTokenResponse'
      security:
      - oauth2:
        - full
  /rest/search/v3/login/{provider}:
    post:
      tags:
      - Search V3
      summary: Log in to Authentication Provider
      description: 'Directs the browser to URI of the target Search API authentication provider, and back to the origin search page once the authentication process is complete. This authentication provider must be properly configured in the Coveo Cloud organization.

        <details>

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


        ```json


        ```

        </details>'
      operationId: loginProviderPostV3
      parameters:
      - name: provider
        in: path
        description: The name of the Search API authentication provider to log in to.
        example: My SharePoint Server
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/OrganizationIdQuery'
      responses:
        '200':
          description: No response
          content: {}
      security:
      - oauth2:
        - full
components:
  schemas:
    RestException:
      required:
      - code
      type: object
      properties:
        code:
          type: string
        context:
          type: string
    RestQueryCorrection:
      required:
      - correctedQuery
      - wordCorrections
      type: object
      properties:
        correctedQuery:
          type: string
          description: The resulting query expression correction suggestion.
          example: Coveo Cloud V2 platform
        wordCorrections:
          type: array
          description: The word correction suggestions.
          items:
            $ref: '#/components/schemas/RestWordCorrection'
    RestFacetSearchResultValue:
      required:
      - count
      - displayValue
      - rawValue
      type: object
      properties:
        displayValue:
          type: string
          description: The custom facet value display name, as specified in the `captions` argument of the facet search request.
          example: Orange
        rawValue:
          type: string
          description: The original facet value, as retrieved from the field in the index.
          example: '#FF8000'
        count:
          type: integer
          description: An estimate number of result items matching both the current query and the filter expression that would get generated if the facet value were selected.
          format: int64
    LogicalIndex:
      type: string
      nullable: true
      description: 'The identifier for a logical group of indexes that have been configured to include documents from the same sources.


        If you do not specify a `logicalIndex` value, the `default` grouping will be used, typically including all indexes.

        '
      example: webcontentonly
      default: default
    Timezone:
      type: string
      nullable: true
      description: 'The [tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) identifier of the time zone to use to correctly interpret dates in the query expression and result items.


        If not specified, the default time zone of the server hosting the index is used.


        **Note:** While no Coveo Machine Learning model uses this information, it can nevertheless affect the ranking scores (and thus, potentially the order) of result items, as ranking expressions may be based on time constants.

        '
      example: America/New_York
    Tab:
      type: string
      nullable: true
      description: 'The second level of origin of the request, typically the identifier of the selected tab in the graphical search interface from which the request originates.


        Coveo Machine Learning models use this information to provide contextually relevant output.


        **Note:** When logging a **Search** usage analytics event for a query, the `originLevel2` field of that event should be set to the `tab` value of the query (or to the `"default"` string, if no `tab` value was specified in the query).


        See also the `searchHub` parameter.

        '
      example: ForumTab
    RestFacetRequestHierarchical:
      allOf:
      - $ref: '#/components/schemas/RestFacetRequestBase'
      - $ref: '#/components/schemas/RestFacetRequestHierarchicalBase'
    RestFacetRequestSpecificSortCriteriaExplicitAlphanumericNatural:
      type: object
      required:
      - type
      properties:
        type:
          type: string
          enum:
          - alphanumericNatural
          description: 'Sort values in ascending or descending alphanumeric order using [natural sorting](https://en.wikipedia.org/wiki/Natural_sort_order).

            '
        order:
          type: string
          enum:
          - ascending
          - descending
          default: ascending
          description: '**Default:** ascending

            '
    RestFacetValueNumericalRangeBase:
      type: object
      required:
      - start
      - end
      properties:
        start:
          anyOf:
          - type: integer
            format: int64
            example: 0
            description: The value to start the range at.
          - type: number
            format: double
            example: 0
            description: The value to start the range at.
        end:
          anyOf:
          - type: integer
            format: int64
            example: 100
            description: The value to end the range at. Must be greater (or later) than the `start` value.
          - type: number
            format: double
            example: 100
            description: The value to end the range at. Must be greater (or later) than the `start` value.
    RestGroupBy:
      required:
      - field
      type: object
      properties:
        field:
          type: string
          description: 'The name of the field on which to perform the Group By operation. The operation returns a Group By value for each distinct value of this field found in the query result items.


            **Note:** You must ensure that the **Facet** option is enabled for this field in your index (see [Manage fields](https://docs.coveo.com/en/1833/)).'
          example: '@author'
        allowedValues:
          type: array
          description: "The field values allowed in the Group By operation results. You can use trailing wildcards (`*`) to include ranges of values.\n\nSee also the `completeFacetWithStandardValues` Group By operation parameter.\n\nIf you do not explicitly specify an array of `allowedValues`, or if you specify an empty array, all field values are allowed.\n\n**Example:**\n```\n[\n  \"Anonymous\",\n  \"Bob Jones\",\n  \"Carrie Green\",\n  \"David Allen\"\n]\n```"
          example:
          - Anonymous
          - Bob Jones
          - Carrie Green
          - David Allen
          items:
            type: string
        allowedValuesPatternType:
          type: string
          description: 'The type of pattern being used in the allowed field values.


            See also the `allowedValues` Group By operation parameter.


            If you do not explicitly specify a pattern type, the legacy pattern is used by default, which only support trailing wildcards.'
          example: wildcards
          enum:
          - legacy
          - wildcards
          - regex
          - editdistance
          - phonetic
        maximumNumberOfValues:
          type: integer
          description: 'The maximum number of values the Group By operation should return.


            **Default:** `10`'
          format: int32
          example: 5
          default: 10
          minimum: 0
        completeFacetWithStandardValues:
          type: boolean
          description: 'Whether to complete the Group By operation result set with standard values.


            If you set this parameter to `true` and the number of specified `allowedValues` is lower than the `maximumNumberOfValues`, the Group By operation also attempts to returns standard values until the result set contains the `maximumNumberOfValues`.


            **Default:** `false`'
          example: true
          default: false
        injectionDepth:
          type: integer
          description: 'The maximum number of query result items to scan for Group By values.


            **Note:** Specifying a high `injectionDepth` value can negatively impact query performance.


            **Default:** `1000`'
          format: int32
          example: 1500
          default: 1000
        rangeValues:
          type: array
          description: 'The ranges for which to generate Group By values.


            **Notes:**


            - Specifying `rangeValues` only makes sense when the Group By `field` references a numeric or date field in the index.

            - You can set the `generateAutomaticRanges` Group By parameter to `true` rather than explicitly specifying `rangeValues` (unless the Group By `field` was generated by a query function).'
          example: []
          items:
            $ref: '#/components/schemas/RestRangeValue'
        generateAutomaticRanges:
          type: boolean
          description: 'Whether the index should automatically create range values.


            **Tip:** If you set this parameter to `true`, you should ensure that the **Use cache for numeric queries** option is enabled for the Group By `field` in your index in order to speed up automatic range evaluation (see [Manage fields](https://docs.coveo.com/en/1833/)).


            **Notes:**


            - Setting `generateAutomaticRanges` to `true` only makes sense when the Group By `field` references a numeric or date field in the index.

            - The index cannot automatically generate range values of a field generated by a query function. In such cases, you must rather use the `rangeValues` Group By parameter.

            - Automatic range generation will fail if the referenced `field` is dynamically generated by a query function.


            **Default:** `false`'
          example: false
          default: false
        sortCriteria:
          type: string
          description: 'The criterion to use when sorting the Group By operation results.


            **Allowed values:**


            - `score`: sort using the score value which is computed from the number of occurrences of a field value, and also from the position where query result items with this field value appear in the ranked query result set. When using this sort criterion, a field value with 100 occurrences might appear after one with only 10 occurrences, if the occurrences of the latter field value tend to appear higher in the ranked query result set.

            - `occurrences`: sort by number of occurrences, with field values having the highest number of occurrences appearing first.

            - `alphaAscending`/`alphaDescending`: sort field values alphabetically.

            - `alphaAscendingNatural`/`alphaDescendingNatural`: sort field values alphabetically using [natural sorting](https://en.wikipedia.org/wiki/Natural_sort_order).

            - `computedFieldAscending`/`computedFieldDescending`: sort on the value of the first computed field for each Group By operation result (see the `ComputedFields` Group By parameter).

            - `chiSquare`: sort based on the relative frequency of field values in the query result set compared to their frequency in the entire index. This means that a field value that does not appear often in the index, but does appear often in the query result set will tend to appear higher.

            - `noSort`: do not sort the results of the Group By operation. The field values will be appear in a random order.


            **Default:** `score`'
          example: ComputedFieldDescending
          default: score
        computedFields:
          type: array
          description: 'The computed fields to evaluate for each Group By value.


            A computed field stores the result of an aggregate operation performed on the values of a specific numerical field for all the query result items that share the same Group By `field` value.'
          items:
            $ref: '#/components/schemas/RestComputedField'
        queryOverride:
          type: string
          description: 'The query expression that should override the basic query expression on which the Group By operation is being performed (see the `q` query parameter).


            **Note:** If _any_ query override parameter (e.g., `queryOverride`, `advancedQueryOverride`, etc.) is set in a Group By operation, **all** original parts of the query expression (i.e., `q`, `aq`, `cq`, and `dq`) will be ignored.'
          example: Coveo Cloud V2 platform
        advancedQueryOverride:
          type: string
          description: 'The query expression that should override the advanced query expression on which the Group By operation is being performed (see the `aq` query parameter).


            **Note:** If _any_ query override parameter (e.g., `queryOverride`, `advancedQueryOverride`, etc.) is set in a Group By operation, **all** original parts of the query expression (i.e., `q`, `aq`, `cq`, and `dq`) will be ignored.'
          example: '@year==2017'
        constantQueryOverride:
          type: string
          description: 'The query expression that should override the constant query expression on which the Group By operation is being performed (see the `cq` query parameter).


            **Note:** If _any_ query override parameter (e.g., `queryOverride`, `advancedQueryOverride`, etc.) is set in a Group By operation, **all** original parts of the query expression (i.e., `q`, `aq`, `cq`, and `dq`) will be ignored.'
          example: '@filetype==forumpost'
        disjunctionQueryOverride:
          type: string
          description: 'The query expression that should override the disjuntion query expression on which the Group By operation is being performed (see the `dq` query parameter).


            **Note:** If _any_ query override parameter (e.g., `queryOverride`, `advancedQueryOverride`, etc.) is set in a Group By operation, **all** original parts of the query expression (i.e., `q`, `aq`, `cq`, and `dq`) will be ignored.'
          example: '@date=2016-12-01..2016-12-31'
        lookupField:
          type: string
          description: 'This property is exposed for backward compatibility reasons. The issues this property was used as a workaround for do not exist in the Coveo Cloud V2 platform.


            The name of an additional field whose value must be retrieved.'
          deprecated: true
        thoroughLookup:
          type: boolean
          description: 'This parameter is exposed for backward compatibility reasons. The issues this parameter was used as a workaround for do not exist in the Coveo Cloud V2 platform.


            Whether to scan for lookup values.'
          default: false
          deprecated: true
        filterFacetCount:
          type: boolean
          description: 'Whether to exclude folded result parents when estimating the result count for each facet value.


            **Note:** The target folding field must be a 

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