naftiko: 1.0.0-alpha2
info:
label: Coveo Migration API — Snapshot Synchronization
description: 'Coveo Migration API — Snapshot Synchronization. 5 operations. Lead operation: Create Synchronization Plan.
Self-contained Naftiko capability covering one Coveo business surface.'
tags:
- Coveo
- Migration
- Snapshot Synchronization
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
COVEO_API_KEY: COVEO_API_KEY
capability:
consumes:
- type: http
namespace: migration-snapshot-synchronization
baseUri: https://platform.cloud.coveo.com
description: Coveo Migration API — Snapshot Synchronization business capability. Self-contained, no shared references.
authentication:
type: bearer
token: '{{env.COVEO_API_KEY}}'
resources:
- name: rest-organizations-organizationId-snapshots-snapshotId-synchronization
path: /rest/organizations/{organizationId}/snapshots/{snapshotId}/synchronization
operations:
- name: createsynchronizationplan
method: POST
description: Create Synchronization Plan
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/).
**Example:** `destinationorganizationg7dg3gd`
required: true
- name: snapshotId
in: path
type: string
description: The unique identifier of the target snapshot.
**Example:** `destinationorganization-xzgbf5rdaiqtaznvh74zdwcedi`
required: true
- name: rest-organizations-organizationId-snapshots-snapshotId-synchronization-synchroni
path: /rest/organizations/{organizationId}/snapshots/{snapshotId}/synchronization/{synchronizationPlanId}
operations:
- name: getsynchronizationplan
method: GET
description: Show Synchronization Plan
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/).
**Example:** `destinationorganizationg7dg3gd`
required: true
- name: snapshotId
in: path
type: string
description: The unique identifier of the target snapshot.
**Example:** `destinationorganization-xzgbf5rdaiqtaznvh74zdwcedi`
required: true
- name: synchronizationPlanId
in: path
type: string
description: The unique identifier of the target synchronization plan.
**Example:** `destinationorganizationg7dg3gd-spnyvuywz6nbnqgujuwtlq2d7e`
required: true
- name: updatesynchronizationplan
method: PUT
description: Update Synchronization Plan
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/).
**Example:** `destinationorganizationg7dg3gd`
required: true
- name: snapshotId
in: path
type: string
description: The unique identifier of the target snapshot.
**Example:** `destinationorganization-xzgbf5rdaiqtaznvh74zdwcedi`
required: true
- name: synchronizationPlanId
in: path
type: string
description: The unique identifier of the target synchronization plan.
**Example:** `destinationorganizationg7dg3gd-spnyvuywz6nbnqgujuwtlq2d7e`
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: rest-organizations-organizationId-snapshots-snapshotId-synchronization-synchroni
path: /rest/organizations/{organizationId}/snapshots/{snapshotId}/synchronization/{synchronizationPlanId}/apply
operations:
- name: applysynchronizationplan
method: PUT
description: Apply Synchronization Plan
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/).
**Example:** `destinationorganizationg7dg3gd`
required: true
- name: snapshotId
in: path
type: string
description: The unique identifier of the target snapshot.
**Example:** `destinationorganization-xzgbf5rdaiqtaznvh74zdwcedi`
required: true
- name: synchronizationPlanId
in: path
type: string
description: The unique identifier of the target synchronization plan.
**Example:** `destinationorganizationg7dg3gd-spnyvuywz6nbnqgujuwtlq2d7e`
required: true
- name: overrideExistingLinks
in: query
type: boolean
description: Whether to use the links in the target synchronization plan to override the ones already existing in
the organization if conflicts arise, rather than throwing a
- name: rest-organizations-organizationId-snapshots-snapshotId-synchronization-synchroni
path: /rest/organizations/{organizationId}/snapshots/{snapshotId}/synchronization/{synchronizationPlanId}/children
operations:
- name: computechildrenoperations
method: PUT
description: Update Synchronization Plan Children
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/).
**Example:** `destinationorganizationg7dg3gd`
required: true
- name: snapshotId
in: path
type: string
description: The unique identifier of the target snapshot.
**Example:** `destinationorganization-xzgbf5rdaiqtaznvh74zdwcedi`
required: true
- name: synchronizationPlanId
in: path
type: string
description: The unique identifier of the target synchronization plan.
**Example:** `destinationorganizationg7dg3gd-spnyvuywz6nbnqgujuwtlq2d7e`
required: true
- name: parentResourceType
in: query
type: string
description: The `resourceType` of the parent resource.
**Example:** `QUERY_PIPELINE`
required: true
- name: snapshotParentResourceName
in: query
type: string
description: The `resourceName` of the parent resource.
**Example:** `my_pipeline_aAePCD`
required: true
- name: targetParentId
in: query
type: string
description: The unique identifier of the parent resource in the target organization.
**Example:** `destinationorganizationg7dg3gd-qvml6dkyvouchhehsjhxxbkgqq`
required: true
exposes:
- type: rest
namespace: migration-snapshot-synchronization-rest
port: 8080
description: REST adapter for Coveo Migration API — Snapshot Synchronization. One Spectral-compliant resource per consumed
operation, prefixed with /v1.
resources:
- path: /v1/organizations/{organizationid}/snapshots/{snapshotid}/synchronization
name: rest-organizations-organizationid-snapshots-snapshotid-synchronization
description: REST surface for rest-organizations-organizationId-snapshots-snapshotId-synchronization.
operations:
- method: POST
name: createsynchronizationplan
description: Create Synchronization Plan
call: migration-snapshot-synchronization.createsynchronizationplan
with:
organizationId: rest.organizationId
snapshotId: rest.snapshotId
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/snapshots/{snapshotid}/synchronization/{synchronizationplanid}
name: rest-organizations-organizationid-snapshots-snapshotid-synchronization-synchroni
description: REST surface for rest-organizations-organizationId-snapshots-snapshotId-synchronization-synchroni.
operations:
- method: GET
name: getsynchronizationplan
description: Show Synchronization Plan
call: migration-snapshot-synchronization.getsynchronizationplan
with:
organizationId: rest.organizationId
snapshotId: rest.snapshotId
synchronizationPlanId: rest.synchronizationPlanId
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updatesynchronizationplan
description: Update Synchronization Plan
call: migration-snapshot-synchronization.updatesynchronizationplan
with:
organizationId: rest.organizationId
snapshotId: rest.snapshotId
synchronizationPlanId: rest.synchronizationPlanId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/snapshots/{snapshotid}/synchronization/{synchronizationplanid}/apply
name: rest-organizations-organizationid-snapshots-snapshotid-synchronization-synchroni
description: REST surface for rest-organizations-organizationId-snapshots-snapshotId-synchronization-synchroni.
operations:
- method: PUT
name: applysynchronizationplan
description: Apply Synchronization Plan
call: migration-snapshot-synchronization.applysynchronizationplan
with:
organizationId: rest.organizationId
snapshotId: rest.snapshotId
synchronizationPlanId: rest.synchronizationPlanId
overrideExistingLinks: rest.overrideExistingLinks
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/snapshots/{snapshotid}/synchronization/{synchronizationplanid}/children
name: rest-organizations-organizationid-snapshots-snapshotid-synchronization-synchroni
description: REST surface for rest-organizations-organizationId-snapshots-snapshotId-synchronization-synchroni.
operations:
- method: PUT
name: computechildrenoperations
description: Update Synchronization Plan Children
call: migration-snapshot-synchronization.computechildrenoperations
with:
organizationId: rest.organizationId
snapshotId: rest.snapshotId
synchronizationPlanId: rest.synchronizationPlanId
parentResourceType: rest.parentResourceType
snapshotParentResourceName: rest.snapshotParentResourceName
targetParentId: rest.targetParentId
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: migration-snapshot-synchronization-mcp
port: 9090
transport: http
description: MCP adapter for Coveo Migration API — Snapshot Synchronization. One tool per consumed operation, routed inline
through this capability's consumes block.
tools:
- name: create-synchronization-plan
description: Create Synchronization Plan
hints:
readOnly: false
destructive: false
idempotent: false
call: migration-snapshot-synchronization.createsynchronizationplan
with:
organizationId: tools.organizationId
snapshotId: tools.snapshotId
outputParameters:
- type: object
mapping: $.
- name: show-synchronization-plan
description: Show Synchronization Plan
hints:
readOnly: true
destructive: false
idempotent: true
call: migration-snapshot-synchronization.getsynchronizationplan
with:
organizationId: tools.organizationId
snapshotId: tools.snapshotId
synchronizationPlanId: tools.synchronizationPlanId
outputParameters:
- type: object
mapping: $.
- name: update-synchronization-plan
description: Update Synchronization Plan
hints:
readOnly: false
destructive: false
idempotent: true
call: migration-snapshot-synchronization.updatesynchronizationplan
with:
organizationId: tools.organizationId
snapshotId: tools.snapshotId
synchronizationPlanId: tools.synchronizationPlanId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: apply-synchronization-plan
description: Apply Synchronization Plan
hints:
readOnly: false
destructive: false
idempotent: true
call: migration-snapshot-synchronization.applysynchronizationplan
with:
organizationId: tools.organizationId
snapshotId: tools.snapshotId
synchronizationPlanId: tools.synchronizationPlanId
overrideExistingLinks: tools.overrideExistingLinks
outputParameters:
- type: object
mapping: $.
- name: update-synchronization-plan-children
description: Update Synchronization Plan Children
hints:
readOnly: false
destructive: false
idempotent: true
call: migration-snapshot-synchronization.computechildrenoperations
with:
organizationId: tools.organizationId
snapshotId: tools.snapshotId
synchronizationPlanId: tools.synchronizationPlanId
parentResourceType: tools.parentResourceType
snapshotParentResourceName: tools.snapshotParentResourceName
targetParentId: tools.targetParentId
outputParameters:
- type: object
mapping: $.