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: $.