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.

Operations 11

GET /api/v1/restore/instantRecovery/vmware/fcd Get All FCD Mounts #
POST /api/v1/restore/instantRecovery/vmware/fcd Start Instant FCD Recovery #
GET /api/v1/restore/instantRecovery/vmware/fcd/{mountId} Get FCD Mount #
POST /api/v1/restore/instantRecovery/vmware/fcd/{mountId}/dismount Stop FCD Publishing #
POST /api/v1/restore/instantRecovery/vmware/fcd/{mountId}/migrate Start FCD Migration #
GET /api/v1/restore/instantRecovery/vmware/vm Get All VM Mounts #
POST /api/v1/restore/instantRecovery/vmware/vm Start Instant Recovery #
GET /api/v1/restore/instantRecovery/vmware/vm/{mountId} Get VM Mount #
POST /api/v1/restore/instantRecovery/vmware/vm/{mountId}/migrate Start VM Migration #
POST /api/v1/restore/instantRecovery/vmware/vm/{mountId}/unmount Stop VM Publishing #
POST /api/v1/restore/vmRestore/vmware/ Start Entire VM Restore #

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/veeam-restore-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

veeam-restore-api-openapi.yml Raw ↑
openapi: 3.2.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.
servers:
- url: https://localhost:9419
  description: Base URL declared by the provider in apis.yml (roadmap#122).
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:
    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
    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
    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.
    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
    EVmwareInventoryType:
      description: Type of the VMware vSphere object.
      enum:
      - Unknown
      - VirtualMachine
      - vCenterServer
      - Datacenter
      - Cluster
      - Host
      - ResourcePool
      - Folder
      - Datastore
      - DatastoreCluster
      - StoragePolicy
      - Template
      - ComputeResource
      - VirtualApp
      - Tag
      - Category
      - Multitag
      - Network
      type: string
    EVmwareFcdInstantRecoveryMountsFiltersOrderColumn:
      enum:
      - state
      - name
      type: string
    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
    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
    EntireViVMOriginalLocationRestoreSpec:
      allOf:
      - $ref: '#/components/schemas/BaseEntireViVMRestoreSpec'
      - properties:
          quickRollback:
            description: If *true*, Veeam Backup & Replication performs incremental restore.
            type: boolean
        type: object
      description: Restore to the original location with initial settings.
    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
    EInstantViVMRecoveryMountsFiltersOrderColumn:
      description: Sorts mounts by one of the mount parameters.
      enum:
      - state
      - name
      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
    ESessionResult:
      description: Result status.
      enum:
      - None
      - Success
      - Warning
      - Failed
      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
    InstantViVMOriginalLocationRecoverySpec:
      allOf:
      - $ref: '#/components/schemas/BaseInstantViVMRecoverySpec'
      description: Instant Recovery to the original location with initial settings.
    EntireViVMCustomizedRestoreSpec:
      allOf:
      - $ref: '#/components/schemas/BaseEntireViVMRestoreSpec'
      - properties:
          datastore:
            $ref: '#/components/schemas/RestoreTargetDatastoreSpec'
          destinationHost:
            $ref: '#/components/schemas/VmwareObjectModel'
          folder:
            $ref: '#/components/schemas/RestoreTargetFolderSpec'
          network:
            $ref: '#/components/schemas/RestoreTargetNetworkSpec'
          resourcePool:
            $ref: '#/components/schemas/VmwareObjectModel'
        type: object
      description: Restore to a new location or with different settings. To get models of the destination host and resource pool, use the [Get VMware vSphere Server Objects](#tag/Inventory-Browser/operation/GetVmwareHostObject) request.
    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
    ESessionType:
      description: Type of the session.
      enum:
      - Infrastructure
      - Job
      - Automation
      - ConfigurationBackup
      - RepositoryMaintenance
      - RepositoryEvacuate
      - InfrastructureItemDeletion
      - RestoreVm
      - InstantRecovery
      - FirstClassDiskInstantRestore
      - AzureApplianceDeploy
      - QuickMigration
      type: string
    InstantViVMRecoverySpec:
      allOf:
      - discriminator:
          mapping:
            Customized: '#/components/schemas/InstantViVMCustomizedRecoverySpec'
            OriginalLocation: '#/components/schemas/InstantViVMOriginalLocationRecoverySpec'
          propertyName: type
        oneOf:
        - $ref: '#/components/schemas/InstantViVMOriginalLocationRecoverySpec'
        - $ref: '#/components/schemas/InstantViVMCustomizedRecoverySpec'
      - $ref: '#/components/schemas/BaseInstantViVMRecoverySpec'
    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
    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
    ESessionState:
      description: State of the session.
      enum:
      - Stopped
      - Starting
      - Stopping
      - Working
      - Pausing
      - Resuming
      - WaitingTape
      - Idle
      - Postprocessing
      - WaitingRepository
      - WaitingSlot
      type: string
    EInstantRecoveryMountState:
      description: Mount state.
      enum:
      - Failed
      - Mounting
      - Mounted
      - Dismounting
      type: string
    EEntireVMRestoreModeType:
      description: Restore mode.
      enum:
      - OriginalLocation
      - Customized
      type: string
    VmwareFcdInstantRecoveryMountsFilters:
      properties:
        limit:
          format: int32
          type: integer
        nameFilter:
          type: string
        orderAsc:
          type: boolean
        orderColumn:
          $ref: '#/components/schemas/EVmwareFcdInstantRecoveryMountsFiltersOrderColumn'
        skip:
          format: int32
          type: integer
        stateFilter:
          $ref: '#/components/schemas/EInstantRecoveryMountState'
      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
    SessionResultModel:
      description: Session result.
      properties:
        isCanceled:
          description: If *true*, the session has been canceled.
          type: boolean
        message:
          description: Message that explains the session result.
          type: string
        result:
          $ref: '#/components/schemas/ESessionResult'
      required:
      - result
      type: object
    EInstantViVmRecoveryBiosUuidPolicyType:
      description: BIOS UUID policy for the restored VM.
      enum:
      - preserve
      - generateNew
      type: string
    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
    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 numb

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