naftiko: 1.0.0-alpha2 info: label: Coveo Search API — Result rankings description: 'Coveo Search API — Result rankings. 11 operations. Lead operation: Get a List of Result Ranking Rules. Self-contained Naftiko capability covering one Coveo business surface.' tags: - Coveo - Search - Result rankings created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: COVEO_SEARCH_TOKEN: COVEO_SEARCH_TOKEN capability: consumes: - type: http namespace: search-result-rankings baseUri: https://platform.cloud.coveo.com description: Coveo Search API — Result rankings business capability. Self-contained, no shared references. authentication: type: bearer token: '{{env.COVEO_SEARCH_TOKEN}}' resources: - name: rest-search-v2-admin-pipelines-pipelineId-resultRankings path: /rest/search/v2/admin/pipelines/{pipelineId}/resultRankings operations: - name: listresultrankingrules method: GET description: Get a List of Result Ranking Rules outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: kind in: query type: string description: The kind of result ranking rules to allow in the returned list (i.e., `featured_result` or `ranking_expression`). - name: enabledStatus in: query type: boolean description: The enabled status of result ranking rules to allow in the returned list. - name: statementGroupId in: query type: string description: The unique identifier of the statement group. - name: ruleStatuses in: query type: array description: 'The rule status to allow in the results. Available statuses are: "active", "inactive".' - name: ruleTypes in: query type: array description: The rule types to allow in the results. Available types are "featuredResults", "rankingExpressions". - name: associatedGroups in: query type: array description: The group names to allow in the results. Include the `null` value in the array to allow rules that are not associated with any groups (e.g., `[null, "mygroup"]` - name: expand in: query type: array description: The related resources to expand in the response. - name: createresultrankingrule method: POST description: Create a New Result Ranking Rule 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-resultRankings-bulkDelete path: /rest/search/v2/admin/pipelines/{pipelineId}/resultRankings/bulkDelete operations: - name: bulkdeleterankingrules method: POST description: Bulk Delete Result Rankings Rules from a Pipeline 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-resultRankings-bulkGet path: /rest/search/v2/admin/pipelines/{pipelineId}/resultRankings/bulkGet operations: - name: bulkgetresultrankingoperation method: POST description: Bulk Get Result Ranking Rules outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: kind in: query type: string description: The kind of result ranking rules to allow in the returned list (i.e., `featured_result` or `ranking_expression`). - name: enabledStatus in: query type: boolean description: The enabled status of result ranking rules to allow in the returned list. - name: statementGroupId in: query type: string description: The unique identifier of the statement group. - name: body in: body type: object description: Request body (JSON). required: true - name: rest-search-v2-admin-pipelines-pipelineId-resultRankings-copy path: /rest/search/v2/admin/pipelines/{pipelineId}/resultRankings/copy operations: - name: copyresultrankingrule method: POST description: Copy Result Rankings Rules to a Pipeline. 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-resultRankings-duplicate-resultRanking path: /rest/search/v2/admin/pipelines/{pipelineId}/resultRankings/duplicate/{resultRankingId} operations: - name: duplicateresultrankingrule method: POST description: Duplicate a Result Ranking Rule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resultRankingId in: path type: string description: The unique identifier of the result ranking. required: true - name: rest-search-v2-admin-pipelines-pipelineId-resultRankings-validate path: /rest/search/v2/admin/pipelines/{pipelineId}/resultRankings/validate operations: - name: validateresultrankingoperation method: POST description: Validate a Single Result Ranking 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-resultRankings-validate-batch path: /rest/search/v2/admin/pipelines/{pipelineId}/resultRankings/validate/batch operations: - name: validateresultrankingoperations method: POST description: Validate a Batch of Result Ranking 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-resultRankings-resultRankingId path: /rest/search/v2/admin/pipelines/{pipelineId}/resultRankings/{resultRankingId} operations: - name: getresultrankingrule method: GET description: Get a Result Ranking Rule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resultRankingId in: path type: string description: The unique identifier of the result ranking. required: true - name: updateresultrankingrule method: PUT description: Update a Result Ranking Rule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resultRankingId in: path type: string description: The unique identifier of the result ranking. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteresultrankingrule method: DELETE description: Delete a Result Ranking Rule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resultRankingId in: path type: string description: The unique identifier of the result ranking. required: true exposes: - type: rest namespace: search-result-rankings-rest port: 8080 description: REST adapter for Coveo Search API — Result rankings. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/search/v2/admin/pipelines/{pipelineid}/resultrankings name: rest-search-v2-admin-pipelines-pipelineid-resultrankings description: REST surface for rest-search-v2-admin-pipelines-pipelineId-resultRankings. operations: - method: GET name: listresultrankingrules description: Get a List of Result Ranking Rules call: search-result-rankings.listresultrankingrules with: kind: rest.kind enabledStatus: rest.enabledStatus statementGroupId: rest.statementGroupId ruleStatuses: rest.ruleStatuses ruleTypes: rest.ruleTypes associatedGroups: rest.associatedGroups expand: rest.expand outputParameters: - type: object mapping: $. - method: POST name: createresultrankingrule description: Create a New Result Ranking Rule call: search-result-rankings.createresultrankingrule with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/resultrankings/bulkdelete name: rest-search-v2-admin-pipelines-pipelineid-resultrankings-bulkdelete description: REST surface for rest-search-v2-admin-pipelines-pipelineId-resultRankings-bulkDelete. operations: - method: POST name: bulkdeleterankingrules description: Bulk Delete Result Rankings Rules from a Pipeline call: search-result-rankings.bulkdeleterankingrules with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/resultrankings/bulkget name: rest-search-v2-admin-pipelines-pipelineid-resultrankings-bulkget description: REST surface for rest-search-v2-admin-pipelines-pipelineId-resultRankings-bulkGet. operations: - method: POST name: bulkgetresultrankingoperation description: Bulk Get Result Ranking Rules call: search-result-rankings.bulkgetresultrankingoperation with: kind: rest.kind enabledStatus: rest.enabledStatus statementGroupId: rest.statementGroupId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/resultrankings/copy name: rest-search-v2-admin-pipelines-pipelineid-resultrankings-copy description: REST surface for rest-search-v2-admin-pipelines-pipelineId-resultRankings-copy. operations: - method: POST name: copyresultrankingrule description: Copy Result Rankings Rules to a Pipeline. call: search-result-rankings.copyresultrankingrule with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/resultrankings/duplicate/{resultrankingid} name: rest-search-v2-admin-pipelines-pipelineid-resultrankings-duplicate-resultranking description: REST surface for rest-search-v2-admin-pipelines-pipelineId-resultRankings-duplicate-resultRanking. operations: - method: POST name: duplicateresultrankingrule description: Duplicate a Result Ranking Rule call: search-result-rankings.duplicateresultrankingrule with: resultRankingId: rest.resultRankingId outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/resultrankings/validate name: rest-search-v2-admin-pipelines-pipelineid-resultrankings-validate description: REST surface for rest-search-v2-admin-pipelines-pipelineId-resultRankings-validate. operations: - method: POST name: validateresultrankingoperation description: Validate a Single Result Ranking Operation. call: search-result-rankings.validateresultrankingoperation with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/resultrankings/validate/batch name: rest-search-v2-admin-pipelines-pipelineid-resultrankings-validate-batch description: REST surface for rest-search-v2-admin-pipelines-pipelineId-resultRankings-validate-batch. operations: - method: POST name: validateresultrankingoperations description: Validate a Batch of Result Ranking Operations. call: search-result-rankings.validateresultrankingoperations with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/search/v2/admin/pipelines/{pipelineid}/resultrankings/{resultrankingid} name: rest-search-v2-admin-pipelines-pipelineid-resultrankings-resultrankingid description: REST surface for rest-search-v2-admin-pipelines-pipelineId-resultRankings-resultRankingId. operations: - method: GET name: getresultrankingrule description: Get a Result Ranking Rule call: search-result-rankings.getresultrankingrule with: resultRankingId: rest.resultRankingId outputParameters: - type: object mapping: $. - method: PUT name: updateresultrankingrule description: Update a Result Ranking Rule call: search-result-rankings.updateresultrankingrule with: resultRankingId: rest.resultRankingId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteresultrankingrule description: Delete a Result Ranking Rule call: search-result-rankings.deleteresultrankingrule with: resultRankingId: rest.resultRankingId outputParameters: - type: object mapping: $. - type: mcp namespace: search-result-rankings-mcp port: 9090 transport: http description: MCP adapter for Coveo Search API — Result rankings. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-list-result-ranking-rules description: Get a List of Result Ranking Rules hints: readOnly: true destructive: false idempotent: true call: search-result-rankings.listresultrankingrules with: kind: tools.kind enabledStatus: tools.enabledStatus statementGroupId: tools.statementGroupId ruleStatuses: tools.ruleStatuses ruleTypes: tools.ruleTypes associatedGroups: tools.associatedGroups expand: tools.expand outputParameters: - type: object mapping: $. - name: create-new-result-ranking-rule description: Create a New Result Ranking Rule hints: readOnly: false destructive: false idempotent: false call: search-result-rankings.createresultrankingrule with: body: tools.body outputParameters: - type: object mapping: $. - name: bulk-delete-result-rankings-rules description: Bulk Delete Result Rankings Rules from a Pipeline hints: readOnly: false destructive: false idempotent: false call: search-result-rankings.bulkdeleterankingrules with: body: tools.body outputParameters: - type: object mapping: $. - name: bulk-get-result-ranking-rules description: Bulk Get Result Ranking Rules hints: readOnly: true destructive: false idempotent: false call: search-result-rankings.bulkgetresultrankingoperation with: kind: tools.kind enabledStatus: tools.enabledStatus statementGroupId: tools.statementGroupId body: tools.body outputParameters: - type: object mapping: $. - name: copy-result-rankings-rules-pipeline description: Copy Result Rankings Rules to a Pipeline. hints: readOnly: false destructive: false idempotent: false call: search-result-rankings.copyresultrankingrule with: body: tools.body outputParameters: - type: object mapping: $. - name: duplicate-result-ranking-rule description: Duplicate a Result Ranking Rule hints: readOnly: false destructive: false idempotent: false call: search-result-rankings.duplicateresultrankingrule with: resultRankingId: tools.resultRankingId outputParameters: - type: object mapping: $. - name: validate-single-result-ranking-operation description: Validate a Single Result Ranking Operation. hints: readOnly: true destructive: false idempotent: false call: search-result-rankings.validateresultrankingoperation with: body: tools.body outputParameters: - type: object mapping: $. - name: validate-batch-result-ranking-operations description: Validate a Batch of Result Ranking Operations. hints: readOnly: true destructive: false idempotent: false call: search-result-rankings.validateresultrankingoperations with: body: tools.body outputParameters: - type: object mapping: $. - name: get-result-ranking-rule description: Get a Result Ranking Rule hints: readOnly: true destructive: false idempotent: true call: search-result-rankings.getresultrankingrule with: resultRankingId: tools.resultRankingId outputParameters: - type: object mapping: $. - name: update-result-ranking-rule description: Update a Result Ranking Rule hints: readOnly: false destructive: false idempotent: true call: search-result-rankings.updateresultrankingrule with: resultRankingId: tools.resultRankingId body: tools.body outputParameters: - type: object mapping: $. - name: delete-result-ranking-rule description: Delete a Result Ranking Rule hints: readOnly: false destructive: true idempotent: true call: search-result-rankings.deleteresultrankingrule with: resultRankingId: tools.resultRankingId outputParameters: - type: object mapping: $.