naftiko: 1.0.0-alpha2 info: label: Coveo Search Pages API — Search Pages description: 'Coveo Search Pages API — Search Pages. 17 operations. Lead operation: List Search Pages. Self-contained Naftiko capability covering one Coveo business surface.' tags: - Coveo - Search Pages - Search Pages created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: COVEO_SEARCH_TOKEN: COVEO_SEARCH_TOKEN capability: consumes: - type: http namespace: search-pages-search-pages baseUri: https://platform.cloud.coveo.com description: Coveo Search Pages API — Search Pages business capability. Self-contained, no shared references. authentication: type: bearer token: '{{env.COVEO_SEARCH_TOKEN}}' resources: - name: rest-organizations-organizationID-pages path: /rest/organizations/{organizationID}/pages operations: - name: get method: GET description: List Search Pages outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: name in: query type: string description: The _name_ metadata value of a specific search page to retrieve (e.g., _mysearchpage_). - name: post method: POST description: Create Search Page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: payload in: body type: string description: The new page metadata. required: true - name: rest-organizations-organizationID-pages-ids path: /rest/organizations/{organizationID}/pages/ids operations: - name: post method: POST description: List Search Pages by Ids outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: payload in: body type: array description: The list of ids required: true - name: rest-organizations-organizationID-pages-project-id path: /rest/organizations/{organizationID}/pages/project/id operations: - name: get method: GET description: List Pages by Project ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: projectid in: query type: string description: The _projectid_ of the pages. - name: rest-organizations-organizationID-pages-pageID path: /rest/organizations/{organizationID}/pages/{pageID} operations: - name: get method: GET description: Get Search Page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: pageID in: path type: string description: The unique identifier of the search page to retrieve (e.g., '12b627f9-e3aa-49db-a0f5-5c0c1392e59e'). required: true - name: put method: PUT description: Update Search Page Metadata outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: pageID in: path type: string description: The unique identifier of the search page to delete (e.g., '12b627f9-e3aa-49db-a0f5-5c0c1392e59e'). required: true - name: payload in: body type: string description: The updated search page metadata. required: true - name: delete method: DELETE description: Delete a Search Page or in-App Widget outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: pageID in: path type: string description: The unique identifier of the search page to delete (e.g., '12b627f9-e3aa-49db-a0f5-5c0c1392e59e'). required: true - name: rest-organizations-organizationID-pages-pageID-header path: /rest/organizations/{organizationID}/pages/{pageID}/header operations: - name: get method: GET description: Get Search Page Header outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: pageID in: path type: string description: The unique identifier of the search page to view (e.g., '12b627f9-e3aa-49db-a0f5-5c0c1392e59e'). required: true - name: put method: PUT description: Reorder Resources in Search Page Header outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: pageID in: path type: string description: The unique identifier of the search page (e.g., '12b627f9-e3aa-49db-a0f5-5c0c1392e59e'). required: true - name: payload in: body type: string description: The reordered resources. required: true - name: rest-organizations-organizationID-pages-pageID-header-css path: /rest/organizations/{organizationID}/pages/{pageID}/header/css operations: - name: post method: POST description: Create CSS Resource in a Search Page Header outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: pageID in: path type: string description: The unique identifier of the search page (e.g., '12b627f9-e3aa-49db-a0f5-5c0c1392e59e'). required: true - name: payload in: body type: string description: The CSS resource to append. required: true - name: rest-organizations-organizationID-pages-pageID-header-css-resourceName path: /rest/organizations/{organizationID}/pages/{pageID}/header/css/{resourceName} operations: - name: put method: PUT description: Update CSS Resource in Search Page Header. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: pageID in: path type: string description: The unique identifier of the search page (e.g., '12b627f9-e3aa-49db-a0f5-5c0c1392e59e'). required: true - name: resourceName in: path type: string description: The name identifier of the CSS resource (e.g., 'myresource'). required: true - name: payload in: body type: string description: The updated CSS resource. required: true - name: delete method: DELETE description: Delete CSS Resource in Search Page Header. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: pageID in: path type: string description: The unique identifier of the search page (e.g., '12b627f9-e3aa-49db-a0f5-5c0c1392e59e'). required: true - name: resourceName in: path type: string description: The name identifier of the CSS resource (e.g., 'myresource'). required: true - name: rest-organizations-organizationID-pages-pageID-header-javascript path: /rest/organizations/{organizationID}/pages/{pageID}/header/javascript operations: - name: post method: POST description: Append JavaScript Resource to Search Page Header. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: pageID in: path type: string description: The unique identifier of the search page (e.g., '12b627f9-e3aa-49db-a0f5-5c0c1392e59e'). required: true - name: payload in: body type: string description: The JavaScript resource to append. required: true - name: rest-organizations-organizationID-pages-pageID-header-javascript-resourceName path: /rest/organizations/{organizationID}/pages/{pageID}/header/javascript/{resourceName} operations: - name: put method: PUT description: Update JavaScript Resource in Search Page Header. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: pageID in: path type: string description: The unique identifier of the search page (e.g., '12b627f9-e3aa-49db-a0f5-5c0c1392e59e'). required: true - name: resourceName in: path type: string description: The name identifier of the JavaScript resource (e.g., 'myresource'). required: true - name: payload in: body type: string description: The updated JavaScript resource. required: true - name: delete method: DELETE description: Delete JavaScript Resource in Search Page Header. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: pageID in: path type: string description: The unique identifier of the search page (e.g., '12b627f9-e3aa-49db-a0f5-5c0c1392e59e'). required: true - name: resourceName in: path type: string description: The name identifier of the JavaScript resource (e.g., 'myresource'). required: true - name: rest-organizations-organizationID-pages-pageID-searchui path: /rest/organizations/{organizationID}/pages/{pageID}/searchui operations: - name: get method: GET description: Get Search Page JavaScript Search Framework Information outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: pageID in: path type: string description: The unique identifier of the search page to delete (e.g., '12b627f9-e3aa-49db-a0f5-5c0c1392e59e'). required: true - name: put method: PUT description: Change the JavaScript Search Framework Resources outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationID in: path type: string description: The unique identifier of the target Coveo Cloud [organization](https://docs.coveo.com/en/185) (e.g., 'mycoveocloudv2organizationg8tp8wu3'). required: true - name: pageID in: path type: string description: The unique identifier of the search page to delete (e.g., '12b627f9-e3aa-49db-a0f5-5c0c1392e59e'). required: true - name: major in: query type: string description: The major version identifier of the JavaScript Search Framework version to upgrade the target search page to (e.g., _2_). required: true - name: minor in: query type: string description: The minor version identifier of the JavaScript Search Framework version to upgrade the target search page to (e.g., _4710_). required: true exposes: - type: rest namespace: search-pages-search-pages-rest port: 8080 description: REST adapter for Coveo Search Pages API — Search Pages. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/organizations/{organizationid}/pages name: rest-organizations-organizationid-pages description: REST surface for rest-organizations-organizationID-pages. operations: - method: GET name: get description: List Search Pages call: search-pages-search-pages.get with: organizationID: rest.organizationID name: rest.name outputParameters: - type: object mapping: $. - method: POST name: post description: Create Search Page call: search-pages-search-pages.post with: organizationID: rest.organizationID payload: rest.payload outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/pages/ids name: rest-organizations-organizationid-pages-ids description: REST surface for rest-organizations-organizationID-pages-ids. operations: - method: POST name: post description: List Search Pages by Ids call: search-pages-search-pages.post with: organizationID: rest.organizationID payload: rest.payload outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/pages/project/id name: rest-organizations-organizationid-pages-project-id description: REST surface for rest-organizations-organizationID-pages-project-id. operations: - method: GET name: get description: List Pages by Project ID call: search-pages-search-pages.get with: organizationID: rest.organizationID projectid: rest.projectid outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/pages/{pageid} name: rest-organizations-organizationid-pages-pageid description: REST surface for rest-organizations-organizationID-pages-pageID. operations: - method: GET name: get description: Get Search Page call: search-pages-search-pages.get with: organizationID: rest.organizationID pageID: rest.pageID outputParameters: - type: object mapping: $. - method: PUT name: put description: Update Search Page Metadata call: search-pages-search-pages.put with: organizationID: rest.organizationID pageID: rest.pageID payload: rest.payload outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Delete a Search Page or in-App Widget call: search-pages-search-pages.delete with: organizationID: rest.organizationID pageID: rest.pageID outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/pages/{pageid}/header name: rest-organizations-organizationid-pages-pageid-header description: REST surface for rest-organizations-organizationID-pages-pageID-header. operations: - method: GET name: get description: Get Search Page Header call: search-pages-search-pages.get with: organizationID: rest.organizationID pageID: rest.pageID outputParameters: - type: object mapping: $. - method: PUT name: put description: Reorder Resources in Search Page Header call: search-pages-search-pages.put with: organizationID: rest.organizationID pageID: rest.pageID payload: rest.payload outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/pages/{pageid}/header/css name: rest-organizations-organizationid-pages-pageid-header-css description: REST surface for rest-organizations-organizationID-pages-pageID-header-css. operations: - method: POST name: post description: Create CSS Resource in a Search Page Header call: search-pages-search-pages.post with: organizationID: rest.organizationID pageID: rest.pageID payload: rest.payload outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/pages/{pageid}/header/css/{resourcename} name: rest-organizations-organizationid-pages-pageid-header-css-resourcename description: REST surface for rest-organizations-organizationID-pages-pageID-header-css-resourceName. operations: - method: PUT name: put description: Update CSS Resource in Search Page Header. call: search-pages-search-pages.put with: organizationID: rest.organizationID pageID: rest.pageID resourceName: rest.resourceName payload: rest.payload outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Delete CSS Resource in Search Page Header. call: search-pages-search-pages.delete with: organizationID: rest.organizationID pageID: rest.pageID resourceName: rest.resourceName outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/pages/{pageid}/header/javascript name: rest-organizations-organizationid-pages-pageid-header-javascript description: REST surface for rest-organizations-organizationID-pages-pageID-header-javascript. operations: - method: POST name: post description: Append JavaScript Resource to Search Page Header. call: search-pages-search-pages.post with: organizationID: rest.organizationID pageID: rest.pageID payload: rest.payload outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/pages/{pageid}/header/javascript/{resourcename} name: rest-organizations-organizationid-pages-pageid-header-javascript-resourcename description: REST surface for rest-organizations-organizationID-pages-pageID-header-javascript-resourceName. operations: - method: PUT name: put description: Update JavaScript Resource in Search Page Header. call: search-pages-search-pages.put with: organizationID: rest.organizationID pageID: rest.pageID resourceName: rest.resourceName payload: rest.payload outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Delete JavaScript Resource in Search Page Header. call: search-pages-search-pages.delete with: organizationID: rest.organizationID pageID: rest.pageID resourceName: rest.resourceName outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/pages/{pageid}/searchui name: rest-organizations-organizationid-pages-pageid-searchui description: REST surface for rest-organizations-organizationID-pages-pageID-searchui. operations: - method: GET name: get description: Get Search Page JavaScript Search Framework Information call: search-pages-search-pages.get with: organizationID: rest.organizationID pageID: rest.pageID outputParameters: - type: object mapping: $. - method: PUT name: put description: Change the JavaScript Search Framework Resources call: search-pages-search-pages.put with: organizationID: rest.organizationID pageID: rest.pageID major: rest.major minor: rest.minor outputParameters: - type: object mapping: $. - type: mcp namespace: search-pages-search-pages-mcp port: 9090 transport: http description: MCP adapter for Coveo Search Pages API — Search Pages. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-search-pages description: List Search Pages hints: readOnly: true destructive: false idempotent: true call: search-pages-search-pages.get with: organizationID: tools.organizationID name: tools.name outputParameters: - type: object mapping: $. - name: create-search-page description: Create Search Page hints: readOnly: true destructive: false idempotent: false call: search-pages-search-pages.post with: organizationID: tools.organizationID payload: tools.payload outputParameters: - type: object mapping: $. - name: list-search-pages-ids description: List Search Pages by Ids hints: readOnly: true destructive: false idempotent: false call: search-pages-search-pages.post with: organizationID: tools.organizationID payload: tools.payload outputParameters: - type: object mapping: $. - name: list-pages-project-id description: List Pages by Project ID hints: readOnly: true destructive: false idempotent: true call: search-pages-search-pages.get with: organizationID: tools.organizationID projectid: tools.projectid outputParameters: - type: object mapping: $. - name: get-search-page description: Get Search Page hints: readOnly: true destructive: false idempotent: true call: search-pages-search-pages.get with: organizationID: tools.organizationID pageID: tools.pageID outputParameters: - type: object mapping: $. - name: update-search-page-metadata description: Update Search Page Metadata hints: readOnly: false destructive: false idempotent: true call: search-pages-search-pages.put with: organizationID: tools.organizationID pageID: tools.pageID payload: tools.payload outputParameters: - type: object mapping: $. - name: delete-search-page-app-widget description: Delete a Search Page or in-App Widget hints: readOnly: false destructive: true idempotent: true call: search-pages-search-pages.delete with: organizationID: tools.organizationID pageID: tools.pageID outputParameters: - type: object mapping: $. - name: get-search-page-header description: Get Search Page Header hints: readOnly: true destructive: false idempotent: true call: search-pages-search-pages.get with: organizationID: tools.organizationID pageID: tools.pageID outputParameters: - type: object mapping: $. - name: reorder-resources-search-page-header description: Reorder Resources in Search Page Header hints: readOnly: false destructive: false idempotent: true call: search-pages-search-pages.put with: organizationID: tools.organizationID pageID: tools.pageID payload: tools.payload outputParameters: - type: object mapping: $. - name: create-css-resource-search-page description: Create CSS Resource in a Search Page Header hints: readOnly: true destructive: false idempotent: false call: search-pages-search-pages.post with: organizationID: tools.organizationID pageID: tools.pageID payload: tools.payload outputParameters: - type: object mapping: $. - name: update-css-resource-search-page description: Update CSS Resource in Search Page Header. hints: readOnly: false destructive: false idempotent: true call: search-pages-search-pages.put with: organizationID: tools.organizationID pageID: tools.pageID resourceName: tools.resourceName payload: tools.payload outputParameters: - type: object mapping: $. - name: delete-css-resource-search-page description: Delete CSS Resource in Search Page Header. hints: readOnly: false destructive: true idempotent: true call: search-pages-search-pages.delete with: organizationID: tools.organizationID pageID: tools.pageID resourceName: tools.resourceName outputParameters: - type: object mapping: $. - name: append-javascript-resource-search-page description: Append JavaScript Resource to Search Page Header. hints: readOnly: true destructive: false idempotent: false call: search-pages-search-pages.post with: organizationID: tools.organizationID pageID: tools.pageID payload: tools.payload outputParameters: - type: object mapping: $. - name: update-javascript-resource-search-page description: Update JavaScript Resource in Search Page Header. hints: readOnly: false destructive: false idempotent: true call: search-pages-search-pages.put with: organizationID: tools.organizationID pageID: tools.pageID resourceName: tools.resourceName payload: tools.payload outputParameters: - type: object mapping: $. - name: delete-javascript-resource-search-page description: Delete JavaScript Resource in Search Page Header. hints: readOnly: false destructive: true idempotent: true call: search-pages-search-pages.delete with: organizationID: tools.organizationID pageID: tools.pageID resourceName: tools.resourceName outputParameters: - type: object mapping: $. - name: get-search-page-javascript-search description: Get Search Page JavaScript Search Framework Information hints: readOnly: true destructive: false idempotent: true call: search-pages-search-pages.get with: organizationID: tools.organizationID pageID: tools.pageID outputParameters: - type: object mapping: $. - name: change-javascript-search-framework-resources description: Change the JavaScript Search Framework Resources hints: readOnly: false destructive: false idempotent: true call: search-pages-search-pages.put with: organizationID: tools.organizationID pageID: tools.pageID major: tools.major minor: tools.minor outputParameters: - type: object mapping: $.