Couchbase · Capability

Couchbase Search Service REST API — Search Indexes

Couchbase Search Service REST API — Search Indexes. 7 operations. Lead operation: List all search index definitions. Self-contained Naftiko capability covering one Couchbase business surface.

Run with Naftiko CouchbaseSearch Indexes

What You Can Do

GET
Listsearchindexes — List all search index definitions
/v1/api/index
GET
Getsearchindex — Get a search index definition
/v1/api/index/{indexname}
PUT
Createorupdatesearchindex — Create or update a search index
/v1/api/index/{indexname}
DELETE
Deletesearchindex — Delete a search index
/v1/api/index/{indexname}
POST
Controlsearchindexingest — Control search index data ingestion
/v1/api/index/{indexname}/ingestcontrol/{operation}
POST
Controlsearchindexplanfreeze — Control search index plan freeze
/v1/api/index/{indexname}/planfreezecontrol/{operation}
POST
Controlsearchindexquery — Control search index query access
/v1/api/index/{indexname}/querycontrol/{operation}

MCP Tools

list-all-search-index-definitions

List all search index definitions

read-only idempotent
get-search-index-definition

Get a search index definition

read-only idempotent
create-update-search-index

Create or update a search index

idempotent
delete-search-index

Delete a search index

idempotent
control-search-index-data-ingestion

Control search index data ingestion

read-only
control-search-index-plan-freeze

Control search index plan freeze

read-only
control-search-index-query-access

Control search index query access

read-only

Capability Spec

search-service-rest-search-indexes.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Couchbase Search Service REST API — Search Indexes
  description: 'Couchbase Search Service REST API — Search Indexes. 7 operations. Lead operation: List all search index definitions.
    Self-contained Naftiko capability covering one Couchbase business surface.'
  tags:
  - Couchbase
  - Search Indexes
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    COUCHBASE_API_KEY: COUCHBASE_API_KEY
capability:
  consumes:
  - type: http
    namespace: search-service-rest-search-indexes
    baseUri: https://localhost:8094
    description: Couchbase Search Service REST API — Search Indexes business capability. Self-contained, no shared references.
    resources:
    - name: api-index
      path: /api/index
      operations:
      - name: listsearchindexes
        method: GET
        description: List all search index definitions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-index-indexName
      path: /api/index/{indexName}
      operations:
      - name: getsearchindex
        method: GET
        description: Get a search index definition
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createorupdatesearchindex
        method: PUT
        description: Create or update a search index
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletesearchindex
        method: DELETE
        description: Delete a search index
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-index-indexName-ingestControl-operation
      path: /api/index/{indexName}/ingestControl/{operation}
      operations:
      - name: controlsearchindexingest
        method: POST
        description: Control search index data ingestion
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: operation
          in: path
          type: string
          description: The ingestion control operation to perform
          required: true
    - name: api-index-indexName-planFreezeControl-operation
      path: /api/index/{indexName}/planFreezeControl/{operation}
      operations:
      - name: controlsearchindexplanfreeze
        method: POST
        description: Control search index plan freeze
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: operation
          in: path
          type: string
          description: The plan freeze control operation
          required: true
    - name: api-index-indexName-queryControl-operation
      path: /api/index/{indexName}/queryControl/{operation}
      operations:
      - name: controlsearchindexquery
        method: POST
        description: Control search index query access
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: operation
          in: path
          type: string
          description: The query control operation to perform
          required: true
    authentication:
      type: basic
      username: '{{env.COUCHBASE_USER}}'
      password: '{{env.COUCHBASE_PASS}}'
  exposes:
  - type: rest
    namespace: search-service-rest-search-indexes-rest
    port: 8080
    description: REST adapter for Couchbase Search Service REST API — Search Indexes. One Spectral-compliant resource per
      consumed operation, prefixed with /v1.
    resources:
    - path: /v1/api/index
      name: api-index
      description: REST surface for api-index.
      operations:
      - method: GET
        name: listsearchindexes
        description: List all search index definitions
        call: search-service-rest-search-indexes.listsearchindexes
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/index/{indexname}
      name: api-index-indexname
      description: REST surface for api-index-indexName.
      operations:
      - method: GET
        name: getsearchindex
        description: Get a search index definition
        call: search-service-rest-search-indexes.getsearchindex
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: createorupdatesearchindex
        description: Create or update a search index
        call: search-service-rest-search-indexes.createorupdatesearchindex
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletesearchindex
        description: Delete a search index
        call: search-service-rest-search-indexes.deletesearchindex
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/index/{indexname}/ingestcontrol/{operation}
      name: api-index-indexname-ingestcontrol-operation
      description: REST surface for api-index-indexName-ingestControl-operation.
      operations:
      - method: POST
        name: controlsearchindexingest
        description: Control search index data ingestion
        call: search-service-rest-search-indexes.controlsearchindexingest
        with:
          operation: rest.operation
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/index/{indexname}/planfreezecontrol/{operation}
      name: api-index-indexname-planfreezecontrol-operation
      description: REST surface for api-index-indexName-planFreezeControl-operation.
      operations:
      - method: POST
        name: controlsearchindexplanfreeze
        description: Control search index plan freeze
        call: search-service-rest-search-indexes.controlsearchindexplanfreeze
        with:
          operation: rest.operation
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/index/{indexname}/querycontrol/{operation}
      name: api-index-indexname-querycontrol-operation
      description: REST surface for api-index-indexName-queryControl-operation.
      operations:
      - method: POST
        name: controlsearchindexquery
        description: Control search index query access
        call: search-service-rest-search-indexes.controlsearchindexquery
        with:
          operation: rest.operation
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: search-service-rest-search-indexes-mcp
    port: 9090
    transport: http
    description: MCP adapter for Couchbase Search Service REST API — Search Indexes. One tool per consumed operation, routed
      inline through this capability's consumes block.
    tools:
    - name: list-all-search-index-definitions
      description: List all search index definitions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: search-service-rest-search-indexes.listsearchindexes
      outputParameters:
      - type: object
        mapping: $.
    - name: get-search-index-definition
      description: Get a search index definition
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: search-service-rest-search-indexes.getsearchindex
      outputParameters:
      - type: object
        mapping: $.
    - name: create-update-search-index
      description: Create or update a search index
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: search-service-rest-search-indexes.createorupdatesearchindex
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-search-index
      description: Delete a search index
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: search-service-rest-search-indexes.deletesearchindex
      outputParameters:
      - type: object
        mapping: $.
    - name: control-search-index-data-ingestion
      description: Control search index data ingestion
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: search-service-rest-search-indexes.controlsearchindexingest
      with:
        operation: tools.operation
      outputParameters:
      - type: object
        mapping: $.
    - name: control-search-index-plan-freeze
      description: Control search index plan freeze
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: search-service-rest-search-indexes.controlsearchindexplanfreeze
      with:
        operation: tools.operation
      outputParameters:
      - type: object
        mapping: $.
    - name: control-search-index-query-access
      description: Control search index query access
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: search-service-rest-search-indexes.controlsearchindexquery
      with:
        operation: tools.operation
      outputParameters:
      - type: object
        mapping: $.