### Get Device (API Request Example) Source: https://docs.slide.tech/api/index This snippet shows how to retrieve details for a specific device using its ID. It utilizes a path parameter for the 'device_id' and requires an authorization token. The example uses cURL. ```Shell curl https://api.slide.tech/v1/device/d_0123456789ab \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' ``` -------------------------------- ### List Devices (API Request Example) Source: https://docs.slide.tech/api/index This snippet demonstrates how to list devices using the Slide Tech API. It includes query parameters for pagination (offset, limit), sorting (sort_by, sort_asc), and filtering by client ID. The example uses cURL for the request. ```Shell curl 'https://api.slide.tech/v1/device?offset=0&limit=10&sort_by=hostname&sort_asc=false&client_id=c_0123456789ab' \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' ``` -------------------------------- ### Authentication Example Source: https://docs.slide.tech/api/index Example of how to authenticate requests to the Slide API using a Bearer token. ```APIDOC ## Authentication We use API tokens to authenticate requests. You can view and manage your API tokens in the Slide Console. When making HTTP requests, you'll need to include the API token in the `Authorization` header, using Bearer auth (e.g. `Authorization: Bearer YOUR_SECRET_TOKEN`). ### Request Example ```bash curl -H 'Authorization: Bearer YOUR_SECRET_TOKEN' 'https://api.slide.tech/v1/device' ``` ``` -------------------------------- ### Error Handling Example Source: https://docs.slide.tech/api/index Illustrates common error codes and their descriptions, along with an example of an error response structure. ```APIDOC ## Errors Slide uses conventional HTTP response codes to indicate the success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted), and codes in the 5xx range indicate an error with Slide's servers. We also include error codes and details in the response, which may provide more context about the error. ### Common Error Codes | Code | Description | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | | `err_endpoint_not_found` | Requested endpoint does not exist. | | `err_entity_not_found` | Requested entity does not exist. | | `err_validation_error` | Bad request due to validation error. The error `details` will contain any fields that were not valid. | | `err_missing_authentication` | Unauthorized due to missing API token. See authentication for more details. | | `err_unauthorized` | Unauthorized due to invalid API token. You've provided an invalid API token or the API token does not have permission to access the requested resource. | | `err_internal_server_error`| Something went wrong. If you retry the request and it does not succeed, you may contact us at `hey@slide.tech`. | | `err_rate_limit_exceeded` | Rate limit exceeded. Please wait before retrying the request. See rate limiting for more details. | | `err_agent_not_connected_to_device` | Agent is not connected to the device. Ensure the agent is powered on and has network connectivity. | | `err_device_not_connected_to_cloud` | Device is not connected to the cloud. Ensure the device is powered on and has network connectivity. | | `err_backup_already_running` | A backup is already running for this agent. Please wait for the current backup to complete before starting a new one. | | `err_client_not_found` | Client not found. Ensure the client ID is valid and the client exists. | ### Error Response Example ```json { "codes": [ "err_missing_authentication" ], "details": [ // ... error details ], "message": "unauthorized" } ``` ``` -------------------------------- ### Pagination Example Source: https://docs.slide.tech/api/index Demonstrates how to use `limit` and `offset` query parameters for paginating list endpoints and how to interpret the `pagination` object in the response. ```APIDOC ## Pagination All list endpoints support pagination. You can use the `limit` and `offset` query parameters to control the number of items returned and the starting index. List responses will include a `pagination` key that includes the `next_offset` to use for pagination. If `next_offset` is not present, that indicates there are no more items to fetch. ### Request Example ```bash curl -H 'Authorization: Bearer YOUR_SECRET_TOKEN' \ 'https://api.slide.tech/v1/device?offset=0&limit=10' ``` ### Response Example (Success) ```json { "pagination": { "next_offset": 10 }, "data": [ // ... list of devices ] } ``` ``` -------------------------------- ### GET /v1/device Source: https://docs.slide.tech/api/index Retrieves a list of all devices. Supports pagination using `limit` and `offset` query parameters. ```APIDOC ## GET /v1/device ### Description Retrieves a list of all devices. Supports pagination using `limit` and `offset` query parameters. ### Method GET ### Endpoint /v1/device #### Query Parameters - **offset** (integer) - Optional - The starting index for the list of devices. - **limit** (integer) - Optional - The maximum number of devices to return. ### Response #### Success Response (200) - **pagination** (object) - Contains pagination information, including `next_offset`. - **data** (array) - An array of device objects. ### Response Example (Success) ```json { "pagination": { "next_offset": 10 }, "data": [ { "id": "device_id_1", "name": "My Device", "addresses": { "ipv4": ["192.168.1.100"], "ipv6": ["2001:0db8:85a3:0000:0000:8a2e:0370:7334"] } // ... other device properties } // ... more devices ] } ``` ``` -------------------------------- ### GET /v1/device/{device_id}/network Source: https://docs.slide.tech/api/index Retrieves the network configuration details for a specific device. ```APIDOC ## GET /v1/device/{device_id}/network ### Description Retrieves the network configuration details for a specific device. ### Method GET ### Endpoint /v1/device/{device_id}/network #### Path Parameters - **device_id** (string) - Required - The unique identifier of the device. ### Response #### Success Response (200) - **addresses** (object) - Contains network addresses (ipv4, ipv6). - **mac_address** (string) - The MAC address of the device. ### Response Example (Success) ```json { "addresses": { "ipv4": ["192.168.1.100"], "ipv6": ["2001:0db8:85a3:0000:0000:8a2e:0370:7334"] }, "mac_address": "00:1A:2B:3C:4D:5E" } ``` ``` -------------------------------- ### GET /v1/device/{device_id}/network Source: https://docs.slide.tech/api/index Retrieves the current network configuration for a specified device. ```APIDOC ## GET /v1/device/{device_id}/network ### Description Retrieves the current network configuration for a specified device. ### Method GET ### Endpoint /v1/device/{device_id}/network ### Parameters #### Path Parameters - **device_id** (string) - Required - ID of a device. Pattern: `^d_[a-z0-9]{12}$` #### Query Parameters None #### Request Body None ### Request Example ```bash curl https://api.slide.tech/v1/device/d_0123456789ab/network \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' ``` ### Response #### Success Response (200) - **dns_server_primary** (string) - The primary DNS server address. - **dns_server_secondary** (string) - The secondary DNS server address. - **network_address** (string) - The network address with subnet mask (e.g., "192.168.1.100/24"). - **network_gateway** (string) - The network gateway address. - **network_mode** (string) - The network configuration mode (e.g., "static"). - **network_update_pending** (boolean) - Indicates if a network update is pending. #### Response Example ```json { "dns_server_primary": "1.1.1.1", "dns_server_secondary": "8.8.8.8", "network_address": "192.168.1.100/24", "network_gateway": "192.168.1.1", "network_mode": "static", "network_update_pending": false } ``` ``` -------------------------------- ### GET /v1/device/{device_id}/vlan Source: https://docs.slide.tech/api/index Retrieves a list of VLANs configured for a specific device. ```APIDOC ## GET /v1/device/{device_id}/vlan ### Description Retrieves a list of VLANs configured for a specific device. ### Method GET ### Endpoint /v1/device/{device_id}/vlan #### Path Parameters - **device_id** (string) - Required - The unique identifier of the device. ### Response #### Success Response (200) - **vlans** (array) - An array of VLAN objects associated with the device. ### Response Example (Success) ```json { "vlans": [ { "id": "vlan_1", "tag": 10, "name": "VLAN 10" }, { "id": "vlan_2", "tag": 20, "name": "VLAN 20" } ] } ``` ``` -------------------------------- ### GET /v1/device/{device_id}/vlan/{vlan_id} Source: https://docs.slide.tech/api/index Retrieves details for a specific VLAN configuration on a device. ```APIDOC ## GET /v1/device/{device_id}/vlan/{vlan_id} ### Description Retrieves details for a specific VLAN configuration on a device. ### Method GET ### Endpoint /v1/device/{device_id}/vlan/{vlan_id} #### Path Parameters - **device_id** (string) - Required - The unique identifier of the device. - **vlan_id** (string) - Required - The unique identifier of the VLAN. ### Response #### Success Response (200) - **id** (string) - The unique identifier of the VLAN. - **tag** (integer) - The VLAN tag. - **name** (string) - The name of the VLAN. ### Response Example (Success) ```json { "id": "vlan_1", "tag": 10, "name": "VLAN 10" } ``` ``` -------------------------------- ### GET /v1/device/{device_id} Source: https://docs.slide.tech/api/index Retrieves details for a specific device identified by its ID. ```APIDOC ## GET /v1/device/{device_id} ### Description Retrieves details for a specific device identified by its ID. ### Method GET ### Endpoint /v1/device/{device_id} #### Path Parameters - **device_id** (string) - Required - The unique identifier of the device. ### Response #### Success Response (200) - **id** (string) - The unique identifier of the device. - **name** (string) - The name of the device. - **addresses** (object) - An object containing network addresses (ipv4, ipv6). ### Response Example (Success) ```json { "id": "device_id_1", "name": "My Device", "addresses": { "ipv4": ["192.168.1.100"], "ipv6": ["2001:0db8:85a3:0000:0000:8a2e:0370:7334"] } // ... other device properties } ``` ``` -------------------------------- ### List Device VLANs using cURL Source: https://docs.slide.tech/api/index This snippet shows how to list all configured VLANs for a specific device using cURL. It requires the device ID and an authorization token. The request sends a GET request to the /v1/device/{device_id}/vlan endpoint. ```curl curl https://api.slide.tech/v1/device/d_0123456789ab/vlan \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' ``` -------------------------------- ### Get Device Source: https://docs.slide.tech/api/index Retrieves details for a specific device using its unique device ID. ```APIDOC ## GET /v1/device/{device_id} ### Description Retrieves detailed information about a specific device using its unique identifier. ### Method GET ### Endpoint /v1/device/{device_id} ### Parameters #### Path Parameters - **device_id** (string) - Required - The unique identifier for the device. Must match the pattern `^d_[a-z0-9]{12}$`. Example: `d_0123456789ab`. ### Request Example ```shell curl https://api.slide.tech/v1/device/d_0123456789ab \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' ``` ### Response #### Success Response (200) - **addresses** (array) - List of network addresses associated with the device. - **booted_at** (string) - Timestamp when the device was last booted. - **client_id** (string) - The ID of the client this device belongs to. - **device_id** (string) - The unique ID of the device. - **display_name** (string) - A user-friendly name for the device. - **hardware_model_name** (string) - The hardware model of the device. - **hostname** (string) - The network hostname of the device. - **image_version** (string) - The current software image version. - **last_seen_at** (string) - Timestamp of the last time the device was seen. - **network_update_pending** (boolean) - Indicates if a network update is pending. - **nfr** (boolean) - Flag for Not For Resale status. - **package_version** (string) - The version of the installed agent package. - **public_ip_address** (string) - The public IP address of the device. - **serial_number** (string) - The device's serial number. - **service_model_name** (string) - The full name of the service model. - **service_model_name_short** (string) - A short name for the service model. - **service_status** (string) - The current service status (e.g., "active"). - **storage_total_bytes** (integer) - Total storage capacity in bytes. - **storage_used_bytes** (integer) - Currently used storage in bytes. - **total_agent_included_volume_used_bytes** (integer) - Used storage within the agent's included volume. #### Response Example ```json { "addresses": [ { "ips": [ "192.168.1.104" ], "mac": "62:bb:d3:0d:db:7d" } ], "booted_at": "2024-08-23T01:25:08Z", "client_id": "c_0123456789ab", "device_id": "d_0123456789ab", "display_name": "My First Device", "hardware_model_name": "Slide Z1, 1 TB", "hostname": "my-hostname-1", "image_version": "1.0.0", "last_seen_at": "2024-08-23T01:25:08Z", "network_update_pending": false, "nfr": false, "package_version": "1.2.3", "public_ip_address": "74.83.124.111", "serial_number": "SN123456", "service_model_name": "Slide Z1 Subscription, 1 TB, 1 Year Cloud Retention", "service_model_name_short": "1 Year Cloud Retention", "service_status": "active", "storage_total_bytes": 1099511627776, "storage_used_bytes": 274877906944, "total_agent_included_volume_used_bytes": 274877906944 } ``` ``` -------------------------------- ### Get Device Network Configuration (cURL) Source: https://docs.slide.tech/api/index This snippet shows how to retrieve the current network configuration for a specific device using cURL. The device ID is required as a path parameter, and the request must include an Authorization header with your secret token. ```shell curl https://api.slide.tech/v1/device/d_0123456789ab/network \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' ``` -------------------------------- ### Virtual Machine Restores API Source: https://docs.slide.tech/api/index Operations for restoring virtual machines. ```APIDOC ## GET /v1/restore/virt ### Description Retrieves a list of virtual machine restore operations. ### Method GET ### Endpoint /v1/restore/virt ### Parameters #### Query Parameters - **offset** (integer) - Optional - The number of items to skip. - **limit** (integer) - Optional - The maximum number of items to return. ### Response #### Success Response (200) - **restores** (array) - A list of virtual machine restore operations. ``` ```APIDOC ## POST /v1/restore/virt ### Description Initiates a new virtual machine restore operation. ### Method POST ### Endpoint /v1/restore/virt ### Request Body - **vm_id** (string) - Required - The ID of the virtual machine to restore. - **restore_point** (string) - Required - The point in time to restore from. ### Response #### Success Response (201) - **restore_id** (string) - The ID of the initiated restore operation. ``` ```APIDOC ## DELETE /v1/restore/virt/{virt_id} ### Description Deletes a specific virtual machine restore operation. ### Method DELETE ### Endpoint /v1/restore/virt/{virt_id} ### Parameters #### Path Parameters - **virt_id** (string) - Required - The ID of the virtual machine restore operation to delete. ### Response #### Success Response (204) No content. ``` ```APIDOC ## GET /v1/restore/virt/{virt_id} ### Description Retrieves details of a specific virtual machine restore operation. ### Method GET ### Endpoint /v1/restore/virt/{virt_id} ### Parameters #### Path Parameters - **virt_id** (string) - Required - The ID of the virtual machine restore operation. ### Response #### Success Response (200) - **restore_id** (string) - The ID of the restore operation. - **vm_id** (string) - The ID of the virtual machine being restored. - **status** (string) - The current status of the restore operation. ``` ```APIDOC ## PATCH /v1/restore/virt/{virt_id} ### Description Updates a specific virtual machine restore operation. ### Method PATCH ### Endpoint /v1/restore/virt/{virt_id} ### Parameters #### Path Parameters - **virt_id** (string) - Required - The ID of the virtual machine restore operation. ### Request Body - **status** (string) - Optional - The new status for the restore operation. ### Response #### Success Response (200) - **restore_id** (string) - The ID of the updated restore operation. - **status** (string) - The updated status of the restore. ``` -------------------------------- ### Paginate List Endpoints with Limit and Offset Source: https://docs.slide.tech/api/index Shows how to paginate through list endpoints using the 'limit' and 'offset' query parameters. The response includes a 'pagination' object with 'next_offset' for easy continuation of data fetching. ```shell $ curl -H 'Authorization: Bearer YOUR_SECRET_TOKEN' \ 'https://api.slide.tech/v1/device?offset=0&limit=10' { "pagination": { "next_offset": 10 }, "data": [ ... ] } ``` -------------------------------- ### POST /v1/device/{device_id}/vlan Source: https://docs.slide.tech/api/index Creates a new VLAN configuration for a specific device. ```APIDOC ## POST /v1/device/{device_id}/vlan ### Description Creates a new VLAN configuration for a specific device. ### Method POST ### Endpoint /v1/device/{device_id}/vlan #### Path Parameters - **device_id** (string) - Required - The unique identifier of the device. #### Request Body - **tag** (integer) - Required - The VLAN tag (e.g., 10, 20). - **name** (string) - Optional - A descriptive name for the VLAN. ### Request Example ```json { "tag": 30, "name": "VLAN 30" } ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier of the newly created VLAN. - **tag** (integer) - The VLAN tag. - **name** (string) - The name of the VLAN. ### Response Example (Success) ```json { "id": "vlan_3", "tag": 30, "name": "VLAN 30" } ``` ``` -------------------------------- ### List Devices Source: https://docs.slide.tech/api/index Retrieves a paginated list of devices, with options to filter, sort, and specify the client ID. ```APIDOC ## GET /v1/device ### Description Retrieves a paginated list of devices. Supports filtering by client ID and sorting by hostname. ### Method GET ### Endpoint /v1/device ### Parameters #### Query Parameters - **offset** (integer) - Optional - Starting index for pagination. Defaults to 0. - **limit** (integer) - Optional - Number of items to return for pagination. Min: 1, Max: 50. Defaults to 10. - **sort_by** (string) - Optional - Field to sort by. Supported values: `hostname`. Defaults to "hostname". - **sort_asc** (boolean) - Optional - Sort in ascending order. Defaults to false. - **client_id** (string) - Optional - ID of a client. Must match the pattern `^c_[a-z0-9]{12}$`. Example: `c_0123456789ab`. ### Request Example ```shell curl 'https://api.slide.tech/v1/device?offset=0&limit=10&sort_by=hostname&sort_asc=false&client_id=c_0123456789ab' \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' ``` ### Response #### Success Response (200) - **data** (array) - List of device objects. - **pagination** (object) - Pagination details, including `next_offset`. #### Response Example ```json { "data": [ { "addresses": [ { "ips": [ "192.168.1.104" ], "mac": "62:bb:d3:0d:db:7d" } ], "booted_at": "2024-08-23T01:25:08Z", "client_id": "c_0123456789ab", "device_id": "d_0123456789ab", "display_name": "My First Device", "hardware_model_name": "Slide Z1, 1 TB", "hostname": "my-hostname-1", "image_version": "1.0.0", "last_seen_at": "2024-08-23T01:25:08Z", "network_update_pending": false, "nfr": false, "package_version": "1.2.3", "public_ip_address": "74.83.124.111", "serial_number": "SN123456", "service_model_name": "Slide Z1 Subscription, 1 TB, 1 Year Cloud Retention", "service_model_name_short": "1 Year Cloud Retention", "service_status": "active", "storage_total_bytes": 1099511627776, "storage_used_bytes": 274877906944, "total_agent_included_volume_used_bytes": 274877906944 } ], "pagination": { "next_offset": 10 } } ``` ``` -------------------------------- ### Create Device VLAN Source: https://docs.slide.tech/api/index Create a new virtual interface (VLAN) for a device. Requires the device ID and VLAN details. ```APIDOC ## POST /v1/device/{device_id}/vlan ### Description Create a new virtual interface (VLAN) for a device. ### Method POST ### Endpoint /v1/device/{device_id}/vlan ### Parameters #### Path Parameters - **device_id** (string) - Required - ID of a device. Pattern: ^d_[a-z0-9]{12}$ #### Request Body - **name** (string) - Required - Display name for the virtual interface. Min length: 1, Max length: 32. - **network_mode** (string) - Required - Network mode (DHCP or static IP). Enum: [dhcp, static]. - **vlan_tag** (integer) - Required - 802.1Q VLAN tag (1-4094). - **gateway** (string) - Gateway IP address. Required when network_mode is "static". Format: ipv4. - **ip_address** (string) - IP address and network mask in CIDR notation (e.g., "192.168.100.1/24"). Required when network_mode is "static". - **network_update_pending** (boolean) - Returned in response only, to indicate that the network update is in progress. ### Request Example ```json { "vlan_tag": 100, "name": "vlan100", "network_mode": "static", "ip_address": "192.168.100.1/24", "gateway": "192.168.100.1" } ``` ### Response #### Success Response (201) Created - **gateway** (string) - The gateway IP address for the VLAN. - **ip_address** (string) - The IP address and network mask in CIDR notation. - **name** (string) - The display name of the VLAN. - **network_mode** (string) - The network mode (DHCP or static). - **network_update_pending** (boolean) - Indicates if a network update is pending. - **vlan_id** (string) - The unique identifier for the VLAN. - **vlan_tag** (integer) - The 802.1Q VLAN tag. #### Response Example ```json { "gateway": "192.168.100.1", "ip_address": "192.168.100.1/24", "name": "vlan100", "network_mode": "static", "network_update_pending": false, "vlan_id": "vlan_012345", "vlan_tag": 100 } ``` ``` -------------------------------- ### Authenticate API Requests with Bearer Token Source: https://docs.slide.tech/api/index Demonstrates how to authenticate API requests using an API token included in the Authorization header with Bearer authentication. This is essential for accessing protected resources. ```shell $ curl -H 'Authorization: Bearer YOUR_SECRET_TOKEN' 'https://api.slide.tech/v1/device' ``` -------------------------------- ### Get Device VLAN using cURL Source: https://docs.slide.tech/api/index This snippet shows how to retrieve details of a specific virtual interface (VLAN) for a given device using a cURL command. It requires the device ID and VLAN ID as path parameters and an authorization token. ```shell curl https://api.slide.tech/v1/device/d_0123456789ab/vlan/vlan_012345 \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' ``` -------------------------------- ### Clients API Source: https://docs.slide.tech/api/index Operations for managing clients. ```APIDOC ## GET /v1/client ### Description Retrieves a list of clients. ### Method GET ### Endpoint /v1/client ### Parameters #### Query Parameters - **offset** (integer) - Optional - The number of items to skip. - **limit** (integer) - Optional - The maximum number of items ``` -------------------------------- ### POST /v1/device/{device_id}/shutdown/reboot Source: https://docs.slide.tech/api/index Initiates a reboot command for a specific device. ```APIDOC ## POST /v1/device/{device_id}/shutdown/reboot ### Description Initiates a reboot command for a specific device. ### Method POST ### Endpoint /v1/device/{device_id}/shutdown/reboot #### Path Parameters - **device_id** (string) - Required - The unique identifier of the device. ### Response #### Success Response (200) - **message** (string) - Confirmation message indicating the reboot command was issued. ### Response Example (Success) ```json { "message": "Reboot command issued for device device_id_1" } ``` ``` -------------------------------- ### List Device VLANs Source: https://docs.slide.tech/api/index List all virtual interfaces (VLANs) for a device. Requires the device ID. ```APIDOC ## GET /v1/device/{device_id}/vlan ### Description List all virtual interfaces (VLANs) for a device. ### Method GET ### Endpoint /v1/device/{device_id}/vlan ### Parameters #### Path Parameters - **device_id** (string) - Required - ID of a device. Pattern: ^d_[a-z0-9]{12}$ ### Response #### Success Response (200) OK - **data** (array) - A list of VLAN configurations for the device. - **gateway** (string) - The gateway IP address for the VLAN. - **ip_address** (string) - The IP address and network mask in CIDR notation. - **name** (string) - The display name of the VLAN. - **network_mode** (string) - The network mode (DHCP or static). - **network_update_pending** (boolean) - Indicates if a network update is pending. - **vlan_id** (string) - The unique identifier for the VLAN. - **vlan_tag** (integer) - The 802.1Q VLAN tag. #### Response Example ```json { "data": [ { "gateway": "192.168.100.1", "ip_address": "192.168.100.1/24", "name": "vlan100", "network_mode": "static", "network_update_pending": false, "vlan_id": "vlan_012345", "vlan_tag": 100 } ] } ``` ``` -------------------------------- ### Get Device Response Schema (JSON) Source: https://docs.slide.tech/api/index This is the JSON schema for a successful response when retrieving a single device's details via the Slide Tech API. It provides comprehensive information about the device, including its network configuration, hardware, and service status. ```JSON { "addresses": [ { "ips": [ "192.168.1.104" ], "mac": "62:bb:d3:0ddb:7d" } ], "booted_at": "2024-08-23T01:25:08Z", "client_id": "c_0123456789ab", "device_id": "d_0123456789ab", "display_name": "My First Device", "hardware_model_name": "Slide Z1, 1 TB", "hostname": "my-hostname-1", "image_version": "1.0.0", "last_seen_at": "2024-08-23T01:25:08Z", "network_update_pending": false, "nfr": false, "package_version": "1.2.3", "public_ip_address": "74.83.124.111", "serial_number": "SN123456", "service_model_name": "Slide Z1 Subscription, 1 TB, 1 Year Cloud Retention", "service_model_name_short": "1 Year Cloud Retention", "service_status": "active", "storage_total_bytes": 1099511627776, "storage_used_bytes": 274877906944, "total_agent_included_volume_used_bytes": 274877906944 } ``` -------------------------------- ### Reboot a Device Source: https://docs.slide.tech/api/index Requests a device to reboot. Requires the device ID. ```APIDOC ## POST /v1/device/{device_id}/shutdown/reboot ### Description Requests a device to reboot. ### Method POST ### Endpoint /v1/device/{device_id}/shutdown/reboot ### Parameters #### Path Parameters - **device_id** (string) - Required - The ID of the device to reboot. #### Request Body - **null** (null) - Required - No specific data is required in the body for this request. ### Request Example ```json { "addresses": [ { "ips": [ "192.168.1.104" ], "mac": "62:bb:d3:0d:db:7d" } ], "booted_at": "2024-08-23T01:25:08Z", "client_id": "c_0123456789ab", "device_id": "d_0123456789ab", "display_name": "My First Device", "hardware_model_name": "Slide Z1, 1 TB", "hostname": "my-hostname-1", "image_version": "1.0.0", "last_seen_at": "2024-08-23T01:25:08Z", "network_update_pending": false, "nfr": false, "package_version": "1.2.3", "public_ip_address": "74.83.124.111", "serial_number": "SN123456", "service_model_name": "Slide Z1 Subscription, 1 TB, 1 Year Cloud Retention", "service_model_name_short": "1 Year Cloud Retention", "service_status": "active", "storage_total_bytes": 1099511627776, "storage_used_bytes": 274877906944, "total_agent_included_volume_used_bytes": 274877906944 } ``` ### Response #### Success Response (202) Accepted - **addresses** (array) - List of network addresses for the device. - **booted_at** (string) - Timestamp when the device was booted. - **client_id** (string) - The ID of the client associated with the device. - **device_id** (string) - The unique identifier for the device. - **display_name** (string) - A user-friendly name for the device. - **hardware_model_name** (string) - The name of the hardware model. - **hostname** (string) - The hostname of the device. - **image_version** (string) - The current image version installed on the device. - **last_seen_at** (string) - Timestamp of the last time the device was seen. - **network_update_pending** (boolean) - Indicates if a network update is pending. - **nfr** (boolean) - Flag for Not for Resale status. - **package_version** (string) - The version of the installed package. - **public_ip_address** (string) - The public IP address of the device. - **serial_number** (string) - The serial number of the device. - **service_model_name** (string) - The name of the service model. - **service_model_name_short** (string) - A short name for the service model. - **service_status** (string) - The current service status of the device. - **storage_total_bytes** (integer) - Total storage capacity in bytes. - **storage_used_bytes** (integer) - Used storage capacity in bytes. - **total_agent_included_volume_used_bytes** (integer) - Used storage for agent included volume in bytes. #### Response Example ```json { "addresses": [ { "ips": [ "192.168.1.104" ], "mac": "62:bb:d3:0d:db:7d" } ], "booted_at": "2024-08-23T01:25:08Z", "client_id": "c_0123456789ab", "device_id": "d_0123456789ab", "display_name": "My First Device", "hardware_model_name": "Slide Z1, 1 TB", "hostname": "my-hostname-1", "image_version": "1.0.0", "last_seen_at": "2024-08-23T01:25:08Z", "network_update_pending": false, "nfr": false, "package_version": "1.2.3", "public_ip_address": "74.83.124.111", "serial_number": "SN123456", "service_model_name": "Slide Z1 Subscription, 1 TB, 1 Year Cloud Retention", "service_model_name_short": "1 Year Cloud Retention", "service_status": "active", "storage_total_bytes": 1099511627776, "storage_used_bytes": 274877906944, "total_agent_included_volume_used_bytes": 274877906944 } ``` ``` -------------------------------- ### POST /v1/device/{device_id}/shutdown/poweroff Source: https://docs.slide.tech/api/index Initiates a power-off command for a specific device. ```APIDOC ## POST /v1/device/{device_id}/shutdown/poweroff ### Description Initiates a power-off command for a specific device. ### Method POST ### Endpoint /v1/device/{device_id}/shutdown/poweroff #### Path Parameters - **device_id** (string) - Required - The unique identifier of the device. ### Response #### Success Response (200) - **message** (string) - Confirmation message indicating the power-off command was issued. ### Response Example (Success) ```json { "message": "Power off command issued for device device_id_1" } ``` ``` -------------------------------- ### Users API Source: https://docs.slide.tech/api/index Operations for managing user accounts. ```APIDOC ## GET /v1/user ### Description Retrieves a list of users. ### Method GET ### Endpoint /v1/user ### Parameters #### Query Parameters - **offset** (integer) - Optional - The number of items to skip. - **limit** (integer) - Optional - The maximum number of items to return. ### Response #### Success Response (200) - **users** (array) - A list of user resources. ``` ```APIDOC ## GET /v1/user/{user_id} ### Description Retrieves details of a specific user. ### Method GET ### Endpoint /v1/user/{user_id} ### Parameters #### Path Parameters - **user_id** (string) - Required - The ID of the user. ### Response #### Success Response (200) - **user_id** (string) - The ID of the user. - **username** (string) - The username. - **email** (string) - The user's email address. ``` -------------------------------- ### Push File Restores API Source: https://docs.slide.tech/api/index Operations for push restore functionality for files. ```APIDOC ## GET /v1/restore/file/{file_restore_id}/push ### Description Retrieves a list of push restore operations for a given file restore. ### Method GET ### Endpoint /v1/restore/file/{file_restore_id}/push ### Parameters #### Path Parameters - **file_restore_id** (string) - Required - The ID of the file restore operation. ### Response #### Success Response (200) - **pushes** (array) - A list of push restore operations. ``` ```APIDOC ## POST /v1/restore/file/{file_restore_id}/push ### Description Initiates a push restore operation for a file restore. ### Method POST ### Endpoint /v1/restore/file/{file_restore_id}/push ### Parameters #### Path Parameters - **file_restore_id** (string) - Required - The ID of the file restore operation. ### Request Body - **destination** (string) - Required - The destination for the push restore. ### Response #### Success Response (201) - **push_id** (string) - The ID of the initiated push restore operation. ``` ```APIDOC ## GET /v1/restore/file/{file_restore_id}/push/{file_restore_push_id} ### Description Retrieves details of a specific push restore operation. ### Method GET ### Endpoint /v1/restore/file/{file_restore_id}/push/{file_restore_push_id} ### Parameters #### Path Parameters - **file_restore_id** (string) - Required - The ID of the file restore operation. - **file_restore_push_id** (string) - Required - The ID of the push restore operation. ### Response #### Success Response (200) - **push_id** (string) - The ID of the push restore operation. - **status** (string) - The status of the push restore. ``` ```APIDOC ## PATCH /v1/restore/file/{file_restore_id}/push/{file_restore_push_id} ### Description Updates a specific push restore operation. ### Method PATCH ### Endpoint /v1/restore/file/{file_restore_id}/push/{file_restore_push_id} ### Parameters #### Path Parameters - **file_restore_id** (string) - Required - The ID of the file restore operation. - **file_restore_push_id** (string) - Required - The ID of the push restore operation. ### Request Body - **status** (string) - Optional - The new status for the push restore operation. ### Response #### Success Response (200) - **push_id** (string) - The ID of the updated push restore operation. - **status** (string) - The updated status of the push restore. ``` -------------------------------- ### PATCH /v1/device/{device_id} Source: https://docs.slide.tech/api/index Updates an existing device's configuration, including display name, hostname, and client ID. Partial updates are supported. ```APIDOC ## PATCH /v1/device/{device_id} ### Description Updates an existing device's configuration, including display name, hostname, and client ID. Partial updates are supported. ### Method PATCH ### Endpoint /v1/device/{device_id} ### Parameters #### Path Parameters - **device_id** (string) - Required - ID of a device. Pattern: `^d_[a-z0-9]{12}$` #### Query Parameters None #### Request Body - **client_id** (string) - Optional - ID of a client or an empty string. Pattern: `^(c_[a-z0-9]{12}|)$` - **display_name** (string) - Optional - Customizable display name. Max length: 128 - **hostname** (string) - Optional - Hostname of the system. Min length: 1, Max length: 63. Pattern: `^[a-zA-Z0-9][a-zA-Z0-9-]{0,62}$` ### Request Example ```json { "display_name": "", "hostname": "", "client_id": "" } ``` ### Response #### Success Response (200) - **addresses** (array) - List of network addresses associated with the device. - **booted_at** (string) - Timestamp when the device was last booted. - **client_id** (string) - The client ID associated with the device. - **device_id** (string) - The unique identifier for the device. - **display_name** (string) - The customizable display name of the device. - **hardware_model_name** (string) - The name of the hardware model. - **hostname** (string) - The hostname of the device. - **image_version** (string) - The version of the device's operating image. - **last_seen_at** (string) - Timestamp when the device was last seen. - **network_update_pending** (boolean) - Indicates if a network update is pending. - **nfr** (boolean) - Not for Resale flag. - **package_version** (string) - The version of the device's software package. - **public_ip_address** (string) - The public IP address of the device. - **serial_number** (string) - The serial number of the device. - **service_model_name** (string) - The full name of the service model. - **service_model_name_short** (string) - A short name for the service model. - **service_status** (string) - The current service status of the device. - **storage_total_bytes** (integer) - Total storage capacity in bytes. - **storage_used_bytes** (integer) - Used storage capacity in bytes. - **total_agent_included_volume_used_bytes** (integer) - Used storage capacity by the agent in bytes. #### Response Example ```json { "addresses": [ { "ips": [ "192.168.1.104" ], "mac": "62:bb:d3:0d:db:7d" } ], "booted_at": "2024-08-23T01:25:08Z", "client_id": "c_0123456789ab", "device_id": "d_0123456789ab", "display_name": "My First Device", "hardware_model_name": "Slide Z1, 1 TB", "hostname": "my-hostname-1", "image_version": "1.0.0", "last_seen_at": "2024-08-23T01:25:08Z", "network_update_pending": false, "nfr": false, "package_version": "1.2.3", "public_ip_address": "74.83.124.111", "serial_number": "SN123456", "service_model_name": "Slide Z1 Subscription, 1 TB, 1 Year Cloud Retention", "service_model_name_short": "1 Year Cloud Retention", "service_status": "active", "storage_total_bytes": 1099511627776, "storage_used_bytes": 274877906944, "total_agent_included_volume_used_bytes": 274877906944 } ``` ```