Coveo · Capability

Coveo Search Usage Metrics API — Search Hubs

Coveo Search Usage Metrics API — Search Hubs. 6 operations. Lead operation: Creates a Search Hub in the Organization. Self-contained Naftiko capability covering one Coveo business surface.

Run with Naftiko CoveoSearch Usage MetricsSearch Hubs

What You Can Do

POST
Createsearchhub — Creates a Search Hub in the Organization
/v1/organizations/{organizationid}/searchusagemetrics/hubs
GET
Listsearchhubs — Lists the Search Hubs for an Organization
/v1/organizations/{organizationid}/searchusagemetrics/hubs
DELETE
Deletesearchhub — Deletes a Search Hub for an Organization
/v1/organizations/{organizationid}/searchusagemetrics/hubs/{hubname}
GET
Getsearchhub — Gets a Specific Search Hub for an Organization
/v1/organizations/{organizationid}/searchusagemetrics/hubs/{hubname}
PUT
Updatesearchhub — Updates a Search Hub in an Organization
/v1/organizations/{organizationid}/searchusagemetrics/hubs/{hubname}
PUT
Updatesearchhubbucket — Updates a Search Hub Bucket in an Organization, Creating the Hub If Required
/v1/organizations/{organizationid}/searchusagemetrics/hubs/{hubname}/bucket

MCP Tools

creates-search-hub-organization

Creates a Search Hub in the Organization

read-only
lists-search-hubs-organization

Lists the Search Hubs for an Organization

read-only idempotent
deletes-search-hub-organization

Deletes a Search Hub for an Organization

idempotent
gets-specific-search-hub-organization

Gets a Specific Search Hub for an Organization

read-only idempotent
updates-search-hub-organization

Updates a Search Hub in an Organization

idempotent
updates-search-hub-bucket-organization

Updates a Search Hub Bucket in an Organization, Creating the Hub If Required

idempotent

Capability Spec

search-usage-metrics-search-hubs.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Coveo Search Usage Metrics API — Search Hubs
  description: 'Coveo Search Usage Metrics API — Search Hubs. 6 operations. Lead operation: Creates a Search Hub in the Organization.
    Self-contained Naftiko capability covering one Coveo business surface.'
  tags:
  - Coveo
  - Search Usage Metrics
  - Search Hubs
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    COVEO_SEARCH_TOKEN: COVEO_SEARCH_TOKEN
capability:
  consumes:
  - type: http
    namespace: search-usage-metrics-search-hubs
    baseUri: https://platform.cloud.coveo.com
    description: Coveo Search Usage Metrics API — Search Hubs business capability. Self-contained, no shared references.
    authentication:
      type: bearer
      token: '{{env.COVEO_SEARCH_TOKEN}}'
    resources:
    - name: rest-organizations-organizationId-searchusagemetrics-hubs
      path: /rest/organizations/{organizationId}/searchusagemetrics/hubs/
      operations:
      - name: createsearchhub
        method: POST
        description: Creates a Search Hub in the Organization
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: hub
          in: body
          type: string
          description: The search hub data
          required: true
        - name: organizationId
          in: path
          type: string
          description: The organization ID
          required: true
      - name: listsearchhubs
        method: GET
        description: Lists the Search Hubs for an Organization
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: minimumQueries
          in: query
          type: string
          description: The minimum number of queries required for a search hub to be listed
        - name: filter
          in: query
          type: string
          description: The free-form string to filter the returned list based on the values of the search hub attributes.
        - name: pageSize
          in: query
          type: string
          description: The maximum number of organizations to list per page.
        - name: page
          in: query
          type: string
          description: The 0-based index number of the page to list.
        - name: organizationId
          in: path
          type: string
          description: The organization ID
          required: true
    - name: rest-organizations-organizationId-searchusagemetrics-hubs-hubName
      path: /rest/organizations/{organizationId}/searchusagemetrics/hubs/{hubName}
      operations:
      - name: deletesearchhub
        method: DELETE
        description: Deletes a Search Hub for an Organization
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: hubName
          in: path
          type: string
          description: The search hub name
          required: true
        - name: organizationId
          in: path
          type: string
          description: The organization ID
          required: true
      - name: getsearchhub
        method: GET
        description: Gets a Specific Search Hub for an Organization
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: hubName
          in: path
          type: string
          description: The search hub name
          required: true
        - name: organizationId
          in: path
          type: string
          description: The organization ID
          required: true
      - name: updatesearchhub
        method: PUT
        description: Updates a Search Hub in an Organization
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: hub
          in: body
          type: string
          description: The search hub data
          required: true
        - name: hubName
          in: path
          type: string
          description: The search hub name
          required: true
        - name: organizationId
          in: path
          type: string
          description: The organization ID
          required: true
    - name: rest-organizations-organizationId-searchusagemetrics-hubs-hubName-bucket
      path: /rest/organizations/{organizationId}/searchusagemetrics/hubs/{hubName}/bucket
      operations:
      - name: updatesearchhubbucket
        method: PUT
        description: Updates a Search Hub Bucket in an Organization, Creating the Hub If Required
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: bucket
          in: query
          type: string
          description: The search hub bucket
          required: true
        - name: hubName
          in: path
          type: string
          description: The search hub name
          required: true
        - name: organizationId
          in: path
          type: string
          description: The organization ID
          required: true
  exposes:
  - type: rest
    namespace: search-usage-metrics-search-hubs-rest
    port: 8080
    description: REST adapter for Coveo Search Usage Metrics API — Search Hubs. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/organizations/{organizationid}/searchusagemetrics/hubs
      name: rest-organizations-organizationid-searchusagemetrics-hubs
      description: REST surface for rest-organizations-organizationId-searchusagemetrics-hubs.
      operations:
      - method: POST
        name: createsearchhub
        description: Creates a Search Hub in the Organization
        call: search-usage-metrics-search-hubs.createsearchhub
        with:
          hub: rest.hub
          organizationId: rest.organizationId
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listsearchhubs
        description: Lists the Search Hubs for an Organization
        call: search-usage-metrics-search-hubs.listsearchhubs
        with:
          minimumQueries: rest.minimumQueries
          filter: rest.filter
          pageSize: rest.pageSize
          page: rest.page
          organizationId: rest.organizationId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organizationid}/searchusagemetrics/hubs/{hubname}
      name: rest-organizations-organizationid-searchusagemetrics-hubs-hubname
      description: REST surface for rest-organizations-organizationId-searchusagemetrics-hubs-hubName.
      operations:
      - method: DELETE
        name: deletesearchhub
        description: Deletes a Search Hub for an Organization
        call: search-usage-metrics-search-hubs.deletesearchhub
        with:
          hubName: rest.hubName
          organizationId: rest.organizationId
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getsearchhub
        description: Gets a Specific Search Hub for an Organization
        call: search-usage-metrics-search-hubs.getsearchhub
        with:
          hubName: rest.hubName
          organizationId: rest.organizationId
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatesearchhub
        description: Updates a Search Hub in an Organization
        call: search-usage-metrics-search-hubs.updatesearchhub
        with:
          hub: rest.hub
          hubName: rest.hubName
          organizationId: rest.organizationId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organizationid}/searchusagemetrics/hubs/{hubname}/bucket
      name: rest-organizations-organizationid-searchusagemetrics-hubs-hubname-bucket
      description: REST surface for rest-organizations-organizationId-searchusagemetrics-hubs-hubName-bucket.
      operations:
      - method: PUT
        name: updatesearchhubbucket
        description: Updates a Search Hub Bucket in an Organization, Creating the Hub If Required
        call: search-usage-metrics-search-hubs.updatesearchhubbucket
        with:
          bucket: rest.bucket
          hubName: rest.hubName
          organizationId: rest.organizationId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: search-usage-metrics-search-hubs-mcp
    port: 9090
    transport: http
    description: MCP adapter for Coveo Search Usage Metrics API — Search Hubs. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: creates-search-hub-organization
      description: Creates a Search Hub in the Organization
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: search-usage-metrics-search-hubs.createsearchhub
      with:
        hub: tools.hub
        organizationId: tools.organizationId
      outputParameters:
      - type: object
        mapping: $.
    - name: lists-search-hubs-organization
      description: Lists the Search Hubs for an Organization
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: search-usage-metrics-search-hubs.listsearchhubs
      with:
        minimumQueries: tools.minimumQueries
        filter: tools.filter
        pageSize: tools.pageSize
        page: tools.page
        organizationId: tools.organizationId
      outputParameters:
      - type: object
        mapping: $.
    - name: deletes-search-hub-organization
      description: Deletes a Search Hub for an Organization
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: search-usage-metrics-search-hubs.deletesearchhub
      with:
        hubName: tools.hubName
        organizationId: tools.organizationId
      outputParameters:
      - type: object
        mapping: $.
    - name: gets-specific-search-hub-organization
      description: Gets a Specific Search Hub for an Organization
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: search-usage-metrics-search-hubs.getsearchhub
      with:
        hubName: tools.hubName
        organizationId: tools.organizationId
      outputParameters:
      - type: object
        mapping: $.
    - name: updates-search-hub-organization
      description: Updates a Search Hub in an Organization
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: search-usage-metrics-search-hubs.updatesearchhub
      with:
        hub: tools.hub
        hubName: tools.hubName
        organizationId: tools.organizationId
      outputParameters:
      - type: object
        mapping: $.
    - name: updates-search-hub-bucket-organization
      description: Updates a Search Hub Bucket in an Organization, Creating the Hub If Required
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: search-usage-metrics-search-hubs.updatesearchhubbucket
      with:
        bucket: tools.bucket
        hubName: tools.hubName
        organizationId: tools.organizationId
      outputParameters:
      - type: object
        mapping: $.