Veeam Restore API

The Restore section defines paths and operations for performing restore. NOTEIn the current version, the REST API supports the following recovery operations: Instant Recovery of a VMware vSphere VM to VMware vSphere Entire VM restore of a VMware vSphere VM to VMware vSphere Restore of disks that will be registered as First Class Disks (FCD) — a type of virtual disks that can be managed independent of any VM.

OpenAPI Specification

veeam-restore-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0-rev0
  title: Veeam Backup for AWS public API 1.0 Agents Restore API
  description: The Agents section defines paths and operations for managing recovery tokens used for bare metal recovery.
security:
- Bearer: []
tags:
- description: The Restore section defines paths and operations for performing restore.<br> <div class="note"><strong>NOTE</strong><br>In the current version, the REST API supports the following recovery operations:<ul> <li>Instant Recovery of a VMware vSphere VM to VMware vSphere</li> <li>Entire VM restore of a VMware vSphere VM to VMware vSphere</li> <li>Restore of disks that will be registered as First Class Disks (FCD) — a type of virtual disks that can be managed independent of any VM.</li></ul></div>
  name: Restore
paths:
  /api/v1/restore/instantRecovery/vmware/fcd:
    get:
      description: The HTTP GET request to the `/api/v1/restore/instantRecovery/vmware/fcd` path allows you to get an array of FCD mounts.
      operationId: GetAllVmwareFcdInstantRecoveryMountModels
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      - description: Number of mounts to skip.
        in: query
        name: skip
        schema:
          format: int32
          type: integer
        x-veeam-spec:
          $ref: '#/components/schemas/VmwareFcdInstantRecoveryMountsFilters'
      - description: Maximum number of mounts to return.
        in: query
        name: limit
        schema:
          format: int32
          type: integer
        x-veeam-spec:
          $ref: '#/components/schemas/VmwareFcdInstantRecoveryMountsFilters'
      - description: Sorts mounts by one of the mount parameters.
        in: query
        name: orderColumn
        schema:
          $ref: '#/components/schemas/EVmwareFcdInstantRecoveryMountsFiltersOrderColumn'
        x-veeam-spec:
          $ref: '#/components/schemas/VmwareFcdInstantRecoveryMountsFilters'
      - description: Sorts mounts in the ascending order by the `orderColumn` parameter.
        in: query
        name: orderAsc
        schema:
          type: boolean
        x-veeam-spec:
          $ref: '#/components/schemas/VmwareFcdInstantRecoveryMountsFilters'
      - description: Filters mounts by mount state.
        in: query
        name: stateFilter
        schema:
          $ref: '#/components/schemas/EInstantRecoveryMountState'
        x-veeam-spec:
          $ref: '#/components/schemas/VmwareFcdInstantRecoveryMountsFilters'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwareFcdInstantRecoveryMountsResult'
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Get All FCD Mounts
      tags:
      - Restore
      x-veeam-authorize:
        claims:
        - ViewIRMountedDisks
    post:
      description: The HTTP POST request to the `/api/v1/restore/instantRecovery/vmware/fcd/` path allows you to start Instant FCD Recovery from the restore point to the destination cluster.<br>Specify the destination cluster in the `destinationCluster` parameter of the request body as a model of the VMware vSphere object. For details on how to get the cluster model, see [Get VMware vSphere Server Objects](#tag/Inventory-Browser/operation/GetVmwareHostObject).
      operationId: InstantRecoveryVmwareFcdMountWithSession
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VmwareFcdInstantRecoverySpec'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionModel'
          description: Instant FCD Recovery has been started. To check the progress, track the session `state`.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Start Instant FCD Recovery
      tags:
      - Restore
      x-veeam-authorize:
        claims:
        - StartFCDInstantRecovery
  /api/v1/restore/instantRecovery/vmware/fcd/{mountId}:
    get:
      description: The HTTP GET request to the `/api/v1/restore/instantRecovery/vmware/fcd/{mountId}` path allows you to get information about the mounted vPower NFS datastore, such as restore session ID, mount state, instant FCD recovery settings and disks that will be recovered.
      operationId: GetVmwareFcdInstantRecoveryMountModel
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      - description: Mount ID.
        in: path
        name: mountId
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VmwareFcdInstantRecoveryMount'
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Get FCD Mount
      tags:
      - Restore
      x-veeam-authorize:
        claims:
        - ViewIRMountedDisks
  /api/v1/restore/instantRecovery/vmware/fcd/{mountId}/dismount:
    post:
      description: The HTTP POST request to the `/api/v1/restore/instantRecovery/vmware/fcd/{mountId}/dismount` path allows you to stop publishing the recovered FCDs and remove the disks from the datastore.
      operationId: InstantRecoveryVmwareFcdDismountWithSession
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      - description: Mount ID.
        in: path
        name: mountId
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionModel'
          description: Disks has been unmounted. To check the progress, track the session `state`.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Stop FCD Publishing
      tags:
      - Restore
      x-veeam-authorize:
        claims:
        - DismountIRDisks
  /api/v1/restore/instantRecovery/vmware/fcd/{mountId}/migrate:
    post:
      description: The HTTP POST request to the `/api/v1/restore/instantRecovery/vmware/fcd/{mountId}/migrate` path allows you to start migration of FCDs from the specified mount.<br>In the request body specify FCD migration configuration:<ul> <li>Disks for migration</li> <li>Target datastore</li> <li>Storage policy that will be applied to the migrated disks</li></ul> For details on how to get models of the datastore and storage policy, see [Get VMware vSphere Server Objects](#tag/Inventory-Browser/operation/GetVmwareHostObject).
      operationId: InstantRecoveryVmwareFcdMigrateWithSession
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      - description: Mount ID.
        in: path
        name: mountId
        required: true
        schema:
          format: uuid
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VmwareFcdQuickMigrationSpec'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionModel'
          description: FCD Migration has been started. To check the progress, track the session `state`.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Start FCD Migration
      tags:
      - Restore
      x-veeam-authorize:
        claims:
        - MigrateIRMountedDisks
  /api/v1/restore/instantRecovery/vmware/vm:
    get:
      description: The HTTP GET request to the `/api/v1/restore/instantRecovery/vmware/vm` path allows you to get an array of VM mounts.
      operationId: GetAllInstantViVMRecoveryMounts
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      - description: Number of mounts to skip.
        in: query
        name: skip
        schema:
          format: int32
          type: integer
        x-veeam-spec:
          $ref: '#/components/schemas/InstantViVMRecoveryMountsFilters'
      - description: Maximum number of mounts to return.
        in: query
        name: limit
        schema:
          format: int32
          type: integer
        x-veeam-spec:
          $ref: '#/components/schemas/InstantViVMRecoveryMountsFilters'
      - description: Sorts mounts by one of the mount parameters.
        in: query
        name: orderColumn
        schema:
          $ref: '#/components/schemas/EInstantViVMRecoveryMountsFiltersOrderColumn'
        x-veeam-spec:
          $ref: '#/components/schemas/InstantViVMRecoveryMountsFilters'
      - description: Sorts mounts in the ascending order by the `orderColumn` parameter.
        in: query
        name: orderAsc
        schema:
          type: boolean
        x-veeam-spec:
          $ref: '#/components/schemas/InstantViVMRecoveryMountsFilters'
      - description: Filters mounts by mount state.
        in: query
        name: stateFilter
        schema:
          $ref: '#/components/schemas/EInstantRecoveryMountState'
        x-veeam-spec:
          $ref: '#/components/schemas/InstantViVMRecoveryMountsFilters'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstantViVMRecoveryMountsResult'
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Get All VM Mounts
      tags:
      - Restore
      x-veeam-authorize:
        claims:
        - ViewIRMountedVMs
    post:
      description: The HTTP POST request to the `/api/v1/restore/instantRecovery/vmware/vm/` path allows you to start Instant Recovery of a VMware vSphere VM to VMware vSphere. You can recover a VM from the specified restore point to the original location with initial VM settings, or to any location but with different settings.
      operationId: InstantViVMRecoveryMount
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstantViVMRecoverySpec'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionModel'
          description: Instant Recovery to VMware vSphere has been started.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Start Instant Recovery
      tags:
      - Restore
      x-veeam-authorize:
        claims:
        - StartViVMInstantRecovery
  /api/v1/restore/instantRecovery/vmware/vm/{mountId}:
    get:
      description: The HTTP GET request to the `/api/v1/restore/instantRecovery/vmware/vm/{mountId}` path allows you to get a VM mount that has the specified `mountID`.
      operationId: GetInstantViVMRecoveryMount
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      - description: Mount ID.
        in: path
        name: mountId
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstantViVMRecoveryMount'
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Get VM Mount
      tags:
      - Restore
      x-veeam-authorize:
        claims:
        - ViewIRMountedVMs
  /api/v1/restore/instantRecovery/vmware/vm/{mountId}/migrate:
    post:
      description: The HTTP POST request to the `/api/v1/restore/instantRecovery/vmware/vm/{mountId}/migrate` path allows you to start VM migration from the specified mount.
      operationId: InstantViVMRecoveryMigrate
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      - description: Mount ID.
        in: path
        name: mountId
        required: true
        schema:
          format: uuid
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ViVMQuickMigrationSpec'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionModel'
          description: VM Migration has been started. To check the progress, track the session `state`.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Start VM Migration
      tags:
      - Restore
      x-veeam-authorize:
        claims:
        - MigrateIRMountedVMs
  /api/v1/restore/instantRecovery/vmware/vm/{mountId}/unmount:
    post:
      description: The HTTP POST request to the `/api/v1/restore/instantRecovery/vmware/vm/{mountId}/unmount` path allows you to stop publishing the recovered VM and remove it from the destination host.
      operationId: InstantViVMRecoveryUnmount
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      - description: Mount ID.
        in: path
        name: mountId
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionModel'
          description: VM has been unpublished.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Stop VM Publishing
      tags:
      - Restore
      x-veeam-authorize:
        claims:
        - DismountIRVMs
  /api/v1/restore/vmRestore/vmware/:
    post:
      description: The HTTP POST request to the `/api/v1/restore/vmRestore/vmware/` path allows you to perform entire VM restore of a VMware vSphere VM to VMware vSphere. You can restore a VM from the specified restore point to the original location with initial VM settings, or to any location but with different settings.
      operationId: EntireVmRestoreVmware
      parameters:
      - $ref: '#/components/parameters/apiVersionParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntireViVMRestoreSpec'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionModel'
          description: Restore session has been created. To check the progress, track the session `state`.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Start Entire VM Restore
      tags:
      - Restore
      x-veeam-authorize:
        claims:
        - StartEntireVmRestore
components:
  schemas:
    InstantViVMRecoveryMountsFilters:
      properties:
        limit:
          description: Maximum number of mounts to return.
          format: int32
          type: integer
        nameFilter:
          description: Filters mounts by the `nameFilter` pattern. The pattern can match any mount parameter. To substitute one or more characters, use the asterisk (*) character at the beginning, at the end or both.
          type: string
        orderAsc:
          description: Sorts mounts in the ascending order by the `orderColumn` parameter.
          type: boolean
        orderColumn:
          $ref: '#/components/schemas/EInstantViVMRecoveryMountsFiltersOrderColumn'
        skip:
          description: Number of mounts to skip.
          format: int32
          type: integer
        stateFilter:
          $ref: '#/components/schemas/EInstantRecoveryMountState'
      type: object
    ViVMQuickMigrationSpec:
      properties:
        DeleteSourceVmsFiles:
          description: If *true*, Veeam Backup & Replication will delete source VM files upon successful migration.
          type: boolean
        VeeamQMEnabled:
          description: If *true*, the Veeam Quick Migration mechanism is used. Otherwise, Veeam Backup & Replication will use VMware vMotion for migration.
          type: boolean
        datastore:
          $ref: '#/components/schemas/VmwareObjectModel'
        destinationHost:
          $ref: '#/components/schemas/VmwareObjectModel'
        folder:
          $ref: '#/components/schemas/VmwareObjectModel'
        resourcePool:
          $ref: '#/components/schemas/VmwareObjectModel'
        sourceProxyIds:
          description: Array of source backup proxies.
          items:
            format: uuid
            type: string
          type: array
        targetProxyIds:
          description: Array of target backup proxies.
          items:
            format: uuid
            type: string
          type: array
      required:
      - destinationHost
      type: object
    EInstantViVmRecoveryBiosUuidPolicyType:
      description: BIOS UUID policy for the restored VM.
      enum:
      - preserve
      - generateNew
      type: string
    BaseEntireViVMRestoreSpec:
      properties:
        objectRestorePointId:
          description: ID of the restore point.
          format: uuid
          type: string
        powerUp:
          description: If *true*, Veeam Backup & Replication starts the restored VM on the target host.
          type: boolean
        reason:
          description: Reason for restoring the VM.
          type: string
        restoreProxies:
          $ref: '#/components/schemas/RestoreProxySpec'
        secureRestore:
          $ref: '#/components/schemas/SecureRestoreSpec'
        type:
          $ref: '#/components/schemas/EEntireVMRestoreModeType'
      type: object
    VmwareFcdWriteCacheSpec:
      description: Write cache for recovered disks.
      properties:
        cacheDatastore:
          $ref: '#/components/schemas/VmwareObjectModel'
        redirectIsEnabled:
          description: If *true*, cache redirection is enabled. In this case, all changes made to the recovered disks while the Instant FCD Recovery is active are redirected to the specified `cacheDatastore` associated with the `storagePolicy`.
          type: boolean
        storagePolicy:
          $ref: '#/components/schemas/VmwareObjectModel'
      required:
      - redirectIsEnabled
      type: object
    RestoreProxySpec:
      description: Backup proxies for VM data transport.
      properties:
        autoSelection:
          description: If *true*, Veeam Backup & Replication detects backup proxies that are connected to the source datastore and automatically assigns optimal proxy resources for processing VM data.
          type: boolean
        proxyIds:
          description: Array of backup proxy IDs.
          items:
            format: uuid
            type: string
          type: array
      required:
      - autoSelection
      type: object
    InstantViVMCustomizedRecoveryDatastoreSpec:
      description: Datastore that keeps redo logs with changes that take place while a VM is running from a backup.
      properties:
        cacheDatastore:
          $ref: '#/components/schemas/VmwareObjectModel'
        redirectIsEnabled:
          description: If *true*, redo logs are redirected to `cacheDatastore`.
          type: boolean
      required:
      - redirectIsEnabled
      type: object
    VmwareFcdInstantRecoveryMountsResult:
      properties:
        data:
          description: Array of FCD mounts.
          items:
            $ref: '#/components/schemas/VmwareFcdInstantRecoveryMount'
          type: array
        pagination:
          $ref: '#/components/schemas/PaginationResult'
      required:
      - data
      - pagination
      type: object
    VmwareObjectModel:
      description: VMware vSphere object.
      properties:
        hostName:
          description: Name of the VMware vSphere server that hosts the object.
          type: string
        name:
          description: Name of the VMware vSphere object.
          type: string
        objectId:
          description: ID of the VMware vSphere object. The parameter is required for all VMware vSphere objects except vCenter Servers and standalone ESXi hosts.
          type: string
        type:
          $ref: '#/components/schemas/EVmwareInventoryType'
      required:
      - name
      - type
      - hostName
      type: object
    Error:
      properties:
        errorCode:
          description: The error code is a string that uniquely identifies an error condition and should be understood by programs that detect and handle errors by type
          enum:
          - AccessDenied
          - ExpiredToken
          - InvalidToken
          - InvalidURI
          - MethodNotAllowed
          - NotFound
          - NotImplemented
          - ServiceUnavailable
          - UnexpectedContent
          - UnknownError
          type: string
        message:
          description: The error message contains a generic description of the error condition in English. It is intended for a human audience
          type: string
        resourceId:
          description: ID of the object that is involved in the error (or empty)
          type: string
      required:
      - errorCode
      - message
      type: object
    RestoreTargetDatastoreSpec:
      description: Destination datastore.
      properties:
        datastore:
          $ref: '#/components/schemas/VmwareObjectModel'
        diskType:
          $ref: '#/components/schemas/EDiskCreationMode'
      type: object
    VmwareFcdInstantRecoveryDiskSpec:
      properties:
        mountedDiskName:
          description: Name of the VMDK file that will be stored in the datastore.
          type: string
        nameInBackup:
          description: Disk name displayed in the backup.
          type: string
        registeredFcdName:
          description: Name under which the disk will be registered as an FCD in the vCenter Managed Object Browser.
          type: string
      required:
      - nameInBackup
      - mountedDiskName
      - registeredFcdName
      type: object
    InstantViVMCustomizedRecoverySpec:
      allOf:
      - $ref: '#/components/schemas/BaseInstantViVMRecoverySpec'
      - properties:
          datastore:
            $ref: '#/components/schemas/InstantViVMCustomizedRecoveryDatastoreSpec'
          destination:
            $ref: '#/components/schemas/InstantViVMCustomizedRecoveryDestinationSpec'
          overwrite:
            description: If *true*, Veeam Backup & Replication overwrites the existing VM that has the same name.
            type: boolean
        required:
        - destination
        - datastore
        type: object
      description: Instant Recovery to a new location or with different settings.
    InstantViVMRecoveryMountsResult:
      properties:
        data:
          description: Array of VM mounts.
          items:
            $ref: '#/components/schemas/InstantViVMRecoveryMount'
          type: array
        pagination:
          $ref: '#/components/schemas/PaginationResult'
      required:
      - data
      - pagination
      type: object
    VmwareFcdInstantRecoveryMount:
      properties:
        errorMessage:
          description: Error message.
          type: string
        id:
          description: Mount ID.
          format: uuid
          type: string
        mountedDisks:
          description: Array of mounted disks.
          items:
            $ref: '#/components/schemas/VmwareFcdInstantRecoveryDiskInfo'
          type: array
        sessionId:
          description: ID of the restore session. Use the ID to track the progress. For details, see [Get Session](#tag/Sessions/operation/GetSession).
          format: uuid
          type: string
        spec:
          $ref: '#/components/schemas/VmwareFcdInstantRecoverySpec'
        state:
          $ref: '#/components/schemas/EInstantRecoveryMountState'
      required:
      - id
      - sessionId
      - state
      - spec
      type: object
    VmwareFcdQuickMigrationSpec:
      properties:
        mountedDiskNames:
          description: Array of disks that will be migrated to the `targetDatastore` associated with the `storagePolicy`.
          items:
            type: string
          type: array
        storagePolicy:
          $ref: '#/components/schemas/VmwareObjectModel'
        targetDatastore:
          $ref: '#/components/schemas/VmwareObjectModel'
      required:
      - targetDatastore
      type: object
    SessionModel:
      properties:
        activityId:
          description: ID of the activity.
          format: uuid
          type: string
        creationTime:
          description: Date and time when the session was created.
          format: date-time
          type: string
        endTime:
          description: Date and time when the session was ended.
          format: date-time
          type: string
        id:
          description: ID of the session.
          format: uuid
          type: string
        name:
          description: Name of the session.
          type: string
        parentSessionId:
          description: ID of the parent session.
          format: uuid
          type: string
        progressPercent:
          description: Progress percentage of the session.
          type: integer
        resourceId:
          description: ID of the resource.
          format: uuid
          type: string
        resourceReference:
          description: URI of the resource.
          type: string
        result:
          $ref: '#/components/schemas/SessionResultModel'
        sessionType:
          $ref: '#/components/schemas/ESessionType'
        state:
          $ref: '#/components/schemas/ESessionState'
        usn:
          description: Update sequence number.
          format: int64
          type: integer
      required:
      - activityId
      - creationTime
      - id
      - name
      - sessionType
      - state
      - usn
      type: object
    VmwareFcdInstantRecoveryDiskInfo:
      properties:
        mountedDiskName:
          description: Name of the VMDK file that is stored in the datastore.
          type: string
        nameInBackup:
          description: Disk name displayed in the backup.
          type: string
        objectId:
          description: FCD ID.
          type: string
        registeredFcdName:
          description: Name under which the disk is registered as an FCD in the vCenter Managed Object Browser.
          type: string
      required:
      - nameInBackup
      - mountedDiskName
      - registeredFcdName
      - objectId
      type: object
    PaginationResult:
      description: Pagination settings.
      properties:
        count:
          description: Number of returned results.
          format: int32
          type: integer
        limit:
          description: Maximum number of results to return.
          format: int32
          type: integer
        skip:
          description: Number of skipped results.
          format: int32
          type: integer
        total:
          description: Total number of results.
          format: int32
          type: integer
      required:
      - total
      - count
      type: object
    EEntireVMRestoreModeType:
      description: Restore mode.
      enum:
      - OriginalLocation
      - Customized
      type: string
    SecureRestoreSpec:
      description: Secure restore settings.
      properties:
        enableAntivirusScan:
          description: If *true*, Veeam Backup & Replication scans machine data with antivirus software before restoring the machine to the production environment.
          type: boolean
        enableEntireVolumeScan:
          description: If *true*, the antivirus continues machine scan after the first malware is found.
          type: boolean
        virusDetectionAction:
          $ref: '#/components/schemas/EVirusDetectionAction'
      required:
      - enableAntivirusScan
      type: object
    RestoreTargetNetworkSpec:
      description: Network to which the restored VM is connected.
      properties:
        disconnected:
          description: If *true*, the restored VMs is not connected to any virtual network.
          type: boolean
        network:
          $ref: '#/components/schemas/VmwareObjectModel'
      required:
      - network
      type: object
    InstantViVMRecoveryMount:
      description: VM mount.
      properties:
        errorMessage:
          description: Error message.
          type: string
        id:
          description: Mount ID.
          format: uuid
          type: string
        sessionId:
          description: ID of the restore session. Use the ID to track the progress. For details, see [Get Session](#tag/Sessions/operation/GetSession).
          format: uuid
          type: string
        spec:
          $ref: '#/components/schemas/InstantViVMRecoverySpec'
        state:
          $ref: '#/components/schemas/EInstantRecoveryMountState'
        vmName:
          description: Name of the recovered VM.
          type: string
      required:
      - id
      - sessionId
      - state
      - spec
      - vmName
      type: object
    ESessionResult:
      description: Result status.
      enum:
      - None
      - Success
      - Warning
      - Failed
      type: string
    EDiskCreationMode:
      description: Disk format of the restored VM.
      enum:
      - Source
      - Thick
      - Thin
      - ThickEagerZeroed
      type: string
      x-enumDescriptions:
        Thick: Thick provision lazy zeroed.
        ThickEagerZeroed: Thick provision eager zeroed.
        Thin: Thin provision.
        Source: Same as source.
    SessionResultModel:
      description: Session result.
      properties:
        isCancele

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