naftiko: 1.0.0-alpha2 info: label: Coveo Search API — Statements V1 description: 'Coveo Search API — Statements V1. 11 operations. Lead operation: List Query Pipeline Statements. Self-contained Naftiko capability covering one Coveo business surface.' tags: - Coveo - Search - Statements V1 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-v1 baseUri: https://platform.cloud.coveo.com description: Coveo Search API — Statements V1 business capability. Self-contained, no shared references. authentication: type: bearer token: '{{env.COVEO_SEARCH_TOKEN}}' resources: - name: rest-search-v1-admin-pipelines-pipelineId-statements path: /rest/search/v1/admin/pipelines/{pipelineId}/statements operations: - name: listquerypipelinestatements method: GET description: List Query Pipeline Statements outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createquerypipelinestatement 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-v1-admin-pipelines-pipelineId-statements-bulkGet path: /rest/search/v1/admin/pipelines/{pipelineId}/statements/bulkGet operations: - name: bulkgetstatementsoperationv1 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-v1-admin-pipelines-pipelineId-statements-copy path: /rest/search/v1/admin/pipelines/{pipelineId}/statements/copy operations: - name: v1copyquerypipelinestatements 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-v1-admin-pipelines-pipelineId-statements-export path: /rest/search/v1/admin/pipelines/{pipelineId}/statements/export operations: - name: v1exportquerypipelinestatements method: GET description: Export Query Pipeline Statements outputRawFormat: json outputParameters: - name: result type: object value: $. - name: rest-search-v1-admin-pipelines-pipelineId-statements-validate path: /rest/search/v1/admin/pipelines/{pipelineId}/statements/validate operations: - name: validatestatementoperationv1 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-v1-admin-pipelines-pipelineId-statements-validate-batch path: /rest/search/v1/admin/pipelines/{pipelineId}/statements/validate/batch operations: - name: validatestatementsoperationsv1 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-v1-admin-pipelines-pipelineId-statements-statementId path: /rest/search/v1/admin/pipelines/{pipelineId}/statements/{statementId} operations: - name: getquerypipelinestatement method: GET description: Get Query Pipeline Statement outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatequerypipelinestatementv1 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: deletequerypipelinestatement method: DELETE description: Delete Query Pipeline Statement outputRawFormat: json outputParameters: - name: result type: object value: $. - name: rest-search-v1-admin-pipelines-pipelineId-statements-statementId-move path: /rest/search/v1/admin/pipelines/{pipelineId}/statements/{statementId}/move operations: - name: movequerypipelinestatement 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-v1-rest port: 8080 description: REST adapter for Coveo Search API — Statements V1. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/search/v1/admin/pipelines/{pipelineid}/statements name: rest-search-v1-admin-pipelines-pipelineid-statements description: REST surface for rest-search-v1-admin-pipelines-pipelineId-statements. operations: - method: GET name: listquerypipelinestatements description: List Query Pipeline Statements call: search-statements-v1.listquerypipelinestatements outputParameters: - type: object mapping: $. - method: POST name: createquerypipelinestatement description: Create Query Pipeline Statement call: search-statements-v1.createquerypipelinestatement with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v1/admin/pipelines/{pipelineid}/statements/bulkget name: rest-search-v1-admin-pipelines-pipelineid-statements-bulkget description: REST surface for rest-search-v1-admin-pipelines-pipelineId-statements-bulkGet. operations: - method: POST name: bulkgetstatementsoperationv1 description: List Query Pipeline Statements call: search-statements-v1.bulkgetstatementsoperationv1 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v1/admin/pipelines/{pipelineid}/statements/copy name: rest-search-v1-admin-pipelines-pipelineid-statements-copy description: REST surface for rest-search-v1-admin-pipelines-pipelineId-statements-copy. operations: - method: POST name: v1copyquerypipelinestatements description: Copy Query Pipeline Statements call: search-statements-v1.v1copyquerypipelinestatements with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v1/admin/pipelines/{pipelineid}/statements/export name: rest-search-v1-admin-pipelines-pipelineid-statements-export description: REST surface for rest-search-v1-admin-pipelines-pipelineId-statements-export. operations: - method: GET name: v1exportquerypipelinestatements description: Export Query Pipeline Statements call: search-statements-v1.v1exportquerypipelinestatements outputParameters: - type: object mapping: $. - path: /v1/search/v1/admin/pipelines/{pipelineid}/statements/validate name: rest-search-v1-admin-pipelines-pipelineid-statements-validate description: REST surface for rest-search-v1-admin-pipelines-pipelineId-statements-validate. operations: - method: POST name: validatestatementoperationv1 description: Validate a Single Statement Operation. call: search-statements-v1.validatestatementoperationv1 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v1/admin/pipelines/{pipelineid}/statements/validate/batch name: rest-search-v1-admin-pipelines-pipelineid-statements-validate-batch description: REST surface for rest-search-v1-admin-pipelines-pipelineId-statements-validate-batch. operations: - method: POST name: validatestatementsoperationsv1 description: Validate a Batch of Statement Operations. call: search-statements-v1.validatestatementsoperationsv1 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v1/admin/pipelines/{pipelineid}/statements/{statementid} name: rest-search-v1-admin-pipelines-pipelineid-statements-statementid description: REST surface for rest-search-v1-admin-pipelines-pipelineId-statements-statementId. operations: - method: GET name: getquerypipelinestatement description: Get Query Pipeline Statement call: search-statements-v1.getquerypipelinestatement outputParameters: - type: object mapping: $. - method: PUT name: updatequerypipelinestatementv1 description: Update Query Pipeline Statement call: search-statements-v1.updatequerypipelinestatementv1 with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletequerypipelinestatement description: Delete Query Pipeline Statement call: search-statements-v1.deletequerypipelinestatement outputParameters: - type: object mapping: $. - path: /v1/search/v1/admin/pipelines/{pipelineid}/statements/{statementid}/move name: rest-search-v1-admin-pipelines-pipelineid-statements-statementid-move description: REST surface for rest-search-v1-admin-pipelines-pipelineId-statements-statementId-move. operations: - method: PUT name: movequerypipelinestatement description: Move Query Pipeline Statement call: search-statements-v1.movequerypipelinestatement with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: search-statements-v1-mcp port: 9090 transport: http description: MCP adapter for Coveo Search API — Statements V1. 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-v1.listquerypipelinestatements outputParameters: - type: object mapping: $. - name: create-query-pipeline-statement description: Create Query Pipeline Statement hints: readOnly: true destructive: false idempotent: false call: search-statements-v1.createquerypipelinestatement 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-v1.bulkgetstatementsoperationv1 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-v1.v1copyquerypipelinestatements 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-v1.v1exportquerypipelinestatements 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-v1.validatestatementoperationv1 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-v1.validatestatementsoperationsv1 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-v1.getquerypipelinestatement outputParameters: - type: object mapping: $. - name: update-query-pipeline-statement description: Update Query Pipeline Statement hints: readOnly: false destructive: false idempotent: true call: search-statements-v1.updatequerypipelinestatementv1 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-v1.deletequerypipelinestatement outputParameters: - type: object mapping: $. - name: move-query-pipeline-statement description: Move Query Pipeline Statement hints: readOnly: false destructive: false idempotent: true call: search-statements-v1.movequerypipelinestatement with: body: tools.body outputParameters: - type: object mapping: $.