naftiko: 1.0.0-alpha2
info:
label: Coveo Migration API — Snapshot
description: 'Coveo Migration API — Snapshot. 12 operations. Lead operation: List Snapshots. Self-contained Naftiko capability
covering one Coveo business surface.'
tags:
- Coveo
- Migration
- Snapshot
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
baseUri: https://platform.cloud.coveo.com
description: Coveo Migration API — Snapshot business capability. Self-contained, no shared references.
authentication:
type: bearer
token: '{{env.COVEO_API_KEY}}'
resources:
- name: rest-organizations-organizationId-snapshots
path: /rest/organizations/{organizationId}/snapshots
operations:
- name: getallsnapshots
method: GET
description: List Snapshots
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:** `startingorganizationg8tp8wu3`
required: true
- name: includeReports
in: query
type: boolean
description: Whether to include snapshot reports in the response.
**Default:** `true`
- name: filter
in: query
type: string
- name: sortingOrder
in: query
type: string
- name: sortingType
in: query
type: string
- name: createsnapshot
method: POST
description: Create Snapshot from Configuration
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:** `startingorganizationg8tp8wu3`
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: rest-organizations-organizationId-snapshots-file
path: /rest/organizations/{organizationId}/snapshots/file
operations:
- name: createsnapshotfromfile
method: POST
description: Create Snapshot from File
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:** `startingorganizationg8tp8wu3`
required: true
- name: snapshotFileType
in: query
type: string
description: 'The type of the file containing the configuration.
**Possible values:**
- `JSON`: the configuration
is in one single JSON file.
- `ZIP`: the confi'
required: true
- name: developerNotes
in: query
type: string
description: A note you can attach to your snapshot.
**Example:** `pipeline snapshot`
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: rest-organizations-organizationId-snapshots-self
path: /rest/organizations/{organizationId}/snapshots/self
operations:
- name: createsnapshotfromself
method: POST
description: Create Organization Snapshot
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:** `startingorganizationg8tp8wu3`
required: true
- name: targetOrganizationId
in: query
type: string
description: The unique identifier of the [organization](https://docs.coveo.com/en/185/) where to send the snapshot.
**Example:**
`destinationorganizationg7dg3gd`
By
- name: developerNotes
in: query
type: string
description: A note you can attach to your snapshot.
**Example:** `pipeline snapshot`
- name: includeChildrenResources
in: query
type: boolean
description: Whether to include child resources in the snapshot.
For example, when creating a snapshot of a
query pipeline resource, if the `includeChildrenResources` pa
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: rest-organizations-organizationId-snapshots-snapshotId
path: /rest/organizations/{organizationId}/snapshots/{snapshotId}
operations:
- name: getsnapshot
method: GET
description: Show Snapshot
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:** `startingorganizationg8tp8wu3`
required: true
- name: snapshotId
in: path
type: string
description: The unique identifier of the target snapshot.
**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
required: true
- name: includeReports
in: query
type: boolean
description: Whether to include reports with the snapshot.
**Default:** `true`
- name: reportInclusion
in: query
type: string
description: 'The level of detail of the report.
**Possible values:**
- `NONE`: no report.
- `SUMMARY`:
only report on the latest operation of every kind (dry r'
- name: deletesnapshot
method: DELETE
description: Delete Snapshot
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:** `startingorganizationg8tp8wu3`
required: true
- name: snapshotId
in: path
type: string
description: The unique identifier of the target snapshot.
**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
required: true
- name: rest-organizations-organizationId-snapshots-snapshotId-apply
path: /rest/organizations/{organizationId}/snapshots/{snapshotId}/apply
operations:
- name: apply
method: PUT
description: Apply Snapshot
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:** `startingorganizationg8tp8wu3`
required: true
- name: snapshotId
in: path
type: string
description: The unique identifier of the target snapshot.
**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
required: true
- name: deleteMissingResources
in: query
type: boolean
description: Whether to delete organization resources not present in the snapshot.
**Default:** `false`
- name: deletionScope
in: query
type: string
description: '**Note:** only applies when `deleteMissingResources` is set to `true`.
The scope of the resources
on which to calculate deletions.
**Default:** `ONLY_TY'
- name: isTransient
in: query
type: boolean
description: Whether to delete the snapshot after it has been applied.
**Default:** `false`
- name: validationRequired
in: query
type: boolean
description: Whether to check the effects of applying the snapshot before actually applying it.When this parameter
is set to true, if an operation is found to be invalid dur
- name: performAutoSynchronization
in: query
type: boolean
description: Whether to automatically synchronize resources in the snapshot with corresponding organization resources.
**Default:**
`true`
- name: autoSynchronizationThreshold
in: query
type: number
description: 'If autoSynchronization is set to true, this score controls how lenient the pairing of values will
be.
The value should be set to 1.00 or lower. A value of '
- name: rest-organizations-organizationId-snapshots-snapshotId-content
path: /rest/organizations/{organizationId}/snapshots/{snapshotId}/content
operations:
- name: getarchivedsnapshotcontent
method: GET
description: Retrieve Snapshot Content
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:** `startingorganizationg8tp8wu3`
required: true
- name: snapshotId
in: path
type: string
description: The unique identifier of the target snapshot.
**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
required: true
- name: contentFormat
in: query
type: string
description: The format of the snapshot content.
**FLAT:** Content unified into a single file
**SPLIT_PER_TYPE:**
Content split into one file per resource type
- name: rest-organizations-organizationId-snapshots-snapshotId-diff
path: /rest/organizations/{organizationId}/snapshots/{snapshotId}/diff
operations:
- name: diff
method: GET
description: Show Snapshot Diff Report
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:** `startingorganizationg8tp8wu3`
required: true
- name: snapshotId
in: path
type: string
description: The unique identifier of the target snapshot.
**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
required: true
- name: relativeReportId
in: query
type: string
description: The unique identifier of the dry-run operation report associated with the target diff report.
required: true
- name: numberOfLinesMax
in: query
type: integer
description: Maximum number of lines before the diff is downloaded to a file.
- name: rest-organizations-organizationId-snapshots-snapshotId-dryrun
path: /rest/organizations/{organizationId}/snapshots/{snapshotId}/dryrun
operations:
- name: dryrun
method: PUT
description: Validate Snapshot
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:** `startingorganizationg8tp8wu3`
required: true
- name: snapshotId
in: path
type: string
description: The unique identifier of the target snapshot.
**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
required: true
- name: deleteMissingResources
in: query
type: boolean
description: Whether to simulate the deletion of organization resources not present in the snapshot.
**Default:**
`false`
- name: deletionScope
in: query
type: string
description: '**Note:** only applies when `deleteMissingResources` is set to `true`.
The scope of the resources
on which to calculate deletions.
**Default:** `ONLY_TY'
- name: performAutoSynchronization
in: query
type: boolean
description: Whether to automatically synchronize resources in the snapshot with corresponding organization resources.
**Default:**
`true`
- name: autoSynchronizationThreshold
in: query
type: number
description: 'If autoSynchronization is set to true, this score controls how lenient the pairing of values will
be.
The value should be set to 1.00 or lower. A value of '
- name: rest-organizations-organizationId-snapshots-snapshotId-push
path: /rest/organizations/{organizationId}/snapshots/{snapshotId}/push
operations:
- name: pushsnapshot
method: PUT
description: Push Snapshot to Target Organization
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:** `startingorganizationg8tp8wu3`
required: true
- name: snapshotId
in: path
type: string
description: The unique identifier of the target snapshot.
**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
required: true
- name: targetOrganizationId
in: query
type: string
description: The unique identifier of the [organization](https://docs.coveo.com/en/185/) where to send the snapshot.
**Example:**
`destinationorganizationg7dg3gd`
required: true
- name: developerNotes
in: query
type: string
description: A note you can attach to your snapshot.
**Example:** `pipeline snapshot`
- name: rest-organizations-organizationId-snapshots-snapshotId-url
path: /rest/organizations/{organizationId}/snapshots/{snapshotId}/url
operations:
- name: generatepresignedurl
method: GET
description: Create URL to Retrieve Snapshot Content
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:** `startingorganizationg8tp8wu3`
required: true
- name: snapshotId
in: path
type: string
description: The unique identifier of the target snapshot.
**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
required: true
- name: contentType
in: query
type: string
description: 'The version of the snapshot to show.
**Possible values:**
- `PRIMARY`: The actual snapshot
content.
- `CURRENT_STATE`: The resources targeted by t'
exposes:
- type: rest
namespace: migration-snapshot-rest
port: 8080
description: REST adapter for Coveo Migration API — Snapshot. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/organizations/{organizationid}/snapshots
name: rest-organizations-organizationid-snapshots
description: REST surface for rest-organizations-organizationId-snapshots.
operations:
- method: GET
name: getallsnapshots
description: List Snapshots
call: migration-snapshot.getallsnapshots
with:
organizationId: rest.organizationId
includeReports: rest.includeReports
filter: rest.filter
sortingOrder: rest.sortingOrder
sortingType: rest.sortingType
outputParameters:
- type: object
mapping: $.
- method: POST
name: createsnapshot
description: Create Snapshot from Configuration
call: migration-snapshot.createsnapshot
with:
organizationId: rest.organizationId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/snapshots/file
name: rest-organizations-organizationid-snapshots-file
description: REST surface for rest-organizations-organizationId-snapshots-file.
operations:
- method: POST
name: createsnapshotfromfile
description: Create Snapshot from File
call: migration-snapshot.createsnapshotfromfile
with:
organizationId: rest.organizationId
snapshotFileType: rest.snapshotFileType
developerNotes: rest.developerNotes
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/snapshots/self
name: rest-organizations-organizationid-snapshots-self
description: REST surface for rest-organizations-organizationId-snapshots-self.
operations:
- method: POST
name: createsnapshotfromself
description: Create Organization Snapshot
call: migration-snapshot.createsnapshotfromself
with:
organizationId: rest.organizationId
targetOrganizationId: rest.targetOrganizationId
developerNotes: rest.developerNotes
includeChildrenResources: rest.includeChildrenResources
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/snapshots/{snapshotid}
name: rest-organizations-organizationid-snapshots-snapshotid
description: REST surface for rest-organizations-organizationId-snapshots-snapshotId.
operations:
- method: GET
name: getsnapshot
description: Show Snapshot
call: migration-snapshot.getsnapshot
with:
organizationId: rest.organizationId
snapshotId: rest.snapshotId
includeReports: rest.includeReports
reportInclusion: rest.reportInclusion
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletesnapshot
description: Delete Snapshot
call: migration-snapshot.deletesnapshot
with:
organizationId: rest.organizationId
snapshotId: rest.snapshotId
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/snapshots/{snapshotid}/apply
name: rest-organizations-organizationid-snapshots-snapshotid-apply
description: REST surface for rest-organizations-organizationId-snapshots-snapshotId-apply.
operations:
- method: PUT
name: apply
description: Apply Snapshot
call: migration-snapshot.apply
with:
organizationId: rest.organizationId
snapshotId: rest.snapshotId
deleteMissingResources: rest.deleteMissingResources
deletionScope: rest.deletionScope
isTransient: rest.isTransient
validationRequired: rest.validationRequired
performAutoSynchronization: rest.performAutoSynchronization
autoSynchronizationThreshold: rest.autoSynchronizationThreshold
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/snapshots/{snapshotid}/content
name: rest-organizations-organizationid-snapshots-snapshotid-content
description: REST surface for rest-organizations-organizationId-snapshots-snapshotId-content.
operations:
- method: GET
name: getarchivedsnapshotcontent
description: Retrieve Snapshot Content
call: migration-snapshot.getarchivedsnapshotcontent
with:
organizationId: rest.organizationId
snapshotId: rest.snapshotId
contentFormat: rest.contentFormat
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/snapshots/{snapshotid}/diff
name: rest-organizations-organizationid-snapshots-snapshotid-diff
description: REST surface for rest-organizations-organizationId-snapshots-snapshotId-diff.
operations:
- method: GET
name: diff
description: Show Snapshot Diff Report
call: migration-snapshot.diff
with:
organizationId: rest.organizationId
snapshotId: rest.snapshotId
relativeReportId: rest.relativeReportId
numberOfLinesMax: rest.numberOfLinesMax
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/snapshots/{snapshotid}/dryrun
name: rest-organizations-organizationid-snapshots-snapshotid-dryrun
description: REST surface for rest-organizations-organizationId-snapshots-snapshotId-dryrun.
operations:
- method: PUT
name: dryrun
description: Validate Snapshot
call: migration-snapshot.dryrun
with:
organizationId: rest.organizationId
snapshotId: rest.snapshotId
deleteMissingResources: rest.deleteMissingResources
deletionScope: rest.deletionScope
performAutoSynchronization: rest.performAutoSynchronization
autoSynchronizationThreshold: rest.autoSynchronizationThreshold
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/snapshots/{snapshotid}/push
name: rest-organizations-organizationid-snapshots-snapshotid-push
description: REST surface for rest-organizations-organizationId-snapshots-snapshotId-push.
operations:
- method: PUT
name: pushsnapshot
description: Push Snapshot to Target Organization
call: migration-snapshot.pushsnapshot
with:
organizationId: rest.organizationId
snapshotId: rest.snapshotId
targetOrganizationId: rest.targetOrganizationId
developerNotes: rest.developerNotes
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/snapshots/{snapshotid}/url
name: rest-organizations-organizationid-snapshots-snapshotid-url
description: REST surface for rest-organizations-organizationId-snapshots-snapshotId-url.
operations:
- method: GET
name: generatepresignedurl
description: Create URL to Retrieve Snapshot Content
call: migration-snapshot.generatepresignedurl
with:
organizationId: rest.organizationId
snapshotId: rest.snapshotId
contentType: rest.contentType
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: migration-snapshot-mcp
port: 9090
transport: http
description: MCP adapter for Coveo Migration API — Snapshot. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: list-snapshots
description: List Snapshots
hints:
readOnly: true
destructive: false
idempotent: true
call: migration-snapshot.getallsnapshots
with:
organizationId: tools.organizationId
includeReports: tools.includeReports
filter: tools.filter
sortingOrder: tools.sortingOrder
sortingType: tools.sortingType
outputParameters:
- type: object
mapping: $.
- name: create-snapshot-configuration
description: Create Snapshot from Configuration
hints:
readOnly: false
destructive: false
idempotent: false
call: migration-snapshot.createsnapshot
with:
organizationId: tools.organizationId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: create-snapshot-file
description: Create Snapshot from File
hints:
readOnly: false
destructive: false
idempotent: false
call: migration-snapshot.createsnapshotfromfile
with:
organizationId: tools.organizationId
snapshotFileType: tools.snapshotFileType
developerNotes: tools.developerNotes
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: create-organization-snapshot
description: Create Organization Snapshot
hints:
readOnly: false
destructive: false
idempotent: false
call: migration-snapshot.createsnapshotfromself
with:
organizationId: tools.organizationId
targetOrganizationId: tools.targetOrganizationId
developerNotes: tools.developerNotes
includeChildrenResources: tools.includeChildrenResources
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: show-snapshot
description: Show Snapshot
hints:
readOnly: true
destructive: false
idempotent: true
call: migration-snapshot.getsnapshot
with:
organizationId: tools.organizationId
snapshotId: tools.snapshotId
includeReports: tools.includeReports
reportInclusion: tools.reportInclusion
outputParameters:
- type: object
mapping: $.
- name: delete-snapshot
description: Delete Snapshot
hints:
readOnly: false
destructive: true
idempotent: true
call: migration-snapshot.deletesnapshot
with:
organizationId: tools.organizationId
snapshotId: tools.snapshotId
outputParameters:
- type: object
mapping: $.
- name: apply-snapshot
description: Apply Snapshot
hints:
readOnly: false
destructive: false
idempotent: true
call: migration-snapshot.apply
with:
organizationId: tools.organizationId
snapshotId: tools.snapshotId
deleteMissingResources: tools.deleteMissingResources
deletionScope: tools.deletionScope
isTransient: tools.isTransient
validationRequired: tools.validationRequired
performAutoSynchronization: tools.performAutoSynchronization
autoSynchronizationThreshold: tools.autoSynchronizationThreshold
outputParameters:
- type: object
mapping: $.
- name: retrieve-snapshot-content
description: Retrieve Snapshot Content
hints:
readOnly: true
destructive: false
idempotent: true
call: migration-snapshot.getarchivedsnapshotcontent
with:
organizationId: tools.organizationId
snapshotId: tools.snapshotId
contentFormat: tools.contentFormat
outputParameters:
- type: object
mapping: $.
- name: show-snapshot-diff-report
description: Show Snapshot Diff Report
hints:
readOnly: true
destructive: false
idempotent: true
call: migration-snapshot.diff
with:
organizationId: tools.organizationId
snapshotId: tools.snapshotId
relativeReportId: tools.relativeReportId
numberOfLinesMax: tools.numberOfLinesMax
outputParameters:
- type: object
mapping: $.
- name: validate-snapshot
description: Validate Snapshot
hints:
readOnly: false
destructive: false
idempotent: true
call: migration-snapshot.dryrun
with:
organizationId: tools.organizationId
snapshotId: tools.snapshotId
deleteMissingResources: tools.deleteMissingResources
deletionScope: tools.deletionScope
performAutoSynchronization: tools.performAutoSynchronization
autoSynchronizationThreshold: tools.autoSynchronizationThreshold
outputParameters:
- type: object
mapping: $.
- name: push-snapshot-target-organization
description: Push Snapshot to Target Organization
hints:
readOnly: false
destructive: false
idempotent: true
call: migration-snapshot.pushsnapshot
with:
organizationId: tools.organizationId
snapshotId: tools.snapshotId
targetOrganizationId: tools.targetOrganizationId
developerNotes: tools.developerNotes
outputParameters:
- type: object
mapping: $.
- name: create-url-retrieve-snapshot-content
description: Create URL to Retrieve Snapshot Content
hints:
readOnly: true
destructive: false
idempotent: true
call: migration-snapshot.generatepresignedurl
with:
organizationId: tools.organizationId
snapshotId: tools.snapshotId
contentType: tools.contentType
outputParameters:
- type: object
mapping: $.