naftiko: 1.0.0-alpha2 info: label: Coveo Search API — Statements V2 description: 'Coveo Search API — Statements V2. 13 operations. Lead operation: List Query Pipeline Statements. Self-contained Naftiko capability covering one Coveo business surface.' tags: - Coveo - Search - Statements V2 created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: COVEO_SEARCH_TOKEN: COVEO_SEARCH_TOKEN capability: consumes: - type: http namespace: search-statements-v2 baseUri: https://platform.cloud.coveo.com description: Coveo Search API — Statements V2 business capability. Self-contained, no shared references. authentication: type: bearer token: '{{env.COVEO_SEARCH_TOKEN}}' resources: - name: rest-search-v2-admin-pipelines-pipelineId-statements path: /rest/search/v2/admin/pipelines/{pipelineId}/statements operations: - name: listquerypipelinestatementsv2 method: GET description: List Query Pipeline Statements outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createquerypipelinestatementv2 method: POST description: Create Query Pipeline Statement outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: rest-search-v2-admin-pipelines-pipelineId-statements-bulkDelete path: /rest/search/v2/admin/pipelines/{pipelineId}/statements/bulkDelete operations: - name: bulkdeletestatements method: POST description: Bulk Delete Query Pipeline Statements outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: rest-search-v2-admin-pipelines-pipelineId-statements-bulkGet path: /rest/search/v2/admin/pipelines/{pipelineId}/statements/bulkGet operations: - name: bulkgetstatementsoperationv2 method: POST description: List Query Pipeline Statements outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: rest-search-v2-admin-pipelines-pipelineId-statements-copy path: /rest/search/v2/admin/pipelines/{pipelineId}/statements/copy operations: - name: copyquerypipelinestatements method: POST description: Copy Query Pipeline Statements outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: rest-search-v2-admin-pipelines-pipelineId-statements-export path: /rest/search/v2/admin/pipelines/{pipelineId}/statements/export operations: - name: exportquerypipelinestatements method: GET description: Export Query Pipeline Statements outputRawFormat: json outputParameters: - name: result type: object value: $. - name: rest-search-v2-admin-pipelines-pipelineId-statements-import path: /rest/search/v2/admin/pipelines/{pipelineId}/statements/import operations: - name: importquerypipelinestatementsv2 method: POST description: Import Query Pipeline Statements outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: rest-search-v2-admin-pipelines-pipelineId-statements-validate path: /rest/search/v2/admin/pipelines/{pipelineId}/statements/validate operations: - name: validatestatementoperationv2 method: POST description: Validate a Single Statement Operation. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: rest-search-v2-admin-pipelines-pipelineId-statements-validate-batch path: /rest/search/v2/admin/pipelines/{pipelineId}/statements/validate/batch operations: - name: validatestatementsoperationsv2 method: POST description: Validate a Batch of Statement Operations. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: rest-search-v2-admin-pipelines-pipelineId-statements-statementId path: /rest/search/v2/admin/pipelines/{pipelineId}/statements/{statementId} operations: - name: getquerypipelinestatementv2 method: GET description: Get Query Pipeline Statement outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatequerypipelinestatement method: PUT description: Update Query Pipeline Statement outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletequerypipelinestatementv2 method: DELETE description: Delete Query Pipeline Statement outputRawFormat: json outputParameters: - name: result type: object value: $. - name: rest-search-v2-admin-pipelines-pipelineId-statements-statementId-move path: /rest/search/v2/admin/pipelines/{pipelineId}/statements/{statementId}/move operations: - name: movequerypipelinestatementv2 method: PUT description: Move Query Pipeline Statement 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-statements-v2-rest port: 8080 description: REST adapter for Coveo Search API — Statements V2. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/search/v2/admin/pipelines/{pipelineid}/statements name: rest-search-v2-admin-pipelines-pipelineid-statements description: REST surface for rest-search-v2-admin-pipelines-pipelineId-statements. operations: - method: GET name: listquerypipelinestatementsv2 description: List Query Pipeline Statements call: search-statements-v2.listquerypipelinestatementsv2 outputParameters: - type: object mapping: $. - method: POST name: createquerypipelinestatementv2 description: Create Query Pipeline Statement call: search-statements-v2.createquerypipelinestatementv2 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/statements/bulkdelete name: rest-search-v2-admin-pipelines-pipelineid-statements-bulkdelete description: REST surface for rest-search-v2-admin-pipelines-pipelineId-statements-bulkDelete. operations: - method: POST name: bulkdeletestatements description: Bulk Delete Query Pipeline Statements call: search-statements-v2.bulkdeletestatements with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/statements/bulkget name: rest-search-v2-admin-pipelines-pipelineid-statements-bulkget description: REST surface for rest-search-v2-admin-pipelines-pipelineId-statements-bulkGet. operations: - method: POST name: bulkgetstatementsoperationv2 description: List Query Pipeline Statements call: search-statements-v2.bulkgetstatementsoperationv2 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/statements/copy name: rest-search-v2-admin-pipelines-pipelineid-statements-copy description: REST surface for rest-search-v2-admin-pipelines-pipelineId-statements-copy. operations: - method: POST name: copyquerypipelinestatements description: Copy Query Pipeline Statements call: search-statements-v2.copyquerypipelinestatements with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/statements/export name: rest-search-v2-admin-pipelines-pipelineid-statements-export description: REST surface for rest-search-v2-admin-pipelines-pipelineId-statements-export. operations: - method: GET name: exportquerypipelinestatements description: Export Query Pipeline Statements call: search-statements-v2.exportquerypipelinestatements outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/statements/import name: rest-search-v2-admin-pipelines-pipelineid-statements-import description: REST surface for rest-search-v2-admin-pipelines-pipelineId-statements-import. operations: - method: POST name: importquerypipelinestatementsv2 description: Import Query Pipeline Statements call: search-statements-v2.importquerypipelinestatementsv2 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/statements/validate name: rest-search-v2-admin-pipelines-pipelineid-statements-validate description: REST surface for rest-search-v2-admin-pipelines-pipelineId-statements-validate. operations: - method: POST name: validatestatementoperationv2 description: Validate a Single Statement Operation. call: search-statements-v2.validatestatementoperationv2 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/statements/validate/batch name: rest-search-v2-admin-pipelines-pipelineid-statements-validate-batch description: REST surface for rest-search-v2-admin-pipelines-pipelineId-statements-validate-batch. operations: - method: POST name: validatestatementsoperationsv2 description: Validate a Batch of Statement Operations. call: search-statements-v2.validatestatementsoperationsv2 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/statements/{statementid} name: rest-search-v2-admin-pipelines-pipelineid-statements-statementid description: REST surface for rest-search-v2-admin-pipelines-pipelineId-statements-statementId. operations: - method: GET name: getquerypipelinestatementv2 description: Get Query Pipeline Statement call: search-statements-v2.getquerypipelinestatementv2 outputParameters: - type: object mapping: $. - method: PUT name: updatequerypipelinestatement description: Update Query Pipeline Statement call: search-statements-v2.updatequerypipelinestatement with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletequerypipelinestatementv2 description: Delete Query Pipeline Statement call: search-statements-v2.deletequerypipelinestatementv2 outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/statements/{statementid}/move name: rest-search-v2-admin-pipelines-pipelineid-statements-statementid-move description: REST surface for rest-search-v2-admin-pipelines-pipelineId-statements-statementId-move. operations: - method: PUT name: movequerypipelinestatementv2 description: Move Query Pipeline Statement call: search-statements-v2.movequerypipelinestatementv2 with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: search-statements-v2-mcp port: 9090 transport: http description: MCP adapter for Coveo Search API — Statements V2. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-query-pipeline-statements description: List Query Pipeline Statements hints: readOnly: true destructive: false idempotent: true call: search-statements-v2.listquerypipelinestatementsv2 outputParameters: - type: object mapping: $. - name: create-query-pipeline-statement description: Create Query Pipeline Statement hints: readOnly: true destructive: false idempotent: false call: search-statements-v2.createquerypipelinestatementv2 with: body: tools.body outputParameters: - type: object mapping: $. - name: bulk-delete-query-pipeline-statements description: Bulk Delete Query Pipeline Statements hints: readOnly: true destructive: false idempotent: false call: search-statements-v2.bulkdeletestatements with: body: tools.body outputParameters: - type: object mapping: $. - name: list-query-pipeline-statements-2 description: List Query Pipeline Statements hints: readOnly: true destructive: false idempotent: false call: search-statements-v2.bulkgetstatementsoperationv2 with: body: tools.body outputParameters: - type: object mapping: $. - name: copy-query-pipeline-statements description: Copy Query Pipeline Statements hints: readOnly: true destructive: false idempotent: false call: search-statements-v2.copyquerypipelinestatements with: body: tools.body outputParameters: - type: object mapping: $. - name: export-query-pipeline-statements description: Export Query Pipeline Statements hints: readOnly: true destructive: false idempotent: true call: search-statements-v2.exportquerypipelinestatements outputParameters: - type: object mapping: $. - name: import-query-pipeline-statements description: Import Query Pipeline Statements hints: readOnly: true destructive: false idempotent: false call: search-statements-v2.importquerypipelinestatementsv2 with: body: tools.body outputParameters: - type: object mapping: $. - name: validate-single-statement-operation description: Validate a Single Statement Operation. hints: readOnly: true destructive: false idempotent: false call: search-statements-v2.validatestatementoperationv2 with: body: tools.body outputParameters: - type: object mapping: $. - name: validate-batch-statement-operations description: Validate a Batch of Statement Operations. hints: readOnly: true destructive: false idempotent: false call: search-statements-v2.validatestatementsoperationsv2 with: body: tools.body outputParameters: - type: object mapping: $. - name: get-query-pipeline-statement description: Get Query Pipeline Statement hints: readOnly: true destructive: false idempotent: true call: search-statements-v2.getquerypipelinestatementv2 outputParameters: - type: object mapping: $. - name: update-query-pipeline-statement description: Update Query Pipeline Statement hints: readOnly: false destructive: false idempotent: true call: search-statements-v2.updatequerypipelinestatement with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-query-pipeline-statement description: Delete Query Pipeline Statement hints: readOnly: false destructive: true idempotent: true call: search-statements-v2.deletequerypipelinestatementv2 outputParameters: - type: object mapping: $. - name: move-query-pipeline-statement description: Move Query Pipeline Statement hints: readOnly: false destructive: false idempotent: true call: search-statements-v2.movequerypipelinestatementv2 with: body: tools.body outputParameters: - type: object mapping: $.