Coveo · Capability

Coveo Migration API — Snapshot

Coveo Migration API — Snapshot. 12 operations. Lead operation: List Snapshots. Self-contained Naftiko capability covering one Coveo business surface.

Run with Naftiko CoveoMigrationSnapshot

What You Can Do

GET
Getallsnapshots — List Snapshots
/v1/organizations/{organizationid}/snapshots
POST
Createsnapshot — Create Snapshot from Configuration
/v1/organizations/{organizationid}/snapshots
POST
Createsnapshotfromfile — Create Snapshot from File
/v1/organizations/{organizationid}/snapshots/file
POST
Createsnapshotfromself — Create Organization Snapshot
/v1/organizations/{organizationid}/snapshots/self
GET
Getsnapshot — Show Snapshot
/v1/organizations/{organizationid}/snapshots/{snapshotid}
DELETE
Deletesnapshot — Delete Snapshot
/v1/organizations/{organizationid}/snapshots/{snapshotid}
PUT
Apply — Apply Snapshot
/v1/organizations/{organizationid}/snapshots/{snapshotid}/apply
GET
Getarchivedsnapshotcontent — Retrieve Snapshot Content
/v1/organizations/{organizationid}/snapshots/{snapshotid}/content
GET
Diff — Show Snapshot Diff Report
/v1/organizations/{organizationid}/snapshots/{snapshotid}/diff
PUT
Dryrun — Validate Snapshot
/v1/organizations/{organizationid}/snapshots/{snapshotid}/dryrun
PUT
Pushsnapshot — Push Snapshot to Target Organization
/v1/organizations/{organizationid}/snapshots/{snapshotid}/push
GET
Generatepresignedurl — Create URL to Retrieve Snapshot Content
/v1/organizations/{organizationid}/snapshots/{snapshotid}/url

MCP Tools

list-snapshots

List Snapshots

read-only idempotent
create-snapshot-configuration

Create Snapshot from Configuration

create-snapshot-file

Create Snapshot from File

create-organization-snapshot

Create Organization Snapshot

show-snapshot

Show Snapshot

read-only idempotent
delete-snapshot

Delete Snapshot

idempotent
apply-snapshot

Apply Snapshot

idempotent
retrieve-snapshot-content

Retrieve Snapshot Content

read-only idempotent
show-snapshot-diff-report

Show Snapshot Diff Report

read-only idempotent
validate-snapshot

Validate Snapshot

idempotent
push-snapshot-target-organization

Push Snapshot to Target Organization

idempotent
create-url-retrieve-snapshot-content

Create URL to Retrieve Snapshot Content

read-only idempotent

Capability Spec

migration-snapshot.yaml Raw ↑
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/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: includeReports
          in: query
          type: boolean
          description: Whether to include snapshot reports in the response.<br/>**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/).<br/>**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/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: snapshotFileType
          in: query
          type: string
          description: 'The type of the file containing the configuration.<br/>**Possible values:**<br/> - `JSON`: the configuration
            is in one single JSON file.<br/> - `ZIP`: the confi'
          required: true
        - name: developerNotes
          in: query
          type: string
          description: A note you can attach to your snapshot.<br/>**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/).<br/>**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.<br/>**Example:**
            `destinationorganizationg7dg3gd`<br/>By
        - name: developerNotes
          in: query
          type: string
          description: A note you can attach to your snapshot.<br/>**Example:** `pipeline snapshot`
        - name: includeChildrenResources
          in: query
          type: boolean
          description: Whether to include child resources in the snapshot.<br/>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/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: snapshotId
          in: path
          type: string
          description: The unique identifier of the target snapshot.<br/>**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
          required: true
        - name: includeReports
          in: query
          type: boolean
          description: Whether to include reports with the snapshot.<br/>**Default:** `true`
        - name: reportInclusion
          in: query
          type: string
          description: 'The level of detail of the report.<br/>**Possible values:**<br/> - `NONE`: no report.<br/> - `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/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: snapshotId
          in: path
          type: string
          description: The unique identifier of the target snapshot.<br/>**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/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: snapshotId
          in: path
          type: string
          description: The unique identifier of the target snapshot.<br/>**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
          required: true
        - name: deleteMissingResources
          in: query
          type: boolean
          description: Whether to delete organization resources not present in the snapshot.<br/>**Default:** `false`
        - name: deletionScope
          in: query
          type: string
          description: '**Note:** only applies when `deleteMissingResources` is set to `true`.<br/>The scope of the resources
            on which to calculate deletions.<br/>**Default:** `ONLY_TY'
        - name: isTransient
          in: query
          type: boolean
          description: Whether to delete the snapshot after it has been applied.<br/>**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.<br/>**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.<br/>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/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: snapshotId
          in: path
          type: string
          description: The unique identifier of the target snapshot.<br/>**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
          required: true
        - name: contentFormat
          in: query
          type: string
          description: The format of the snapshot content.<br> **FLAT:** Content unified into a single file<br>**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/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: snapshotId
          in: path
          type: string
          description: The unique identifier of the target snapshot.<br/>**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/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: snapshotId
          in: path
          type: string
          description: The unique identifier of the target snapshot.<br/>**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.<br/>**Default:**
            `false`
        - name: deletionScope
          in: query
          type: string
          description: '**Note:** only applies when `deleteMissingResources` is set to `true`.<br/>The scope of the resources
            on which to calculate deletions.<br/>**Default:** `ONLY_TY'
        - name: performAutoSynchronization
          in: query
          type: boolean
          description: Whether to automatically synchronize resources in the snapshot with corresponding organization resources.<br/>**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.<br/>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/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: snapshotId
          in: path
          type: string
          description: The unique identifier of the target snapshot.<br/>**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.<br/>**Example:**
            `destinationorganizationg7dg3gd`
          required: true
        - name: developerNotes
          in: query
          type: string
          description: A note you can attach to your snapshot.<br/>**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/).<br/>**Example:** `startingorganizationg8tp8wu3`
          required: true
        - name: snapshotId
          in: path
          type: string
          description: The unique identifier of the target snapshot.<br/>**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
          required: true
        - name: contentType
          in: query
          type: string
          description: 'The version of the snapshot to show.<br/>**Possible values:**<br/> - `PRIMARY`: The actual snapshot
            content.<br/> - `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: $.