Coveo Snapshot API

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

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

OpenAPI Specification

coveo-snapshot-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Coveo Activity Activities 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:
    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.
    SynchronizationReportModel:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the synchronization operation.
          example: '`startingorganizationg8tp8wu3-upxq6zdy5lueuidcksoadlsl3e`'
        updatedDate:
          type: string
          description: The date at which the report was created in number of milliseconds since UNIX epoch.
          format: date-time
        synchronizationPlanId:
          type: string
          description: The unique identifier of the synchronization plan.
          example: '`startingorganizationg8tp8wu3-xqtzk7c2lnskasagcxy75xkgp`'
        type:
          type: string
          description: The synchronization operation type.
          enum:
          - CREATE_SNAPSHOT
          - DRY_RUN
          - APPLY
          - CREATE_SYNCHRONIZATION_PLAN
          - APPLY_SYNCHRONIZATION_PLAN
          - GENERATE_DIFF
        status:
          type: string
          description: The synchronization operation status.
          enum:
          - PENDING
          - IN_PROGRESS
          - COMPLETED
          - ABORTED
        resultCode:
          type: string
          description: The synchronization operation result code at the end of the operation, if applicable.
          enum:
          - AUTO_SYNCHRONIZATION_FAILURE
          - EXTERNAL_SERVICE_COMMUNICATION_ERROR
          - RESOURCE_DEPENDENCY_CYCLE
          - RESOURCES_IN_ERROR
          - SUCCESS
          - UNABLE_TO_PUSH_TO_ORGANIZATION
          - UNABLE_TO_RETRIEVE_RESOURCES
          - UNEXPECTED_ERROR
          - UNSUPPORTED_RESOURCE
        resourcesProcessed:
          type: integer
          description: The number of resources processed by the synchronization.
          format: int32
        linkOperations:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SynchronizationReportLinkOperationsModel'
          description: The summaries of the outcome of the link operations for the different resource types.
        linkOperationDetails:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: string
              description: An object containing details about link operation failures, if applicable.
            description: An object containing details about link operation failures, if applicable.
          description: An object containing details about link operation failures, if applicable.
      description: A snapshot synchronization report.
    ResultInformation:
      type: object
      properties:
        resultCode:
          type: string
        message:
          type: string
      description: For each type of resource, an object containing failure details, if applicable.
    StreamingResponseBody:
      type: object
    SynchronizationReportLinkOperationsModel:
      type: object
      properties:
        linksCreated:
          type: integer
          description: The number of synchronization links created.
          format: int32
        linksOverridden:
          type: integer
          description: The number of synchronization links overridden.
          format: int32
        linksInError:
          type: integer
          description: The number of synchronization links in error.
          format: int32
      description: A summary of the outcome of the link operations.
    SnapshotMetadataModel:
      type: object
      properties:
        schemaVersion:
          type: string
          description: The schema version used to specify the snapshot content.
          enum:
          - v1
      description: Metadata about the snapshot.
    ExportConfigurationModel:
      type: object
      properties:
        resourcesToExport:
          type: object
          additionalProperties:
            type: array
            description: The export configuration model that specifies the resources to include in the snapshot.<br/>**Example:** `{"FIELD":null,"EXTENSION":["startingorganizationg8tp8wu3-re77u4uytfgsolmnsliomx2elu"],"QUERY_PIPELINE":["*"]}`
            items:
              type: string
              description: The export configuration model that specifies the resources to include in the snapshot.<br/>**Example:** `{"FIELD":null,"EXTENSION":["startingorganizationg8tp8wu3-re77u4uytfgsolmnsliomx2e

# --- 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