Coveo Conditions API

The Conditions API from Coveo — 7 operation(s) for conditions.

Operations 10

GET /rest/search/v1/admin/pipelines/statements List Condition Statements #
POST /rest/search/v1/admin/pipelines/statements Create Condition Statement #
GET /rest/search/v1/admin/pipelines/statements/{statementId} Get Condition Statement #
PUT /rest/search/v1/admin/pipelines/statements/{statementId} Update Condition Statement #
DELETE /rest/search/v1/admin/pipelines/statements/{statementId} Delete Condition Statement #
GET /rest/search/v1/admin/pipelines/statements/{statementId}/associations List of Associations of a Condition #
POST /rest/search/v1/admin/pipelines/statements/bulkGet List Condition Statements #
POST /rest/search/v1/admin/pipelines/statements/bulkDelete Bulk Delete of Condition Statements #
POST /rest/search/v1/admin/pipelines/statements/validate Validate a Single Pipeline Condition Operation. #
POST /rest/search/v1/admin/pipelines/statements/validate/batch Validate Batch of Pipeline Condition Operations. #

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-conditions-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-conditions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Coveo Search Conditions 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: Conditions
  x-displayName: Conditions
paths:
  /rest/search/v1/admin/pipelines/statements:
    get:
      tags:
      - Conditions
      summary: List Condition Statements
      description: 'Gets a sorted page of condition statements matching certain criteria.

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: listConditions
      parameters:
      - name: filter
        in: query
        description: 'The query filter to match.


          This allows you to search through query pipeline condition definitions, descriptions, and users who modified them.


          By default, results are not required to match a specific query filter.'
        schema:
          type: string
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PerPage'
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - name: sortBy
        in: query
        description: The sort criteria to apply on the results.
        schema:
          type: string
          enum:
          - definition
          - description
          - lastModification
          - totalAssociationCount
      - $ref: '#/components/parameters/IsOrderAscending'
      - name: expand
        schema:
          type: boolean
          default: false
        required: false
        in: query
        description: Whether to include additional information such as the number of resources associated to the condition.
      - name: associationFilter
        schema:
          type: string
          enum:
          - all
          - notAssociated
          - isAssociated
          default: all
        required: false
        in: query
        description: Only includes conditions with a certain number of associated resources.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutgoingConditions'
      security:
      - oauth2:
        - full
    post:
      tags:
      - Conditions
      summary: Create Condition Statement
      description: 'Creates a new condition statement.

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: createCondition
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      requestBody:
        description: The condition statement information.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IncomingCondition'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutgoingCondition'
      security:
      - oauth2:
        - full
  /rest/search/v1/admin/pipelines/statements/{statementId}:
    get:
      tags:
      - Conditions
      summary: Get Condition Statement
      description: 'Gets a single condition statement.

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: getCondition
      parameters:
      - $ref: '#/components/parameters/StatementIdPath'
      - $ref: '#/components/parameters/OrganizationIdQuery'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutgoingCondition'
      security:
      - oauth2:
        - full
    put:
      tags:
      - Conditions
      summary: Update Condition Statement
      description: 'Updates a single condition statement.

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: updateCondition
      parameters:
      - $ref: '#/components/parameters/StatementIdPath'
      - $ref: '#/components/parameters/OrganizationIdQuery'
      requestBody:
        description: The updated condition statement information
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IncomingCondition'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutgoingCondition'
      security:
      - oauth2:
        - full
    delete:
      tags:
      - Conditions
      summary: Delete Condition Statement
      description: 'Deletes a single condition statement.

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: deleteCondition
      parameters:
      - $ref: '#/components/parameters/StatementIdPath'
      - $ref: '#/components/parameters/OrganizationIdQuery'
      responses:
        '204':
          description: No content
          content: {}
      security:
      - oauth2:
        - full
  /rest/search/v1/admin/pipelines/statements/{statementId}/associations:
    get:
      tags:
      - Conditions
      summary: List of Associations of a Condition
      description: 'Gets the list of all objects associated with a condition.

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: listConditionAssociations
      parameters:
      - $ref: '#/components/parameters/StatementIdPath'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PerPage'
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/AssociationTypeParam'
      - $ref: '#/components/parameters/PipelineStatementTypeParam'
      - $ref: '#/components/parameters/PipelineNameParam'
      - name: sortBy
        in: query
        description: 'The sort criteria to apply on the results.


          **Default:** `associationType, associationId`'
        schema:
          type: string
          enum:
          - pipelineName
      - $ref: '#/components/parameters/IsOrderAscending'
      responses:
        '200':
          description: Objects associated with the condition.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConditionAssociationListResponse'
              examples:
                sample:
                  value:
                    conditionId: 0befc717-dfd7-4962-9b85-28f5c26fd23b
                    totalEntries: 6
                    totalPages: 1
                    items:
                    - associationType: pipelines
                      id: pipe-123
                      pipelineId: pipe-123
                      pipelineName: Default Pipeline
                    - associationType: pipelineStatements
                      id: stmt-001
                      pipelineId: pipe-123
                      pipelineName: Default Pipeline
                      pipelineStatementType: thesaurus
                    - associationType: pipelineStatementGroups
                      id: psg-42
                      pipelineId: pipe-123
                      pipelineName: Default Pipeline
                    - associationType: pipelineStatements
                      id: fr-9
                      pipelineId: pipe-123
                      pipelineName: Default Pipeline
                      pipelineStatementType: featuredResult
                    - associationType: pipelineStatements
                      id: rr-11
                      pipelineId: pipe-123
                      pipelineName: Default Pipeline
                      pipelineStatementType: rankingExpression
                    - associationType: pipelineStatements
                      id: uml-777
                      pipelineId: pipe-123
                      pipelineName: Default Pipeline
                      pipelineStatementType: unmanagedMlStatement
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          description: Condition not found
      security:
      - oauth2:
        - full
  /rest/search/v1/admin/pipelines/statements/bulkGet:
    post:
      tags:
      - Conditions
      summary: List Condition Statements
      description: 'Gets a sorted page of condition statements matching certain criteria.

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: bulkGetConditions
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      - $ref: '#/components/parameters/IsOrderAscending'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/SortBy'
      - $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/OutgoingConditions'
        '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/v1/admin/pipelines/statements/bulkDelete:
    post:
      tags:
      - Conditions
      summary: Bulk Delete of Condition Statements
      description: 'Bulk delete of condition statements

        <details>

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


        ```json

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

        ```

        </details>'
      operationId: bulkDeleteConditions
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      requestBody:
        description: The query pipeline conditions to delete
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkDeleteConditionsRequest'
        required: true
      responses:
        '204':
          description: No Content
        '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/v1/admin/pipelines/statements/validate:
    post:
      tags:
      - Conditions
      summary: Validate a Single Pipeline Condition 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: validatePipelineConditionOperation
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      requestBody:
        description: An object that describes the operation to validate, the resource to target, and the model payload to use.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestSingleOperationValidationRequestIncomingCondition'
        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/v1/admin/pipelines/statements/validate/batch:
    post:
      tags:
      - Conditions
      summary: Validate Batch of Pipeline Condition 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: validatePipelineConditionOperations
      parameters:
      - $ref: '#/components/parameters/OrganizationIdQuery'
      requestBody:
        description: An object that contains the list of operations to validate.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestBatchOperationValidationRequestIncomingCondition'
        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
components:
  schemas:
    ListConditionsResponseItemExpanded:
      type: object
      properties:
        associations:
          type: object
          required:
          - total
          properties:
            total:
              type: integer
              minimum: 0
    ConditionPipelineStatementGroupAssociation:
      allOf:
      - $ref: '#/components/schemas/AssociationItemBase'
      - type: object
        properties:
          associationType:
            type: string
            enum:
            - pipelineStatementGroups
    RestBatchOperationValidationResponse:
      required:
      - results
      type: object
      properties:
        results:
          type: array
          description: The list of operation validation results.
          items:
            $ref: '#/components/schemas/RestOperationValidationResponse'
    OperatorExpression:
      type: object
      required:
      - operator
      - left
      properties:
        operator:
          type: string
        left:
          $ref: '#/components/schemas/OperatorLeftHandSide'
        right:
          $ref: '#/components/schemas/OperatorRightHandSide'
    RestOperationValidationRequestIncomingCondition:
      required:
      - operationType
      type: object
      properties:
        operationType:
          type: string
          description: 'The type of operation to validate. Each operation type has specific validation rules.


            Additional request parameters are required based on the type of operation to validate:

            - `CREATE`: You must provide a `model`.

            - `UPDATE`: You must provide a `model` and a `resourceId`.

            - `DELETE`: You must provide a `resourceId`.

            '
          example: CREATE
          enum:
          - CREATE
          - UPDATE
          - DELETE
        model:
          $ref: '#/components/schemas/IncomingCondition'
        resourceId:
          type: string
          description: 'The identifier of the resource. '
          example: id
    BulkDeleteConditionsRequest:
      type: object
      required:
      - ids
      properties:
        ids:
          type: array
          description: A list of resource identifiers to delete. A maximum of **100** can be sent.
          maxItems: 100
          items:
            type: string
            maxLength: 38
    OutgoingConditionFeature:
      type: string
      description: '> This property is exposed for backward compatibility reasons.'
      deprecated: true
      enum:
      - when
    ListConditionsResponseItem:
      allOf:
      - $ref: '#/components/schemas/OutgoingConditionBase'
      - $ref: '#/components/schemas/ListConditionsResponseItemExpanded'
    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.
    IncomingCondition:
      required:
      - definition
      type: object
      properties:
        description:
          type: string
          description: The intended purpose of this statement in an actual implementation.
          example: If the query originates from the community site...
        definition:
          type: string
          description: The query pipeline language expression that defines this statement (see [Query Pipeline Language (QPL)](https://docs.coveo.com/en/1449/)).
          maxLength: 10000
          example: when $searchhub is "community"
    ConditionAssociationListResponse:
      type: object
      required:
      - items
      - totalEntries
      - totalPages
      properties:
        conditionId:
          type: string
          description: The condition ID used for the lookup.
        items:
          type: array
          description: The matching associations on the current results page.
          items:
            $ref: '#/components/schemas/ConditionAssociationItemUnion'
        totalEntries:
          type: integer
          format: int32
          description: The total number of matching associations across all results pages.
          example: 1
        totalPages:
          type: integer
          format: int32
          description: The total number of available results pages.
          example: 1
    AssociationItemBase:
      type: object
      required:
      - associationType
      - id
      - pipelineId
      - pipelineName
      properties:
        associationType:
          $ref: '#/components/schemas/ConditionAssociationType'
        id:
          type: string
          format: uuid
          description: Primary key of the associated entity.
        pipelineId:
          type: string
          description: Pipeline ID the row belongs to.
        pipelineName:
          type: string
          description: Human-readable name of the pipeline.
    RestBatchOperationValidationRequestIncomingCondition:
      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/RestOperationValidationRequestIncomingCondition'
    ConditionAssociationType:
      type: string
      enum:
      - pipelines
      - pipelineStatements
      - pipelineStatementGroups
    RestSingleOperationValidationResponse:
      required:
      - result
      type: object
      properties:
        result:
          $ref: '#/components/schemas/RestOperationValidationResponse'
    OperatorRightHandSide:
      oneOf:
      - type: string
      - type: number
      - type: integer
        format: int32
      - type: boolean
    RestSingleOperationValidationRequestIncomingCondition:
      required:
      - operation
      type: object
      properties:
        operation:
          $ref: '#/components/schemas/RestOperationValidationRequestIncomingCondition'
    ConditionAssociationItemUnion:
      oneOf:
      - $ref: '#/components/schemas/ConditionPipelineAssociation'
      - $ref: '#/components/schemas/ConditionPipelineStatementAssociation'
      - $ref: '#/components/schemas/ConditionPipelineStatementGroupAssociation'
      discriminator:
        propertyName: associationType
        mapping:
          pipelines: '#/components/schemas/ConditionPipelineAssociation'
          pipelineStatements: '#/components/schemas/ConditionPipelineStatementAssociation'
          pipelineStatementGroups: '#/components/schemas/ConditionPipelineStatementGroupAssociation'
    ConditionDetailed:
      type: object
      required:
      - condition
      properties:
        condition:
          $ref: '#/components/schemas/BooleanExpression'
    ConditionAssociationPipelineStatementType:
      type: string
      enum:
      - filter
      - queryParamOverride
      - rankingweight
      - stopWord
      - thesaurus
      - trigger
      - featuredResult
      - rankingExpression
      - unmanagedMlStatement
    ConditionPipelineStatementAssociation:
      allOf:
      - $ref: '#/components/schemas/AssociationItemBase'
      - type: object
        required:
        - pipelineStatementType
        properties:
          associationType:
            type: string
            enum:
            - pipelineStatements
          pipelineStatementType:
            description: The type of `pipelineStatements` association.
            $ref: '#/components/schemas/ConditionAssociationPipelineStatementType'
    ConditionPipelineAssociation:
      allOf:
      - $ref: '#/components/schemas/AssociationItemBase'
      - type: object
        properties:
          associationType:
            type: string
            enum:
            - pipelines
        description: For pipeline associations, `pipelineId` will equal `id`.
    OutgoingCondition:
      allOf:
      - $ref: '#/components/schemas/OutgoingConditionBase'
    CompoundBooleanExpression:
      type: object
      required:
      - operator
      - left
      properties:
        operator:
          type: string
        left:
          $ref: '#/components/schemas/BooleanExpression'
        right:
          $ref: '#/components/schemas/BooleanExpression'
    IsBetweenOperator:
      type: object
      required:
      - operator
      - left
      - from
      - to
      properties:
        operator:
          type: string
          enum:
          - isBetween
        left:
          $ref: '#/components/schemas/OperatorLeftHandSide'
        from:
          type: string
          format: date-time
        to:
          type: string
          format: date-time
    OutgoingConditionBase:
      required:
      - childrenCount
      - definition
      - detailed
      - feature
      - id
      - position
      - ready
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of this statement.
          example: 45a7892e-a63f-4c8e-8795-ab38c8c18d7e
        description:
          type: string
          description: The intended purpose of this statement in an actual implementation.
          example: If the query originates from the community site...
        definition:
          type: string
          description: The query pipeline language expression that defines this statement (see [Query Pipeline Language (QPL)](https://docs.coveo.com/en/1449/)).
          example: when $searchhub is "community"
        detailed:
          $ref: '#/components/schemas/ConditionDetailed'
        modifiedBy:
          type: string
          description: The identifier of the Coveo Cloud platform user who last modified this.
          example: bjones@example.com
        modifiedAt:
          type: string
          format: date-time
          description: The last time this was modified.
          example: '2021-02-16T15:15:17Z'
        childrenCount:
          type: integer
          description: '> This property is exposed for backward compatibility reasons.'
          format: int32
          deprecated: true
        feature:
          $ref: '#/components/schemas/OutgoingConditionFeature'
        parent:
          type: string
          description: '> This property is exposed for backward compatibility reasons.'
          deprecated: true
        condition:
          type: string
          description: '> This property is exposed for backward compatibility reasons.'
          deprecated: true
        position:
          type: integer
          description: '> This property is exposed for backward compatibility reasons.'
          format: int32
          deprecated: true
        ready:
          type: boolean
          description: '> This property is exposed for backward compatibility reasons.'
          deprecated: true
    BooleanExpression:
      oneOf:
      - $ref: '#/components/schemas/CompoundBooleanExpression'
      - $ref: '#/components/schemas/OperatorExpression'
      - $ref: '#/components/schemas/IsBetweenOperator'
      - type: boolean
    RestBulkGetRequest:
      type: object
      properties:
        ids:
          type: array
          description: A list of resource identifiers to get. A maximum of **1000** can be sent.
          items:
            type: string
            maxItems: 1000
    ErrorMessage:
      type: object
      additionalProperties: true
      properties:
        statusCode:
          type: number
          example: 404
        errorCode:
          type: string
          example: ORGANIZATION_DOES_NOT_EXIST
        message:
          type: string
          example: The organization does not exist in the search api.
    RestOperationValidationError:
      required:
      - message
      type: object
      properties:
        message:
          type: string
    OutgoingConditions:
      required:
      - statements
      - totalCount
      - totalEntries
      - totalPages
      type: object
      properties:
        statements:
          type: array
          description: The matching statements in the current page of results.
          items:
            $ref: '#/components/schemas/ListConditionsResponseItem'
        totalEntries:
          type: integer
          description: The total number of matching statements across all pages of results.
          format: int32
          example: 1
        totalCount:
          type: integer
          description: '> This property is exposed for backward compatibility reasons. Use the `totalEntries` property instead.


            The total number of matching entries across all pages of results.'
          deprecated: true
          format: int32
          example: 1
        totalPages:
          type: integer
          description: The total number of available pages of results.
          format: int32
          example: 1
    OperatorLeftHandSide:
      type: object
      required:
      - object
      properties:
        object:
          type: string
        key:
          type: string
        keys:
          type: array
          items:
            type: string
  responses:
    Forbidden:
      description: 'Forbidden (see: https://docs.coveo.com/en/1471/build-a-search-ui/troubleshoot-query-error-codes#403-forbidden)'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          example:
            statusCode: 403
            message: Access denied. API key does not have sufficient privileges.
            errorCode: FORBIDDEN
    UnprocessableEntity:
      description: Unprocessable Entity
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          example:
            statusCode: 422
            message: Unprocessable entity.
    ServiceUnavailable:
      description: 'Service Unavailable (see: https://docs.coveo.com/en/1471/build-a-search-ui/troubleshoot-query-error-codes#5xx)'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            ServiceUnavailable:
              summary: 'Server Unavailable (see: https://docs.coveo.com/en/1471/build-a-search-ui/troubleshoot-query-error-codes#503-server_unavailable)'
              value:
                statusCode: 503
                message: The server is currently unavailable due to overload or index unavailability.
                errorCode: SERVER_UNAVAILABLE
            OrganizationPaused:
              summary: 'Organization Paused (see: https://docs.coveo.com/en/1471/build-a-search-ui/troubleshoot-query-error-codes#503-organization_paused)'
              value:
                statusCode: 503
                message: The organization is paused due to inactivity.
                errorCode: ORGANIZATION_PAUSED
    AuthenticationTimeout:
      description: Authentication Timeout
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          example:
            statusCode: 419
            message: Authentication timeout.
    TooManyRequests:
      description: 'Too Many Requests (see: https://docs.coveo.com/en/1471/build-a-search-ui/troubleshoot-query-error-codes#429-too_many_requests)'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          example:
            statusCode: 429
            message: Too many requests.
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            BadRequest:
              summary: 'Bad Request (see: https://docs.coveo.com/en/1471/build-a-search-ui/troubleshoot-query-error-codes#400-bad_request)'
              value:
                statusCode: 400
                message: Invalid JSON format in request body.
            NoRegisteredEndpoint:
              summary: 'No Registered Endpoint (see: https://docs.coveo.com/en/1471/build-a-search-ui/troubleshoot-query-error-codes#400-no_registered_endpoint)'
              value:
                statusCode: 400
                message: No registered endpoint fou

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