Slide Restores (File) API
Everything about [file restores](#model/filerestore)
Everything about [file restores](#model/filerestore)
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-file-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 (File) API
version: 1.34.0
servers:
- url: https://api.slide.tech
security:
- BearerAuth: []
tags:
- description: Everything about file restores
name: Restores (File)
paths:
/v1/restore/file:
get:
operationId: FileRestores
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 file restores
items:
$ref: '#/components/schemas/FileRestore'
title: FileRestores
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 file restores
tags:
- Restores (File)
post:
operationId: FileRestoreCreate
requestBody:
content:
application/json:
examples:
basic:
summary: Basic file restore
value:
device_id: d_0123456789ab
snapshot_id: s_0123456789ab
basic_with_passphrase:
summary: Basic file restore with passphrase
value:
device_id: d_0123456789ab
passphrase: Super Secret Passphrase
snapshot_id: s_0123456789ab
schema:
properties:
device_id:
$ref: '#/components/schemas/DeviceID'
passphrase:
$ref: '#/components/schemas/Passphrase'
snapshot_id:
$ref: '#/components/schemas/SnapshotID'
required:
- snapshot_id
- device_id
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/FileRestore'
description: Created
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
summary: Create file restore
tags:
- Restores (File)
/v1/restore/file/{file_restore_id}:
delete:
operationId: FileRestoreDelete
parameters:
- $ref: '#/components/parameters/PathFileRestoreID'
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 file restore
tags:
- Restores (File)
get:
operationId: FileRestoreByID
parameters:
- $ref: '#/components/parameters/PathFileRestoreID'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/FileRestore'
description: OK
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
summary: Get file restore
tags:
- Restores (File)
/v1/restore/file/{file_restore_id}/browse:
get:
operationId: FileRestoreBrowse
parameters:
- $ref: '#/components/parameters/QueryOffset'
- $ref: '#/components/parameters/QueryLimit'
- $ref: '#/components/parameters/PathFileRestoreID'
- description: Path to browse
in: query
name: path
schema:
example: C
type: string
responses:
'200':
content:
application/json:
schema:
description: Paginated response
properties:
data:
description: List of files
items:
$ref: '#/components/schemas/FileRestoreEntry'
title: FileRestores
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 file restore
tags:
- Restores (File)
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
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
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
FileRestoreEntry:
description: File restore entry
properties:
download_uris:
$ref: '#/components/schemas/DownloadURIs'
modified_at:
description: Modified time of the file
example: '2024-08-23T01:25:08Z'
format: date-time
type: string
name:
description: Name of the file without path
example: desktop.ini
type: string
path:
description: Relative path of the file
example: C/Users/john/Desktop/desktop.ini
type: string
size:
description: Size of the file in bytes
example: 1024
format: uint64
type: integer
symlink_target_path:
description: Relative path of symlink, if type is "symlink"
example: C/Users/john/Desktop/desktop.ini
type: string
type:
description: Type of the file
enum:
- file
- dir
- symlink
example: file
type: string
required:
- name
- path
- size
- type
- modified_at
- download_uris
title: FileRestoreEntry
type: object
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
FileRestore:
description: File restore object that represents a snapshot that has been restored and files exposed.
properties:
agent_id:
$ref: '#/components/schemas/AgentID'
created_at:
$ref: '#/components/schemas/CreatedAt'
device_id:
$ref: '#/components/schemas/DeviceID'
expires_at:
$ref: '#/components/schemas/ExpiresAt'
file_restore_id:
$ref: '#/components/schemas/FileRestoreID'
purpose:
$ref: '#/components/schemas/Purpose'
snapshot_id:
$ref: '#/components/schemas/SnapshotID'
required:
- file_restore_id
- device_id
- agent_id
- snapshot_id
- created_at
- purpose
type: object
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
FileRestoreID:
description: ID of a file restore
example: fr_0123456789ab
externalDocs:
description: See our console documentation for more information on file restores
url: https://docs.slide.tech/restores/#file-restore
pattern: ^fr_[a-z0-9]{12}$
type: string
AgentID:
description: ID of an agent
example: a_0123456789ab
pattern: ^a_[a-z0-9]{12}$
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
PathFileRestoreID:
example: fr_0123456789ab
in: path
name: file_restore_id
required: true
schema:
$ref: '#/components/schemas/FileRestoreID'
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