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: $.