Slide Restores (Image) API
Everything about [image exports](#model/imageexport)
Everything about [image exports](#model/imageexport)
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/slide:slide-restores-image-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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 (Image) API
version: 1.34.0
servers:
- url: https://api.slide.tech
security:
- BearerAuth: []
tags:
- description: Everything about image exports
name: Restores (Image)
paths:
/v1/restore/image:
get:
operationId: Images
parameters:
- $ref: '#/components/parameters/QueryOffset'
- $ref: '#/components/parameters/QueryLimit'
- description: Sort by a specific field
in: query
name: sort_by
schema:
default: id
enum:
- id
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 image exports
items:
$ref: '#/components/schemas/ImageExport'
title: ImageExports
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 image exports
tags:
- Restores (Image)
post:
operationId: ImageCreate
requestBody:
content:
application/json:
examples:
basic:
summary: Basic image export
value:
device_id: d_0123456789ab
image_type: vhdx
snapshot_id: s_0123456789ab
basic_with_passphrase:
summary: Basic image export with passphrase
value:
device_id: d_0123456789ab
image_type: vhdx
passphrase: Super Secret Passphrase
snapshot_id: s_0123456789ab
schema:
properties:
boot_mods:
$ref: '#/components/schemas/BootMods'
device_id:
$ref: '#/components/schemas/DeviceID'
image_type:
$ref: '#/components/schemas/ImageType'
iscsi:
$ref: '#/components/schemas/ISCSI'
nfs:
$ref: '#/components/schemas/NFS'
nfs_clients:
$ref: '#/components/schemas/NFSClients'
passphrase:
$ref: '#/components/schemas/Passphrase'
snapshot_id:
$ref: '#/components/schemas/SnapshotID'
required:
- snapshot_id
- device_id
- image_type
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ImageExport'
description: Created
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
summary: Create image export
tags:
- Restores (Image)
/v1/restore/image/{image_export_id}:
delete:
operationId: ImageDelete
parameters:
- $ref: '#/components/parameters/PathImageExportID'
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 image export
tags:
- Restores (Image)
get:
operationId: ImageByID
parameters:
- $ref: '#/components/parameters/PathImageExportID'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ImageExport'
description: OK
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
summary: Get image export
tags:
- Restores (Image)
patch:
operationId: ImageUpdate
parameters:
- $ref: '#/components/parameters/PathImageExportID'
requestBody:
content:
application/json:
example: "{\n \"nfs\": true,\n \"nfs_clients\": [\"192.168.1.113\",\"10.80.0.0/16\"]\n}"
schema:
properties:
iscsi:
$ref: '#/components/schemas/ISCSI'
nfs:
$ref: '#/components/schemas/NFS'
nfs_clients:
$ref: '#/components/schemas/NFSClients'
required: true
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/ImageExport'
description: Accepted
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
summary: Update image export
tags:
- Restores (Image)
/v1/restore/image/{image_export_id}/browse:
get:
operationId: ImageBrowse
parameters:
- $ref: '#/components/parameters/QueryOffset'
- $ref: '#/components/parameters/QueryLimit'
- $ref: '#/components/parameters/PathImageExportID'
responses:
'200':
content:
application/json:
schema:
description: Paginated response
properties:
data:
description: List of image export entries
items:
$ref: '#/components/schemas/ImageExportEntry'
title: ImageExports
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'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
summary: Browse image export
tags:
- Restores (Image)
components:
schemas:
ISCSI:
description: Whether the image export should be shared over iSCSI
type: boolean
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
ImageExportID:
description: ID of an image export
example: ie_0123456789ab
externalDocs:
description: See our console documentation for more information on image exports
url: https://docs.slide.tech/restores/#image-export
pattern: ^ie_[a-z0-9]{12}$
type: string
NFSClients:
items:
description: Client IPv4 or CIDR that will be allowed to connect over NFS
example: 192.168.1.0/24
type: string
type: array
NFS:
description: Whether the image export should be shared over NFS
type: boolean
LocationType:
description: Type of the location
enum:
- local
- cloud
type: string
DeviceID:
description: ID of a device
example: d_0123456789ab
pattern: ^d_[a-z0-9]{12}$
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
CreatedAt:
description: Creation timestamp
example: '2024-08-23T01:25:08Z'
format: date-time
type: string
DownloadURIs:
description: List of URIs to download the item. If you have network connectivity to the local device, use a local URI. Otherwise, use a cloud URI to proxy the download through the Slide Cloud.
items:
$ref: '#/components/schemas/DownloadURI'
type: array
ImageExportEntry:
description: Image export entry
properties:
disk_id:
description: ID of the disk
example: disk_0123456789ab
type: string
download_uris:
$ref: '#/components/schemas/DownloadURIs'
name:
description: Name of the disk image
example: MyWindowsAgent (2024-08-05 20-44-25 EDT, C).vhdx
type: string
size:
description: Size of the disk in bytes
example: 1073741824
format: uint64
type: integer
required:
- disk_id
- name
- size
- download_uris
title: ImageExportEntry
type: object
AgentID:
description: ID of an agent
example: a_0123456789ab
pattern: ^a_[a-z0-9]{12}$
type: string
ImageExport:
description: Image export object that represents an image export that has been created from a snapshot.
properties:
agent_id:
$ref: '#/components/schemas/AgentID'
created_at:
$ref: '#/components/schemas/CreatedAt'
device_id:
$ref: '#/components/schemas/DeviceID'
image_export_id:
$ref: '#/components/schemas/ImageExportID'
image_type:
$ref: '#/components/schemas/ImageType'
iscsi:
$ref: '#/components/schemas/ISCSI'
nfs:
$ref: '#/components/schemas/NFS'
nfs_clients:
$ref: '#/components/schemas/NFSClients'
password:
description: Samba password
format: password
type: string
snapshot_id:
$ref: '#/components/schemas/SnapshotID'
required:
- image_export_id
- device_id
- agent_id
- snapshot_id
- image_type
- created_at
type: object
ImageType:
description: Image type of the image export
enum:
- vhdx
- vhdx-dynamic
- vhd
- vmdk
- vmdk-flat
- qcow2
- raw
example: vhdx
type: string
DownloadURI:
properties:
type:
$ref: '#/components/schemas/LocationType'
uri:
format: uri
type: string
required:
- type
- uri
type: object
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
PathImageExportID:
example: ie_0123456789ab
in: path
name: image_export_id
required: true
schema:
$ref: '#/components/schemas/ImageExportID'
QueryCreatedBefore:
description: Filter results to before a specific creation timestamp (RFC3339 format)
in: query
name: created_before
schema:
format: date-time
type: string
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