Coveo Snapshot API

The Snapshot API from Coveo — 10 operation(s) for snapshot.

Operations 12

PUT /rest/organizations/{organizationId}/snapshots/{snapshotId}/push Push Snapshot to Target Organization #
PUT /rest/organizations/{organizationId}/snapshots/{snapshotId}/dryrun Validate Snapshot #
PUT /rest/organizations/{organizationId}/snapshots/{snapshotId}/apply Apply Snapshot #
GET /rest/organizations/{organizationId}/snapshots List Snapshots #
POST /rest/organizations/{organizationId}/snapshots Create Snapshot from Configuration #
POST /rest/organizations/{organizationId}/snapshots/self Create Organization Snapshot #
POST /rest/organizations/{organizationId}/snapshots/file Create Snapshot from File #
GET /rest/organizations/{organizationId}/snapshots/{snapshotId} Show Snapshot #
DELETE /rest/organizations/{organizationId}/snapshots/{snapshotId} Delete Snapshot #
GET /rest/organizations/{organizationId}/snapshots/{snapshotId}/url Create URL to Retrieve Snapshot Content #
GET /rest/organizations/{organizationId}/snapshots/{snapshotId}/diff Show Snapshot Diff Report #
GET /rest/organizations/{organizationId}/snapshots/{snapshotId}/content Retrieve Snapshot Content #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-passagev3-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restfacetrequest-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restfacetresult-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restfacetresultvalue-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restgroupby-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restgroupbyresult-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restgroupbyvalue-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-resthighlightresponse-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restquerycorrection-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restqueryfunction-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restqueryparameters-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restqueryparentresult-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restqueryresponse-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restqueryresult-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-restrankingfunction-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-retrievepassagesrequestv3-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-schema/coveo-search-retrievepassagesresponsev3-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-passagev3-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restfacetrequest-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restfacetresult-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restfacetresultvalue-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restgroupby-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restgroupbyresult-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restgroupbyvalue-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-resthighlightresponse-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restquerycorrection-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restqueryfunction-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restqueryparameters-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restqueryparentresult-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restqueryresponse-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restqueryresult-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-restrankingfunction-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-retrievepassagesrequestv3-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/json-structure/coveo-search-retrievepassagesresponsev3-structure.json

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/coveo-snapshot-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

coveo-snapshot-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Coveo Migration Snapshot API
  description: API for Coveo Platform
  termsOfService: https://www.coveo.com/en/support/terms-agreements
  contact:
    name: Coveo
    url: https://connect.coveo.com/s/discussions
  version: 1.0.0
servers:
- url: https://platform.cloud.coveo.com
  description: Coveo public API endpoint
security:
- oauth2:
  - full
tags:
- name: Snapshot
paths:
  /rest/organizations/{organizationId}/snapshots/{snapshotId}/push:
    put:
      tags:
      - Snapshot
      summary: Push Snapshot to Target Organization
      description: 'Pushes a snapshot to an organization.</br>**Required privileges:**<br/>- `Snapshot - Edit` in both organizations.<br/>- `View` in the original organization on all [domains](https://docs.coveo.com/en/2819/) targeted by the snapshot.<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"SNAPSHOTS","type":"EDIT","targetId":"*"}

        ```

        </details>'
      operationId: pushSnapshot
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
        required: true
        schema:
          type: string
      - name: snapshotId
        in: path
        description: The unique identifier of the target snapshot.<br/>**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
        required: true
        schema:
          type: string
      - name: targetOrganizationId
        in: query
        description: The unique identifier of the [organization](https://docs.coveo.com/en/185/) where to send the snapshot.<br/>**Example:** `destinationorganizationg7dg3gd`
        required: true
        schema:
          type: string
      - name: developerNotes
        in: query
        description: A note you can attach to your snapshot.<br/>**Example:** `pipeline snapshot`
        required: false
        schema:
          type: string
      responses:
        '204':
          description: No Content
      x-pretty-name: pushSnapshot
      x-required-privilege:
        owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: EDIT
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: EDIT
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/snapshots/paramId/push_put
  /rest/organizations/{organizationId}/snapshots/{snapshotId}/dryrun:
    put:
      tags:
      - Snapshot
      summary: Validate Snapshot
      description: 'Checks the effects of applying a snapshot to an organization.</br>**Required privileges:**<br/> - `Snapshot - Edit`<br/> - `View` on all domains corresponding to the resources targeted by the snapshot<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"SNAPSHOTS","type":"EDIT","targetId":"*"}

        ```

        </details>'
      operationId: dryrun
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
        required: true
        schema:
          type: string
      - name: snapshotId
        in: path
        description: The unique identifier of the target snapshot.<br/>**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
        required: true
        schema:
          type: string
      - name: deleteMissingResources
        in: query
        description: Whether to simulate the deletion of organization resources not present in the snapshot.<br/>**Default:** `false`
        required: false
        schema:
          type: boolean
          default: false
      - name: deletionScope
        in: query
        description: '**Note:** only applies when `deleteMissingResources` is set to `true`.<br/>The scope of the resources on which to calculate deletions.<br/>**Default:** `ONLY_TYPES_FROM_SNAPSHOT`'
        required: false
        schema:
          type: string
          enum:
          - ALL_MANAGED_RESOURCES
          - ONLY_TYPES_FROM_SNAPSHOT
          default: ONLY_TYPES_FROM_SNAPSHOT
      - name: performAutoSynchronization
        in: query
        description: Whether to automatically synchronize resources in the snapshot with corresponding organization resources.<br/>**Default:** `true`
        required: false
        schema:
          type: boolean
          default: true
      - name: autoSynchronizationThreshold
        in: query
        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 1 will require an exact match for synchronization of fields.
        required: false
        schema:
          type: number
          format: float
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ReportModel'
      x-pretty-name: dryrun
      x-required-privilege:
        owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: EDIT
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: EDIT
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/snapshots/paramId/dryrun_put
  /rest/organizations/{organizationId}/snapshots/{snapshotId}/apply:
    put:
      tags:
      - Snapshot
      summary: Apply Snapshot
      description: 'Applies a snapshot to an organization.</br>**Required privileges:**<br/> - `Snapshot - Edit`<br/> - `Edit` on all domains corresponding to the resources targeted by the snapshot<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"SNAPSHOTS","type":"EDIT","targetId":"*"}

        ```

        </details>'
      operationId: apply
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
        required: true
        schema:
          type: string
      - name: snapshotId
        in: path
        description: The unique identifier of the target snapshot.<br/>**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
        required: true
        schema:
          type: string
      - name: deleteMissingResources
        in: query
        description: Whether to delete organization resources not present in the snapshot.<br/>**Default:** `false`
        required: false
        schema:
          type: boolean
          default: false
      - name: deletionScope
        in: query
        description: '**Note:** only applies when `deleteMissingResources` is set to `true`.<br/>The scope of the resources on which to calculate deletions.<br/>**Default:** `ONLY_TYPES_FROM_SNAPSHOT`'
        required: false
        schema:
          type: string
          enum:
          - ALL_MANAGED_RESOURCES
          - ONLY_TYPES_FROM_SNAPSHOT
          default: ONLY_TYPES_FROM_SNAPSHOT
      - name: isTransient
        in: query
        description: Whether to delete the snapshot after it has been applied.<br/>**Default:** `false`
        required: false
        schema:
          type: boolean
          default: false
      - name: validationRequired
        in: query
        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 during the validation, the service stops and returns an error report.<br/>**Default:** `false`
        required: false
        schema:
          type: boolean
          default: false
      - name: performAutoSynchronization
        in: query
        description: Whether to automatically synchronize resources in the snapshot with corresponding organization resources.<br/>**Default:** `true`
        required: false
        schema:
          type: boolean
          default: true
      - name: autoSynchronizationThreshold
        in: query
        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 1 will require an exact match for synchronization of fields.
        required: false
        schema:
          type: number
          format: float
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ReportModel'
      x-pretty-name: apply
      x-required-privilege:
        owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: EDIT
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: EDIT
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/snapshots/paramId/apply_put
  /rest/organizations/{organizationId}/snapshots:
    get:
      tags:
      - Snapshot
      summary: List Snapshots
      description: 'Lists the snapshots in an [organization](https://docs.coveo.com/en/185/).</br>**Required privilege:** `Snapshot - View`<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"SNAPSHOTS","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: getAllSnapshots
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
        required: true
        schema:
          type: string
      - name: includeReports
        in: query
        description: Whether to include snapshot reports in the response.<br/>**Default:** `true`
        required: false
        schema:
          type: boolean
          default: true
      - name: filter
        in: query
        required: false
        schema:
          type: string
      - name: sortingOrder
        in: query
        required: false
        schema:
          type: string
          enum:
          - ASC
          - DESC
          default: ASC
      - name: sortingType
        in: query
        required: false
        schema:
          type: string
          enum:
          - CREATED_DATE
          - DEVELOPER_NOTE
          - CREATED_BY
          - ORIGIN_ID
          default: CREATED_DATE
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SnapshotModel'
      x-pretty-name: getAllSnapshots
      x-required-privilege:
        owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: VIEW
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: VIEW
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/snapshots_get
    post:
      tags:
      - Snapshot
      summary: Create Snapshot from Configuration
      description: 'Creates a snapshot from a configuration.</br>**Required privilege:**` Snapshot - Edit`<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"SNAPSHOTS","type":"EDIT","targetId":"{snapshotId}"}

        ```

        </details>'
      operationId: createSnapshot
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SnapshotModel'
        required: true
      responses:
        '201':
          description: Created
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/SnapshotModel'
      x-pretty-name: createSnapshot
      x-required-privilege:
        owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: EDIT
        targetId: '{snapshotId}'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: EDIT
        targetId: '{snapshotId}'
      x-ui-operation-id: /rest/organizations/paramId/snapshots_post
  /rest/organizations/{organizationId}/snapshots/self:
    post:
      tags:
      - Snapshot
      summary: Create Organization Snapshot
      description: 'Creates a snapshot of an organization and optionally sends it to another organization.</br>**Required privileges:**<br/> - `Snapshot - Edit`<br/> - `View` on all domains corresponding to the resources to include in the snapshot.<br>- If exporting to another organization, you also need `Snapshot - Edit` privilege in that target organization.<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"SNAPSHOTS","type":"CREATE","targetId":"*"}

        ```

        </details>'
      operationId: createSnapshotFromSelf
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
        required: true
        schema:
          type: string
      - name: targetOrganizationId
        in: query
        description: The unique identifier of the [organization](https://docs.coveo.com/en/185/) where to send the snapshot.<br/>**Example:** `destinationorganizationg7dg3gd`<br/>By default, the snapshot remains in the original organization.
        required: false
        schema:
          type: string
      - name: developerNotes
        in: query
        description: A note you can attach to your snapshot.<br/>**Example:** `pipeline snapshot`
        required: false
        schema:
          type: string
      - name: includeChildrenResources
        in: query
        description: Whether to include child resources in the snapshot.<br/>For example, when creating a snapshot of a query pipeline resource, if the `includeChildrenResources` parameter is set to true, the [pipeline's statements](https://docs.coveo.com/en/236/) will be included in the snapshot.<br/>**Default:** `true`
        required: false
        schema:
          type: boolean
          default: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExportConfigurationModel'
        required: true
      responses:
        '201':
          description: Created
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/SnapshotModel'
      x-pretty-name: createSnapshotFromSelf
      x-required-privilege:
        owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: CREATE
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: CREATE
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/snapshots/self_post
  /rest/organizations/{organizationId}/snapshots/file:
    post:
      tags:
      - Snapshot
      summary: Create Snapshot from File
      description: 'Creates a snapshot from a file containing the configuration (or multiple files zipped into one).</br>**Required privilege:** `Snapshot - Edit`<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"SNAPSHOTS","type":"CREATE","targetId":"*"}

        ```

        </details>'
      operationId: createSnapshotFromFile
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
        required: true
        schema:
          type: string
      - name: snapshotFileType
        in: query
        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 configuration is separated into several JSON files, each containing one or more resources, without overlap between files'
        required: true
        schema:
          type: string
          enum:
          - JSON
          - ZIP
      - name: developerNotes
        in: query
        description: A note you can attach to your snapshot.<br/>**Example:** `pipeline snapshot`
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              required:
              - file
              type: object
              properties:
                file:
                  type: string
                  description: The file containing the configuration.
                  format: binary
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SnapshotModel'
      x-pretty-name: createSnapshotFromFile
      x-required-privilege:
        owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: CREATE
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: CREATE
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/snapshots/file_post
  /rest/organizations/{organizationId}/snapshots/{snapshotId}:
    get:
      tags:
      - Snapshot
      summary: Show Snapshot
      description: 'Shows a snapshot in an organization.</br>**Required privilege:** `Snapshot - View`<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"SNAPSHOTS","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: getSnapshot
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
        required: true
        schema:
          type: string
      - name: snapshotId
        in: path
        description: The unique identifier of the target snapshot.<br/>**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
        required: true
        schema:
          type: string
      - name: includeReports
        in: query
        description: Whether to include reports with the snapshot.<br/>**Default:** `true`
        required: false
        schema:
          type: boolean
          default: true
      - name: reportInclusion
        in: query
        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 run, application, synchronization, diff report generation).<br/> - `ALL`: all reports.<br/>**Default:** `SUMMARY`'
        required: false
        schema:
          type: string
          enum:
          - NONE
          - SUMMARY
          - ALL
          default: SUMMARY
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/SnapshotModel'
      x-pretty-name: getSnapshot
      x-required-privilege:
        owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: VIEW
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: VIEW
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/snapshots/paramId_get
    delete:
      tags:
      - Snapshot
      summary: Delete Snapshot
      description: 'Deletes a snapshot in an organization.</br>**Required privilege:** `Snapshot - Edit`<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"SNAPSHOTS","type":"EDIT","targetId":"*"}

        ```

        </details>'
      operationId: deleteSnapshot
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
        required: true
        schema:
          type: string
      - name: snapshotId
        in: path
        description: The unique identifier of the target snapshot.<br/>**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
      x-pretty-name: deleteSnapshot
      x-required-privilege:
        owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: EDIT
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: EDIT
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/snapshots/paramId_delete
  /rest/organizations/{organizationId}/snapshots/{snapshotId}/url:
    get:
      tags:
      - Snapshot
      summary: Create URL to Retrieve Snapshot Content
      description: 'Creates a URL from which to retrieve the content of a snapshot.</br>**Required privileges:**<br/>- `Snapshot - View`<br/>- `View` on all domains corresponding to the resources included in the snapshot<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"SNAPSHOTS","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: generatePresignedUrl
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
        required: true
        schema:
          type: string
      - name: snapshotId
        in: path
        description: The unique identifier of the target snapshot.<br/>**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
        required: true
        schema:
          type: string
      - name: contentType
        in: query
        description: 'The version of the snapshot to show.<br/>**Possible values:**<br/> - `PRIMARY`: The actual snapshot content.<br/> - `CURRENT_STATE`: The resources targeted by the snapshot as they were in the target organization itself at the moment of the last dry run operation. This is useful to compare with the actual snapshot content (`PRIMARY`) before applying it.<br/>**Default:** `PRIMARY`'
        required: false
        schema:
          type: string
          enum:
          - PRIMARY
          - CURRENT_STATE
          default: PRIMARY
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/UrlWithExpirationModel'
      x-pretty-name: generatePresignedUrl
      x-required-privilege:
        owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: VIEW
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: VIEW
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/snapshots/paramId/url_get
  /rest/organizations/{organizationId}/snapshots/{snapshotId}/diff:
    get:
      tags:
      - Snapshot
      summary: Show Snapshot Diff Report
      description: 'Shows the diff report for the target snapshot and dry-run report.</br>**Required privilege:** `Snapshot - View`<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"SNAPSHOTS","type":"EDIT","targetId":"*"}

        ```

        </details>'
      operationId: diff
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
        required: true
        schema:
          type: string
      - name: snapshotId
        in: path
        description: The unique identifier of the target snapshot.<br/>**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
        required: true
        schema:
          type: string
      - name: relativeReportId
        in: query
        description: The unique identifier of the dry-run operation report associated with the target diff report.
        required: true
        schema:
          type: string
      - name: numberOfLinesMax
        in: query
        description: Maximum number of lines before the diff is downloaded to a file.
        required: false
        schema:
          type: integer
          format: int32
          default: 2147483647
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DiffGenerationReportModel'
      x-pretty-name: diff
      x-required-privilege:
        owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: EDIT
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: EDIT
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/snapshots/paramId/diff_get
  /rest/organizations/{organizationId}/snapshots/{snapshotId}/content:
    get:
      tags:
      - Snapshot
      summary: Retrieve Snapshot Content
      description: 'Retrieves a ZIP file holding the content of the target snapshot, in the target format.</br>**Required privileges:**<br/>- `Snapshot - View`<br/>- `View` on all domains corresponding to the resources included in the snapshot<br /><br /><details><summary>Privilege required</summary>

        ```

        {"owner":"PLATFORM","targetDomain":"SNAPSHOTS","type":"VIEW","targetId":"*"}

        ```

        </details>'
      operationId: getArchivedSnapshotContent
      parameters:
      - name: organizationId
        in: path
        description: The unique identifier of the [organization](https://docs.coveo.com/en/185/).<br/>**Example:** `startingorganizationg8tp8wu3`
        required: true
        schema:
          type: string
      - name: snapshotId
        in: path
        description: The unique identifier of the target snapshot.<br/>**Example:** `startingorganization-xzgbf5rdaiqtaznvh74zdwcedi`
        required: true
        schema:
          type: string
      - name: contentFormat
        in: query
        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
        required: false
        schema:
          type: string
          enum:
          - FLAT
          - SPLIT_PER_TYPE
          default: FLAT
      responses:
        '200':
          description: OK
          content:
            application/zip:
              schema:
                $ref: '#/components/schemas/StreamingResponseBody'
      x-pretty-name: getArchivedSnapshotContent
      x-required-privilege:
        owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: VIEW
        targetId: '*'
      x-required-privileges:
      - owner: PLATFORM
        targetDomain: SNAPSHOTS
        type: VIEW
        targetId: '*'
      x-ui-operation-id: /rest/organizations/paramId/snapshots/paramId/content_get
components:
  schemas:
    DiffGenerationReportModel:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the report.
          example: '`startingorganizationg8tp8wu3-upxq6zdy5lueuidcksoadlsl3e`'
        snapshotId:
          type: string
          description: The unique identifier of the snapshot.
        relativeReportId:
          type: string
          description: The unique identifier of the dry-run report that triggered the current diff generation.
        updatedDate:
          type: string
          description: The report last update date in number of milliseconds since UNIX epoch.
          format: date-time
        status:
          type: string
          description: The status of the operation.
          enum:
          - PENDING
          - IN_PROGRESS
          - COMPLETED
          - ABORTED
        files:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/UrlWithExpirationAndNumberOfLinesModel'
          description: The generated files, separated by resource type.
        contentPatchFiles:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/UrlWithExpirationAndNumberOfLinesModel'
          description: The generated content patch files, separated by resource type.
    CurrentStage:
      type: object
      properties:
        stage:
          type: string
          enum:
          - CREATING_SNAPSHOT
          - INITIAL_PROCESSING
          - SYNCHRONIZING
          - COMPUTING_OPERATIONS
          - VALIDATING_OPERATIONS
          - PERFORMING_OPERATIONS
        progressValue:
          type: number
          format: float
        progressType:
          type: string
          enum:
          - BINARY
          - PERCENTAGE
      description: The current stage being executed, with its related progress value.
    SnapshotModel:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the target snapshot.
          example: destinationorganizationg7dg3gd-8dfs7hj3k
        createdBy:
          type: string
          description: The username of the snapshot creator.
          example: '`jdoe@example.com`'
        createdDate:
          type: string
          description: The date of creation of the snapshot in number of milliseconds since UNIX epoch.
          format: date-time
        originId:
          type: string
          description: The unique identifier of the [organization](https://docs.coveo.com/en/185/) from whichthe snapshot originates, if it differs from the current organization.
          example: '`startingorganizationg8tp8wu3`'
        targetId:
          type: string
          description: The unique identifier of the organization in which the snapshot applies.
          example: '`destinationorganizationg7dg3gd`'
        developerNote:
          type: string
          description: A note you can attach to your snapshot.
          example: '`pipeline snapshot`'
        reports:
          type: array
          description: The list of reports of events on the snapshot.
          items:
            $ref: '#/components/schemas/ReportModel'
        synchronizationReports:
          type: array
          description: The list of synchronization reports on the snapshot.
          items:
            $ref: '#/components/schemas/SynchronizationReportModel'
        diffGenerationReports:
          type: array
          items:
            $ref: '#/components/schemas/DiffGenerationReportModel'
        contentSummary:
          type: object
          additionalProperties:
            type: integer
            description: 'A summary of the contents of the snapshot.<br/>**Example:**`{QUERY_PIPELINE: 1, RANKING_EXPRESSION: 1}`'
            format: int32
          description: 'A summary of the contents of the snapshot.<br/>**Example:**`{QUERY_PIPELINE: 1, RANKING_EXPRESSION: 1}`'
        snapshotContentModel:
          $ref: '#/components/schemas/SnapshotContentModel'
      description: The snapshot configuration.
    StreamingResponseBody:
      type: object
    SnapshotMetadataModel:
      type: object
      properties:
        schemaVersion:
          type: string
          description: The schema version used to specify the snapshot content.
          enum:
          - v1
      description: Metadata about the snapshot.
    UrlWithExpirationAndNumberOfLinesModel:
      type: object
      properties:
        url:
          type: string
        urlExpiration:
          type: string
          format: date-time
        numberOfLines:
          type: integer
          format: int32
      description: The generated content patch files, separated by resource type.
    SnapshotContentModel:
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/SnapshotMetadataModel'
        resources:
          type: object
 

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/openapi/coveo-snapshot-api-openapi.yml