Coveo · Capability

Coveo Search API — Search V3

Coveo Search API — Search V3. 14 operations. Lead operation: Send Search Request. Self-contained Naftiko capability covering one Coveo business surface.

Run with Naftiko CoveoSearchSearch V3

What You Can Do

POST
Searchusingpostv3 — Send Search Request
/v1/search/v3
GET
Datastreamv3 — Get Item Data Stream
/v1/search/v3/datastream
GET
Documentv3 — Get Item in JSON Format
/v1/search/v3/document
POST
Facetsearchv3 — Send Facet Search Request
/v1/search/v3/facet
GET
Fieldsv3 — List All Fields
/v1/search/v3/fields
POST
Findfieldsfromexpressionv3 — Find Fields from Results of a Query Expression
/v1/search/v3/fields/find
POST
Htmlpostv3 — Get HTML Item Preview
/v1/search/v3/html
POST
Loginproviderpostv3 — Log in to Authentication Provider
/v1/search/v3/login/{provider}
POST
Plansearchusingpostv3 — Plan Search Execution
/v1/search/v3/plan
POST
Querysuggestpostv3 — Request Query Suggestions
/v1/search/v3/querysuggest
GET
Textv3 — Get Item in Text Format
/v1/search/v3/text
POST
Tokenv3 — Create Search Token
/v1/search/v3/token
POST
Valuespostv3 — Get Values for One Field
/v1/search/v3/values
POST
Valuesbatchpostv3 — Get Values for Several Field
/v1/search/v3/values/batch

MCP Tools

send-search-request

Send Search Request

read-only
get-item-data-stream

Get Item Data Stream

read-only idempotent
get-item-json-format

Get Item in JSON Format

read-only idempotent
send-facet-search-request

Send Facet Search Request

read-only
list-all-fields

List All Fields

read-only idempotent
find-fields-results-query-expression

Find Fields from Results of a Query Expression

read-only
get-html-item-preview

Get HTML Item Preview

read-only
log-authentication-provider

Log in to Authentication Provider

plan-search-execution

Plan Search Execution

read-only
request-query-suggestions

Request Query Suggestions

read-only
get-item-text-format

Get Item in Text Format

read-only idempotent
create-search-token

Create Search Token

read-only
get-values-one-field

Get Values for One Field

read-only
get-values-several-field

Get Values for Several Field

read-only

Capability Spec

search-search-v3.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Coveo Search API — Search V3
  description: 'Coveo Search API — Search V3. 14 operations. Lead operation: Send Search Request. Self-contained Naftiko capability
    covering one Coveo business surface.'
  tags:
  - Coveo
  - Search
  - Search V3
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    COVEO_SEARCH_TOKEN: COVEO_SEARCH_TOKEN
capability:
  consumes:
  - type: http
    namespace: search-search-v3
    baseUri: https://platform.cloud.coveo.com
    description: Coveo Search API — Search V3 business capability. Self-contained, no shared references.
    authentication:
      type: bearer
      token: '{{env.COVEO_SEARCH_TOKEN}}'
    resources:
    - name: rest-search-v3
      path: /rest/search/v3
      operations:
      - name: searchusingpostv3
        method: POST
        description: Send Search Request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: rest-search-v3-datastream
      path: /rest/search/v3/datastream
      operations:
      - name: datastreamv3
        method: GET
        description: Get Item Data Stream
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dataStream
          in: query
          type: string
          description: The name of the data stream to request.
          required: true
        - name: primaryId
          in: query
          type: string
          description: The primary ID of the document.
        - name: uniqueId
          in: query
          type: string
          description: '**Deprecated:** Use `primaryId` instead.'
        - name: contentType
          in: query
          type: string
          description: The MIME type of the data stream to request.
    - name: rest-search-v3-document
      path: /rest/search/v3/document
      operations:
      - name: documentv3
        method: GET
        description: Get Item in JSON Format
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: primaryId
          in: query
          type: string
          description: The primary ID of the document.
        - name: uniqueId
          in: query
          type: string
          description: '**Deprecated:** Use `primaryId` instead.'
    - name: rest-search-v3-facet
      path: /rest/search/v3/facet
      operations:
      - name: facetsearchv3
        method: POST
        description: Send Facet Search Request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: rest-search-v3-fields
      path: /rest/search/v3/fields
      operations:
      - name: fieldsv3
        method: GET
        description: List All Fields
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: rest-search-v3-fields-find
      path: /rest/search/v3/fields/find
      operations:
      - name: findfieldsfromexpressionv3
        method: POST
        description: Find Fields from Results of a Query Expression
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: rest-search-v3-html
      path: /rest/search/v3/html
      operations:
      - name: htmlpostv3
        method: POST
        description: Get HTML Item Preview
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uniqueId
          in: query
          type: string
          description: The uniqueId of the document. Exactly one of uniqueId or primaryId is required.
        - name: primaryId
          in: query
          type: string
          description: The primaryId of the document. Exactly one of uniqueId or primaryId is required.
        - name: findNext
          in: query
          type: integer
        - name: findPrevious
          in: query
          type: integer
        - name: page
          in: query
          type: integer
        - name: enableNavigation
          in: query
          type: boolean
        - name: requestedOutputSize
          in: query
          type: integer
          description: The approximate number of bytes to request in the HTML response. **Default:** `0`, meaning that the
            entire HTML document is requested.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: rest-search-v3-login-provider
      path: /rest/search/v3/login/{provider}
      operations:
      - name: loginproviderpostv3
        method: POST
        description: Log in to Authentication Provider
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: provider
          in: path
          type: string
          description: The name of the Search API authentication provider to log in to.
          required: true
    - name: rest-search-v3-plan
      path: /rest/search/v3/plan
      operations:
      - name: plansearchusingpostv3
        method: POST
        description: Plan Search Execution
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: rest-search-v3-querySuggest
      path: /rest/search/v3/querySuggest
      operations:
      - name: querysuggestpostv3
        method: POST
        description: Request Query Suggestions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: rest-search-v3-text
      path: /rest/search/v3/text
      operations:
      - name: textv3
        method: GET
        description: Get Item in Text Format
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: primaryId
          in: query
          type: string
          description: The primary ID of the document.
        - name: uniqueId
          in: query
          type: string
          description: '**Deprecated:** Use `primaryId` instead.'
    - name: rest-search-v3-token
      path: /rest/search/v3/token
      operations:
      - name: tokenv3
        method: POST
        description: Create Search Token
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: rest-search-v3-values
      path: /rest/search/v3/values
      operations:
      - name: valuespostv3
        method: POST
        description: Get Values for One Field
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: rest-search-v3-values-batch
      path: /rest/search/v3/values/batch
      operations:
      - name: valuesbatchpostv3
        method: POST
        description: Get Values for Several Field
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
  exposes:
  - type: rest
    namespace: search-search-v3-rest
    port: 8080
    description: REST adapter for Coveo Search API — Search V3. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/search/v3
      name: rest-search-v3
      description: REST surface for rest-search-v3.
      operations:
      - method: POST
        name: searchusingpostv3
        description: Send Search Request
        call: search-search-v3.searchusingpostv3
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/search/v3/datastream
      name: rest-search-v3-datastream
      description: REST surface for rest-search-v3-datastream.
      operations:
      - method: GET
        name: datastreamv3
        description: Get Item Data Stream
        call: search-search-v3.datastreamv3
        with:
          dataStream: rest.dataStream
          primaryId: rest.primaryId
          uniqueId: rest.uniqueId
          contentType: rest.contentType
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/search/v3/document
      name: rest-search-v3-document
      description: REST surface for rest-search-v3-document.
      operations:
      - method: GET
        name: documentv3
        description: Get Item in JSON Format
        call: search-search-v3.documentv3
        with:
          primaryId: rest.primaryId
          uniqueId: rest.uniqueId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/search/v3/facet
      name: rest-search-v3-facet
      description: REST surface for rest-search-v3-facet.
      operations:
      - method: POST
        name: facetsearchv3
        description: Send Facet Search Request
        call: search-search-v3.facetsearchv3
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/search/v3/fields
      name: rest-search-v3-fields
      description: REST surface for rest-search-v3-fields.
      operations:
      - method: GET
        name: fieldsv3
        description: List All Fields
        call: search-search-v3.fieldsv3
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/search/v3/fields/find
      name: rest-search-v3-fields-find
      description: REST surface for rest-search-v3-fields-find.
      operations:
      - method: POST
        name: findfieldsfromexpressionv3
        description: Find Fields from Results of a Query Expression
        call: search-search-v3.findfieldsfromexpressionv3
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/search/v3/html
      name: rest-search-v3-html
      description: REST surface for rest-search-v3-html.
      operations:
      - method: POST
        name: htmlpostv3
        description: Get HTML Item Preview
        call: search-search-v3.htmlpostv3
        with:
          uniqueId: rest.uniqueId
          primaryId: rest.primaryId
          findNext: rest.findNext
          findPrevious: rest.findPrevious
          page: rest.page
          enableNavigation: rest.enableNavigation
          requestedOutputSize: rest.requestedOutputSize
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/search/v3/login/{provider}
      name: rest-search-v3-login-provider
      description: REST surface for rest-search-v3-login-provider.
      operations:
      - method: POST
        name: loginproviderpostv3
        description: Log in to Authentication Provider
        call: search-search-v3.loginproviderpostv3
        with:
          provider: rest.provider
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/search/v3/plan
      name: rest-search-v3-plan
      description: REST surface for rest-search-v3-plan.
      operations:
      - method: POST
        name: plansearchusingpostv3
        description: Plan Search Execution
        call: search-search-v3.plansearchusingpostv3
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/search/v3/querysuggest
      name: rest-search-v3-querysuggest
      description: REST surface for rest-search-v3-querySuggest.
      operations:
      - method: POST
        name: querysuggestpostv3
        description: Request Query Suggestions
        call: search-search-v3.querysuggestpostv3
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/search/v3/text
      name: rest-search-v3-text
      description: REST surface for rest-search-v3-text.
      operations:
      - method: GET
        name: textv3
        description: Get Item in Text Format
        call: search-search-v3.textv3
        with:
          primaryId: rest.primaryId
          uniqueId: rest.uniqueId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/search/v3/token
      name: rest-search-v3-token
      description: REST surface for rest-search-v3-token.
      operations:
      - method: POST
        name: tokenv3
        description: Create Search Token
        call: search-search-v3.tokenv3
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/search/v3/values
      name: rest-search-v3-values
      description: REST surface for rest-search-v3-values.
      operations:
      - method: POST
        name: valuespostv3
        description: Get Values for One Field
        call: search-search-v3.valuespostv3
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/search/v3/values/batch
      name: rest-search-v3-values-batch
      description: REST surface for rest-search-v3-values-batch.
      operations:
      - method: POST
        name: valuesbatchpostv3
        description: Get Values for Several Field
        call: search-search-v3.valuesbatchpostv3
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: search-search-v3-mcp
    port: 9090
    transport: http
    description: MCP adapter for Coveo Search API — Search V3. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: send-search-request
      description: Send Search Request
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: search-search-v3.searchusingpostv3
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-item-data-stream
      description: Get Item Data Stream
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: search-search-v3.datastreamv3
      with:
        dataStream: tools.dataStream
        primaryId: tools.primaryId
        uniqueId: tools.uniqueId
        contentType: tools.contentType
      outputParameters:
      - type: object
        mapping: $.
    - name: get-item-json-format
      description: Get Item in JSON Format
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: search-search-v3.documentv3
      with:
        primaryId: tools.primaryId
        uniqueId: tools.uniqueId
      outputParameters:
      - type: object
        mapping: $.
    - name: send-facet-search-request
      description: Send Facet Search Request
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: search-search-v3.facetsearchv3
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-fields
      description: List All Fields
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: search-search-v3.fieldsv3
      outputParameters:
      - type: object
        mapping: $.
    - name: find-fields-results-query-expression
      description: Find Fields from Results of a Query Expression
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: search-search-v3.findfieldsfromexpressionv3
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-html-item-preview
      description: Get HTML Item Preview
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: search-search-v3.htmlpostv3
      with:
        uniqueId: tools.uniqueId
        primaryId: tools.primaryId
        findNext: tools.findNext
        findPrevious: tools.findPrevious
        page: tools.page
        enableNavigation: tools.enableNavigation
        requestedOutputSize: tools.requestedOutputSize
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: log-authentication-provider
      description: Log in to Authentication Provider
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: search-search-v3.loginproviderpostv3
      with:
        provider: tools.provider
      outputParameters:
      - type: object
        mapping: $.
    - name: plan-search-execution
      description: Plan Search Execution
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: search-search-v3.plansearchusingpostv3
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: request-query-suggestions
      description: Request Query Suggestions
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: search-search-v3.querysuggestpostv3
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-item-text-format
      description: Get Item in Text Format
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: search-search-v3.textv3
      with:
        primaryId: tools.primaryId
        uniqueId: tools.uniqueId
      outputParameters:
      - type: object
        mapping: $.
    - name: create-search-token
      description: Create Search Token
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: search-search-v3.tokenv3
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-values-one-field
      description: Get Values for One Field
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: search-search-v3.valuespostv3
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-values-several-field
      description: Get Values for Several Field
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: search-search-v3.valuesbatchpostv3
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.