Coveo · Capability

Coveo Migration API — Link

Coveo Migration API — Link. 9 operations. Lead operation: List Links. Self-contained Naftiko capability covering one Coveo business surface.

Run with Naftiko CoveoMigrationLink

What You Can Do

GET
Getalllinks — List Links
/v1/organizations/{organizationid}/links
POST
Createlink — Create Link
/v1/organizations/{organizationid}/links
DELETE
Deletealllinks — Delete Links
/v1/organizations/{organizationid}/links
PUT
Updatelinkbatch — Edit Links
/v1/organizations/{organizationid}/links/batch
POST
Createlinkbatch — Create Links
/v1/organizations/{organizationid}/links/batch
DELETE
Deletelinkbatch — Delete Links
/v1/organizations/{organizationid}/links/batch
GET
Getlink — Show Link
/v1/organizations/{organizationid}/links/{linkid}
PUT
Updatelink — Edit Link
/v1/organizations/{organizationid}/links/{linkid}
DELETE
Deletelink — Delete Link
/v1/organizations/{organizationid}/links/{linkid}

MCP Tools

list-links

List Links

read-only idempotent
create-link

Create Link

delete-links

Delete Links

idempotent
edit-links

Edit Links

idempotent
create-links

Create Links

delete-links-2

Delete Links

idempotent
show-link

Show Link

read-only idempotent
edit-link

Edit Link

idempotent
delete-link

Delete Link

idempotent

Capability Spec

migration-link.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Coveo Migration API — Link
  description: 'Coveo Migration API — Link. 9 operations. Lead operation: List Links. Self-contained Naftiko capability covering
    one Coveo business surface.'
  tags:
  - Coveo
  - Migration
  - Link
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    COVEO_API_KEY: COVEO_API_KEY
capability:
  consumes:
  - type: http
    namespace: migration-link
    baseUri: https://platform.cloud.coveo.com
    description: Coveo Migration API — Link business capability. Self-contained, no shared references.
    authentication:
      type: bearer
      token: '{{env.COVEO_API_KEY}}'
    resources:
    - name: rest-organizations-organizationId-links
      path: /rest/organizations/{organizationId}/links
      operations:
      - name: getalllinks
        method: GET
        description: List Links
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: ResourceType
          in: query
          type: string
          description: 'The resource type with which to filter results. In other words, when this parameter is specified,
            the service only returns links containing the target resource '
        - name: page
          in: query
          type: integer
          description: The 0-based number of the page of results to fetch.<br/>**Default:** `0`
        - name: pageSize
          in: query
          type: integer
          description: The number of results to fetch per page.<br/>**Default:** `1000`
      - name: createlink
        method: POST
        description: Create Link
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletealllinks
        method: DELETE
        description: Delete Links
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
    - name: rest-organizations-organizationId-links-batch
      path: /rest/organizations/{organizationId}/links/batch
      operations:
      - name: updatelinkbatch
        method: PUT
        description: Edit Links
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: createlinkbatch
        method: POST
        description: Create Links
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletelinkbatch
        method: DELETE
        description: Delete Links
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: linkIds
          in: query
          type: array
          description: The unique identifier of the target links.<br/>To send multiple ids, either concatenate with `,` or
            send multiple query parameters.For example, appending `?ids=
          required: true
    - name: rest-organizations-organizationId-links-linkId
      path: /rest/organizations/{organizationId}/links/{linkId}
      operations:
      - name: getlink
        method: GET
        description: Show Link
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: linkId
          in: path
          type: string
          description: The unique identifier of the target link.<br/>**Example:** `ufacpg3aoi63vxoy6qoyhocfuy`
          required: true
      - name: updatelink
        method: PUT
        description: Edit Link
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: linkId
          in: path
          type: string
          description: The unique identifier of the target link.<br/>**Example:** `ufacpg3aoi63vxoy6qoyhocfuy`
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletelink
        method: DELETE
        description: Delete Link
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: linkId
          in: path
          type: string
          description: The unique identifier of the target link.<br/>**Example:** `ufacpg3aoi63vxoy6qoyhocfuy`
          required: true
  exposes:
  - type: rest
    namespace: migration-link-rest
    port: 8080
    description: REST adapter for Coveo Migration API — Link. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/organizations/{organizationid}/links
      name: rest-organizations-organizationid-links
      description: REST surface for rest-organizations-organizationId-links.
      operations:
      - method: GET
        name: getalllinks
        description: List Links
        call: migration-link.getalllinks
        with:
          organizationId: rest.organizationId
          ResourceType: rest.ResourceType
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createlink
        description: Create Link
        call: migration-link.createlink
        with:
          organizationId: rest.organizationId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletealllinks
        description: Delete Links
        call: migration-link.deletealllinks
        with:
          organizationId: rest.organizationId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organizationid}/links/batch
      name: rest-organizations-organizationid-links-batch
      description: REST surface for rest-organizations-organizationId-links-batch.
      operations:
      - method: PUT
        name: updatelinkbatch
        description: Edit Links
        call: migration-link.updatelinkbatch
        with:
          organizationId: rest.organizationId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createlinkbatch
        description: Create Links
        call: migration-link.createlinkbatch
        with:
          organizationId: rest.organizationId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletelinkbatch
        description: Delete Links
        call: migration-link.deletelinkbatch
        with:
          organizationId: rest.organizationId
          linkIds: rest.linkIds
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organizationid}/links/{linkid}
      name: rest-organizations-organizationid-links-linkid
      description: REST surface for rest-organizations-organizationId-links-linkId.
      operations:
      - method: GET
        name: getlink
        description: Show Link
        call: migration-link.getlink
        with:
          organizationId: rest.organizationId
          linkId: rest.linkId
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatelink
        description: Edit Link
        call: migration-link.updatelink
        with:
          organizationId: rest.organizationId
          linkId: rest.linkId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletelink
        description: Delete Link
        call: migration-link.deletelink
        with:
          organizationId: rest.organizationId
          linkId: rest.linkId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: migration-link-mcp
    port: 9090
    transport: http
    description: MCP adapter for Coveo Migration API — Link. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-links
      description: List Links
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: migration-link.getalllinks
      with:
        organizationId: tools.organizationId
        ResourceType: tools.ResourceType
        page: tools.page
        pageSize: tools.pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: create-link
      description: Create Link
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: migration-link.createlink
      with:
        organizationId: tools.organizationId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-links
      description: Delete Links
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: migration-link.deletealllinks
      with:
        organizationId: tools.organizationId
      outputParameters:
      - type: object
        mapping: $.
    - name: edit-links
      description: Edit Links
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: migration-link.updatelinkbatch
      with:
        organizationId: tools.organizationId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: create-links
      description: Create Links
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: migration-link.createlinkbatch
      with:
        organizationId: tools.organizationId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-links-2
      description: Delete Links
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: migration-link.deletelinkbatch
      with:
        organizationId: tools.organizationId
        linkIds: tools.linkIds
      outputParameters:
      - type: object
        mapping: $.
    - name: show-link
      description: Show Link
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: migration-link.getlink
      with:
        organizationId: tools.organizationId
        linkId: tools.linkId
      outputParameters:
      - type: object
        mapping: $.
    - name: edit-link
      description: Edit Link
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: migration-link.updatelink
      with:
        organizationId: tools.organizationId
        linkId: tools.linkId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-link
      description: Delete Link
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: migration-link.deletelink
      with:
        organizationId: tools.organizationId
        linkId: tools.linkId
      outputParameters:
      - type: object
        mapping: $.