Slide Restores (Virtual Machine) API

Everything about [virtual machines](#model/virtualmachine)

Business capability
Disaster Recovery Management BC-160.20

Operations 5

GET /v1/restore/virt List virtual machines #
POST /v1/restore/virt Create virtual machine #
DELETE /v1/restore/virt/{virt_id} Delete virtual machine #
GET /v1/restore/virt/{virt_id} Get virtual machine #
PATCH /v1/restore/virt/{virt_id} Update virtual machine #

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/slide:slide-restores-virtual-machine-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

slide-restores-virtual-machine-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: hey@slide.tech
    name: Slide Team
    url: https://docs.slide.tech
  description: '## Introduction

    The Slide API is organized around REST.'
  title: Slide Restores (Virtual Machine) API
  version: 1.34.0
servers:
- url: https://api.slide.tech
security:
- BearerAuth: []
tags:
- description: Everything about virtual machines
  name: Restores (Virtual Machine)
paths:
  /v1/restore/virt:
    get:
      operationId: Virts
      parameters:
      - $ref: '#/components/parameters/QueryOffset'
      - $ref: '#/components/parameters/QueryLimit'
      - description: Sort by a specific field
        in: query
        name: sort_by
        schema:
          default: created
          enum:
          - created
          type: string
      - $ref: '#/components/parameters/QuerySortAsc'
      - $ref: '#/components/parameters/QueryCreatedAfter'
      - $ref: '#/components/parameters/QueryCreatedBefore'
      responses:
        '200':
          content:
            application/json:
              schema:
                description: Paginated response
                properties:
                  data:
                    description: List of virtual machines
                    items:
                      $ref: '#/components/schemas/VirtualMachine'
                    title: VirtualMachines
                    type: array
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                required:
                - pagination
                - data
                title: Paginated response
                type: object
          description: OK
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '500':
          $ref: '#/components/responses/500'
      summary: List virtual machines
      tags:
      - Restores (Virtual Machine)
    post:
      operationId: VirtCreate
      requestBody:
        content:
          application/json:
            examples:
              basic:
                summary: Basic virtual machine
                value:
                  device_id: d_0123456789ab
                  network_type: network-nat-isolated
                  snapshot_id: s_0123456789ab
              basic_disaster:
                summary: Basic disaster virtual machine
                value:
                  device_id: d_0123456789ab
                  network_type: network-nat-isolated
                  purpose: disaster
                  snapshot_id: s_0123456789ab
              basic_with_passphrase:
                summary: Basic virtual machine with passphrase
                value:
                  device_id: d_0123456789ab
                  network_type: network-nat-isolated
                  passphrase: Super Secret Passphrase
                  snapshot_id: s_0123456789ab
              bind_to_network:
                summary: Virtual machine with network binding
                value:
                  device_id: d_0123456789ab
                  network_source: net_012345
                  network_type: network-id
                  snapshot_id: s_0123456789ab
            schema:
              properties:
                boot_mods:
                  $ref: '#/components/schemas/BootMods'
                cpu_count:
                  $ref: '#/components/schemas/CPUCount'
                device_id:
                  $ref: '#/components/schemas/DeviceID'
                disk_bus:
                  $ref: '#/components/schemas/DiskBus'
                force_boot_menu:
                  $ref: '#/components/schemas/ForceBootMenu'
                memory_in_mb:
                  $ref: '#/components/schemas/MemoryInMB'
                network_model:
                  $ref: '#/components/schemas/NetworkModel'
                network_source:
                  allOf:
                  - $ref: '#/components/schemas/NetworkID'
                  description: If network_type is `network-id`, this is the network to bind the VM to.
                network_type:
                  $ref: '#/components/schemas/NetworkType'
                passphrase:
                  $ref: '#/components/schemas/Passphrase'
                purpose:
                  $ref: '#/components/schemas/Purpose'
                snapshot_id:
                  $ref: '#/components/schemas/SnapshotID'
                vnc_enabled:
                  $ref: '#/components/schemas/VNCEnabled'
              required:
              - snapshot_id
              - device_id
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachine'
          description: Created
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
      summary: Create virtual machine
      tags:
      - Restores (Virtual Machine)
  /v1/restore/virt/{virt_id}:
    delete:
      operationId: VirtDelete
      parameters:
      - $ref: '#/components/parameters/PathVirtID'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
      summary: Delete virtual machine
      tags:
      - Restores (Virtual Machine)
    get:
      operationId: VirtByID
      parameters:
      - $ref: '#/components/parameters/PathVirtID'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachine'
          description: OK
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
      summary: Get virtual machine
      tags:
      - Restores (Virtual Machine)
    patch:
      operationId: VirtUpdate
      parameters:
      - $ref: '#/components/parameters/PathVirtID'
      requestBody:
        content:
          application/json:
            example: "{\n  \"state\": \"running\",\n  \"expires_at\": \"2024-08-23T01:25:08Z\",\n  \"memory_in_mb\": 4096,\n  \"cpu_count\": 2\n}"
            schema:
              properties:
                cpu_count:
                  $ref: '#/components/schemas/CPUCount'
                expires_at:
                  $ref: '#/components/schemas/ExpiresAt'
                force_boot_menu:
                  $ref: '#/components/schemas/ForceBootMenu'
                memory_in_mb:
                  $ref: '#/components/schemas/MemoryInMB'
                network_model:
                  $ref: '#/components/schemas/NetworkModel'
                network_source:
                  allOf:
                  - $ref: '#/components/schemas/NetworkID'
                  description: If network_type is `network-id`, this is the network to bind the VM to.
                network_type:
                  $ref: '#/components/schemas/NetworkType'
                purpose:
                  $ref: '#/components/schemas/Purpose'
                state:
                  $ref: '#/components/schemas/VirtualMachineState'
                vnc_enabled:
                  $ref: '#/components/schemas/VNCEnabled'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualMachine'
          description: Accepted
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
      summary: Update virtual machine
      tags:
      - Restores (Virtual Machine)
components:
  schemas:
    Passphrase:
      description: User passphrase. If the agent has a user passphrase, you must provide it here.
      example: Super Secret Passphrase
      minLength: 10
      type: string
    BootMods:
      description: Optional boot mods to enable on the restore
      items:
        enum:
        - passwordless_admin_user
        type: string
      type: array
    MemoryInMB:
      description: Memory in MB
      example: 4096
      format: uint32
      maximum: 131072
      minimum: 1024
      type:
      - integer
      - 'null'
    DeviceID:
      description: ID of a device
      example: d_0123456789ab
      pattern: ^d_[a-z0-9]{12}$
      type: string
    LocationType:
      description: Type of the location
      enum:
      - local
      - cloud
      type: string
    VNC:
      description: VNC server object. Use this to connect to the virtual machine using a VNC client.
      properties:
        host:
          description: Host of the VNC server
          example: 192.168.1.53
          type: string
        port:
          description: Port of the VNC server
          example: 12345
          format: uint32
          type: integer
        type:
          $ref: '#/components/schemas/LocationType'
        websocket_uri:
          description: Websocket URI of the VNC server
          example: wss://example.com
          type: string
      required:
      - type
      type: object
    ExpiresAt:
      description: Expiration timestamp
      example: '2024-08-23T01:25:08Z'
      format: date-time
      type: string
    Purpose:
      description: Purpose for creating the virtual machine or file restore. If this is set to disaster, Slide Support will recieve a notification that you are in a disaster. File restores not created by the slide box for file system verification will have this field set to disaster.
      enum:
      - test
      - disaster
      example: disaster
      type: string
    Error:
      description: Error response object that represents an error that occurred during a request.
      properties:
        codes:
          description: List of error codes that occurred during a request.
          items:
            description: A unique error code that identifies the error.
            title: Code
            type: string
          title: Codes
          type: array
        details:
          description: List of error details that occurred during a request. This may contain action(s) that need to be taken before retrying the request.
          items:
            description: Short detail message describing the error.
            title: Detail
            type: string
          title: Details
          type: array
        message:
          description: Short message describing the error.
          title: Message
          type: string
      required:
      - codes
      - message
      - details
    VirtualMachineState:
      description: State of the virtual machine
      enum:
      - running
      - stopped
      - paused
      example: running
      type: string
    VirtID:
      description: ID of a virtual machine
      example: virt_0123456789ab
      externalDocs:
        description: See our console documentation for more information on virtual machines
        url: https://docs.slide.tech/restores/#virtualization
      pattern: ^virt_[a-z0-9]{12}$
      type: string
    CreatedAt:
      description: Creation timestamp
      example: '2024-08-23T01:25:08Z'
      format: date-time
      type: string
    ForceBootMenu:
      description: Whether to force the VM to boot to the menu
      example: false
      type: boolean
    VNCEnabled:
      description: Whether VNC access is enabled
      example: false
      type:
      - boolean
      - 'null'
    VirtualMachine:
      description: Virtual machine object that represents a virtual machine that has been created from a snapshot.
      properties:
        agent_id:
          $ref: '#/components/schemas/AgentID'
        cpu_count:
          $ref: '#/components/schemas/CPUCount'
        created_at:
          $ref: '#/components/schemas/CreatedAt'
        device_id:
          $ref: '#/components/schemas/DeviceID'
        disk_bus:
          $ref: '#/components/schemas/DiskBus'
        expires_at:
          $ref: '#/components/schemas/ExpiresAt'
        force_boot_menu:
          $ref: '#/components/schemas/ForceBootMenu'
        ip_address:
          description: IP address
          type: string
        mac_address:
          description: MAC address
          type: string
        memory_in_mb:
          $ref: '#/components/schemas/MemoryInMB'
        network_model:
          $ref: '#/components/schemas/NetworkModel'
        network_source:
          $ref: '#/components/schemas/NetworkID'
        network_type:
          $ref: '#/components/schemas/NetworkType'
        purpose:
          $ref: '#/components/schemas/Purpose'
        rdp_endpoint:
          description: RDP endpoint
          type: string
        snapshot_id:
          $ref: '#/components/schemas/SnapshotID'
        state:
          $ref: '#/components/schemas/VirtualMachineState'
        virt_id:
          $ref: '#/components/schemas/VirtID'
        vnc:
          description: List of VNC connection info
          items:
            $ref: '#/components/schemas/VNC'
          type: array
        vnc_enabled:
          $ref: '#/components/schemas/VNCEnabled'
        vnc_password:
          description: VNC password
          format: password
          type: string
      required:
      - virt_id
      - device_id
      - agent_id
      - snapshot_id
      - state
      - created_at
      - cpu_count
      - memory_in_mb
      - disk_bus
      - network_model
      - mac_address
      - vnc_enabled
      - vnc
      - vnc_password
      - purpose
      type: object
    NetworkModel:
      description: Network model of the virtual machine
      enum:
      - hypervisor_default
      - e1000
      - rtl8139
      - virtio
      example: virtio
      type: string
    NetworkType:
      description: Network type of the virtual machine. If this field is not present, the virtual machine does not have networking.
      enum:
      - network-none
      - network-nat-shared
      - network-nat-isolated
      - network-hostonly
      - bridge
      - network-id
      example: bridge
      type: string
    AgentID:
      description: ID of an agent
      example: a_0123456789ab
      pattern: ^a_[a-z0-9]{12}$
      type: string
    NetworkID:
      description: ID of an network
      example: net_012345
      pattern: ^net_[a-z0-9]{6}$
      type: string
    DiskBus:
      description: Disk bus of the virtual machine
      enum:
      - sata
      - virtio
      example: virtio
      type: string
    CPUCount:
      description: Number of CPUs
      example: 2
      format: uint32
      maximum: 16
      minimum: 1
      type:
      - integer
      - 'null'
    SnapshotID:
      description: ID of a snapshot
      example: s_0123456789ab
      pattern: ^s_[a-z0-9]{12}$
      type: string
    Pagination:
      properties:
        next_offset:
          description: Next offset to use for pagination. If this field is not present, that indicates there are no more items to fetch.
          example: 10
          format: uint32
          type: integer
      type: object
  parameters:
    QueryCreatedAfter:
      description: Filter results to after a specific creation timestamp (RFC3339 format)
      in: query
      name: created_after
      schema:
        format: date-time
        type: string
    QueryLimit:
      description: Number of items to return for pagination
      in: query
      name: limit
      schema:
        default: 10
        format: uint32
        maximum: 50
        minimum: 1
        type: integer
    QueryCreatedBefore:
      description: Filter results to before a specific creation timestamp (RFC3339 format)
      in: query
      name: created_before
      schema:
        format: date-time
        type: string
    PathVirtID:
      example: v_0123456789ab
      in: path
      name: virt_id
      required: true
      schema:
        $ref: '#/components/schemas/VirtID'
    QuerySortAsc:
      description: Sort in ascending order
      in: query
      name: sort_asc
      schema:
        default: false
        type: boolean
    QueryOffset:
      description: Starting index for pagination
      in: query
      name: offset
      schema:
        default: 0
        format: uint32
        minimum: 0
        type: integer
  responses:
    '404':
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Not found
    '401':
      content:
        application/json:
          examples:
            err_missing_authentication:
              summary: Missing API token
              value:
                codes:
                - err_missing_authentication
                details:
                - 'You did not provide an API token. You need to provide your API token in the Authorization header, using Bearer auth (e.g. ''Authorization: Bearer YOUR_SECRET_TOKEN'').'
                message: unauthorized
            err_unauthorized:
              summary: Invalid API token
              value:
                codes:
                - err_unauthorized
                details:
                - Invalid API token provided or you do not have permission to access this resource.
                message: unauthorized
          schema:
            $ref: '#/components/schemas/Error'
      description: Unauthorized
    '500':
      content:
        application/json:
          examples:
            err_internal_server_error:
              summary: Internal server error
              value:
                codes:
                - err_internal_server_error
                details:
                - Something went wrong processing your request. See https://docs.slide.tech/api/#description/errors for more information.
                message: internal server error
          schema:
            $ref: '#/components/schemas/Error'
      description: Internal server error
    '400':
      content:
        application/json:
          examples:
            err_validation_error:
              summary: Validation error
              value:
                codes:
                - err_validation_error
                details:
                - 'parameter "device_id" in path has an error: string doesn''t match the regular expression "^d_[a-z0-9]{12}$"'
                message: bad request
          schema:
            $ref: '#/components/schemas/Error'
      description: Bad request
  securitySchemes:
    BearerAuth:
      bearerFormat: string
      scheme: bearer
      type: http