openapi: 3.2.0
info:
version: '3.0'
title: inSync Cloud Endpoints API
description: Lists the APIs to get information about devices managed in Druva inSync.
servers:
- url: https://apis.druva.com/insync
tags:
- name: Endpoints
description: Lists the APIs to get information about devices managed in Druva inSync.
paths:
/endpoints/v1/devices:
get:
tags:
- Endpoints
summary: List all devices - v1
description: Returns information about all the user devices protected using Druva inSync.
security:
- Bearer: []
parameters:
- name: userID
in: query
description: Specify the user ID to get a list of devices associated with a single user. Get the ID of a user using the 'List all users' API.
required: false
schema:
type: integer
- name: userIDs
in: query
description: Specify the user IDs, separated by commas, to get a list of devices associated with multiple users. Get the user IDs using the 'List all users' API.
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: deviceIDs
in: query
description: Filter the list of devices by specifying only the required device IDs, separated by commas. Get the device IDs by using this ‘List all devices’ API.
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: profileIDs
in: query
description: Specify the profile IDs, separated by commas, to get a list of devices associated with multiple profiles. Get the ID of a profile using the ‘List all profiles’ API.
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: searchPrefixDeviceName
in: query
description: Specify the prefix from the device name by which you intend to search and list the devices. Example - “My” is the prefix in the device name “MyDevice123”.
required: false
schema:
type: string
- name: clientVersion
in: query
description: Filter the list of devices by the inSync Client version installed on it. Example - 6.2.0
required: false
schema:
type: string
- name: platformOS
in: query
required: false
description: Filter the list of devices by specifying the operating system of the device.
schema:
type: string
enum:
- win32
- linux2
- darwin
- android
- ios
- name: deviceStatus
in: query
required: false
description: Filter the list by specifying the status of the device.
schema:
type: string
enum:
- enabled
- disabled
- name: upgradeState
in: query
required: false
description: The upgrade state of the device.
schema:
type: string
enum:
- NOT UPGRADABLE
- UPGRADABLE
- UPTODATE
- SCHEDULED
- UNKNOWN
- name: pageToken
in: query
description: The token to access the next page of results. Use the token value received in the previous response's parameter 'nextPageToken'.
required: false
schema:
type: string
- name: minLastConnected
in: query
description: Filter to list devices that are connected to Druva inSync after a particular date. Example format - YYYY-MM-DDTHH:MM:SSZ
required: false
schema:
type: string
format: date-time
- name: maxLastConnected
in: query
description: Filter to list devices that are connected to Druva inSync before a particular date. Example format - YYYY-MM-DDTHH:MM:SSZ
required: false
schema:
type: string
format: date-time
- name: minAddedOn
in: query
description: Filter to list devices that are added to Druva inSync after a particular date. Example format - YYYY-MM-DDTHH:MM:SSZ
required: false
schema:
type: string
format: date-time
- name: maxAddedOn
in: query
description: Filter to list devices that are added to Druva inSync after a particular date. Example format - YYYY-MM-DDTHH:MM:SSZ
required: false
schema:
type: string
format: date-time
- name: serialNumber
in: query
description: Get device information using the unique serial number assigned to an individual piece of hardware by the manufacturer.
required: false
schema:
type: string
- name: uuid
in: query
description: Get device information using the unique 128-bit number UUID used to identify device on internet.
required: false
schema:
type: string
- name: deviceMarkedInactive
in: query
description: Filter the list of devices that are marked as inactive. For example, if you select true, all devices that are marked as inactive are listed. For more information about inactive devices, see Create Profile.
required: false
schema:
type: boolean
enum:
- 'true'
- 'false'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceList'
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Requested HTTP method is not implemented.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: getEndpointsV1Devices
x-operation-id-source: derived
/endpoints/v1/devices/{deviceID}:
get:
tags:
- Endpoints
summary: Get device information - v1
description: Returns device information using deviceID.
security:
- Bearer: []
parameters:
- name: deviceID
in: path
description: The unique ID of device in inSync. Get the ID of a device using the ‘List all devices’ API.
required: true
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Requested HTTP method is not implemented.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: getEndpointsV1DevicesByDeviceID
x-operation-id-source: derived
delete:
tags:
- Endpoints
summary: Delete a device
description: 'Deletes a device in the system. When you delete a device:
1) All the device data (restore points) is deleted.
2) You can roll back the deleted device from Rollback Actions until the rollback window lapses.
3) After the rollback window lapses, the device will be deleted permanently. For more information, see Rollback Actions.'
security:
- Bearer: []
parameters:
- name: deviceID
in: path
description: The unique ID of device in Endpoints. Get the ID of a device using the ‘List all devices’ API.
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
properties:
deletionReason:
description: Specify the reason for device deletion, (the character limit of reason is between 10-150) . This capability will help prevent accidental deletions. If no reason is specified, the default reason i.e. API initiated Device Deletion will be displayed.
type: string
example: Inactive device
responses:
'200':
description: OK
content:
application/json:
schema: {}
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
'422':
description: The request was well-formed but was unprocessable due to semantic errors.
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Requested HTTP method is not implemented.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: deleteEndpointsV1DevicesByDeviceID
x-operation-id-source: derived
/endpoints/v1/devices/{deviceID}/disable:
post:
tags:
- Endpoints
summary: Disable a device
description: Disables a user device. Once disabled, the data backup from the device stops, and the user can no longer restore data to that same device. The data of disabled device is available in inSync and can be restored to different devices belonging to the same user, either by the user or an administrator.
security:
- Bearer: []
parameters:
- name: deviceID
in: path
description: The unique ID of device in inSync. Get the ID of a device using the ‘List all devices’ API.
required: true
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema: {}
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
'422':
description: The request was well-formed but was not processed due to semantic errors.
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Requested HTTP method is not implemented.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: postEndpointsV1DevicesByDeviceIDDisable
x-operation-id-source: derived
/endpoints/v1/devices/{deviceID}/enable:
post:
tags:
- Endpoints
summary: Enable a device
description: Enables a user's device. After the device is enabled, the user of the selected device can start taking its backup and restore.
security:
- Bearer: []
parameters:
- name: deviceID
in: path
description: The unique ID of device in inSync. Get the ID of a device using the ‘List all devices’ API.
required: true
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema: {}
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
'422':
description: The request was well-formed but was not processed due to semantic errors.
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Requested HTTP method is not implemented.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: postEndpointsV1DevicesByDeviceIDEnable
x-operation-id-source: derived
/endpoints/v1/devicemappings:
post:
tags:
- Endpoints
summary: Create device mapping
description: Creates a secure user-to-device mapping to perform a mass deployment in a non-AD/LDAP environment or perform bulk replace of devices. The user-to-device mapping ensures controlled device and user activation of inSync client and prevents addition of rogue or unauthorized devices to inSync.
security:
- Bearer: []
requestBody:
content:
application/json:
schema:
type: object
description: Device Mapping
required:
- emailID
- userName
- deviceName
- deviceIdentifierType
- deviceIdentifier
properties:
emailID:
description: Specify the email address of the user. Example - ernie.carter@druva.com
type: string
example: ernie.carter@druva.com
userName:
description: Specify the username of the user in Druva inSync. Example - Ernie Carter
type: string
example: Ernie Carter
deviceName:
description: Specify the name of the device that is registered with the user. Example - Ernie Carter's Macbook
type: string
example: ErnieCarter's Macbook
deviceIdentifierType:
description: Specify the unique device identifier type of the device.(serial-number, uuid, or hostname)
type: string
example: serial-number
enum:
- serial-number
- uuid
- hostname
deviceIdentifier:
description: Specify the unique device identifier for the selected type. (serial-number, uuid, or hostname).
type: string
example: P0XGGGH
oldDeviceName:
description: "Name of the user's old device in Druva inSync that is to be replaced with a new device. \n\n:fa-info-circle: Note: Specify the value for this parameter only if you want to replace the device for the user, else keep this field blank."
type: string
example: ErnieCarter's Old Macbook
restoreData:
description: "The type of data restore to be performed.(ALL, SYSTEM, OR DATA)\n Type of data to be restored on the new device.Specify one of the following value:\n 1) All - To restore both, the data and the system settings from the existing device on the new device.\n2) SYSTEM - To restore only the system settings from the existing device on the new device.\n3)DATA - To restore only the data from the existing device on the new device.\n\n:fa-info-circle: Note: Specify the value for this parameter only if you want to replace the device for the user, else keep this field blank."
type: string
example: SYSTEM
enum:
- ALL
- DATA
- SYSTEM
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceMappingCreate'
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
'422':
description: The request was well-formed but was not processed due to semantic errors.
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Requested HTTP method is not implemented.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: postEndpointsV1Devicemappings
x-operation-id-source: derived
get:
tags:
- Endpoints
summary: List device mapping
description: Returns a list of user-to-device mapping created to perform a mass deployment in a non-AD/LDAP environment or perform bulk replace of devices.
security:
- Bearer: []
parameters:
- name: emailID
in: query
description: Filter to list device mappings using the email address of a user.
required: false
schema:
type: string
- name: deviceIdentifierType
in: query
description: Filter to list device mappings using the unique device identifier type of the device.(serial-number, uuid, or hostname).
required: false
schema:
type: string
enum:
- serial-number
- uuid
- hostname
- name: deviceIdentifier
in: query
description: Specify the unique id of the device for the selected deviceIdentifierType in inSync.
required: false
schema:
type: string
- name: restoreData
in: query
description: Filter to list device mappings using the type of data restore performed
required: false
schema:
type: string
enum:
- All
- Data
- System
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceMappingList'
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
'422':
description: The request was well-formed but was not processed due to semantic errors.
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Requested HTTP method is not implemented.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: getEndpointsV1Devicemappings
x-operation-id-source: derived
/endpoints/v1/devicemappings/{mappingID}:
delete:
tags:
- Endpoints
summary: Delete device mapping
description: Permanently deletes a user-to-device mapping created for mass deployment.
security:
- Bearer: []
parameters:
- name: mappingID
in: path
description: The id associated with the device mapping. Get the mapping id by running the List Device Mapping API.
required: true
schema:
type: integer
responses:
'200':
description: OK. The device mapping is deleted successfully.
content:
application/json:
schema: {}
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
'422':
description: The request was well-formed but was not processed due to semantic errors.
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Requested HTTP method is not implemented.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: deleteEndpointsV1DevicemappingsByMappingID
x-operation-id-source: derived
/endpoints/v1/devices/{deviceID}/decommission:
post:
tags:
- Endpoints
summary: Decommission a device
description: Decommission the device. Decommissioning a laptop or desktop allows you to securely wipe out data from all folders that inSync protects, which includes backup folders and inSync Share data. This is helpful in scenarios where devices are stolen or lost and you want to wipe out critical data from a device.
security:
- Bearer: []
parameters:
- name: deviceID
in: path
description: The unique ID of device in inSync. Get the ID of a device using the ‘List all devices’ API.
required: true
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema: {}
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
'422':
description: The request was well-formed but was not processed due to semantic errors.
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Requested HTTP method is not implemented.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: postEndpointsV1DevicesByDeviceIDDecommission
x-operation-id-source: derived
/endpoints/v1/devices/{deviceID}/upgradeClient:
post:
tags:
- Endpoints
summary: Upgrade inSync Client on a device
description: Upgrade inSync Client to its latest version on a user device. The inSync Client is upgraded only if a higher version is available.
security:
- Bearer: []
parameters:
- name: deviceID
in: path
description: The unique ID of device in inSync. Get the ID of a device using the ‘List all devices’ API.
required: true
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema: {}
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
'422':
description: The request was well-formed but was not processed due to semantic errors.
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Requested HTTP method is not implemented.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: postEndpointsV1DevicesByDeviceIDUpgradeClient
x-operation-id-source: derived
/endpoints/v1/backups:
get:
tags:
- Endpoints
summary: List endpoint backups
description: Returns the details of last successful backups of all user devices.
security:
- Bearer: []
parameters:
- name: lastSuccessful
in: query
required: true
description: "Provides details of the last successful backup for a device. \n Currently, only 'True' is the supported value for this parameter."
schema:
type: boolean
enum:
- 'true'
- name: deviceID
in: query
description: 'Filter to get list of last successful backups for a particular device using its unique ID. Get the ID of a device using the ‘List all devices’ API. '
required: false
schema:
type: integer
- name: userID
in: query
description: Filter to get list of last successful backups on devices owned by a particular user using their user ID. Get the ID of a user using the ‘List all users’ API.
required: false
schema:
type: integer
- name: pageToken
in: query
description: The token to access the next page of results. Use the token value received in the previous response's parameter 'nextPageToken'.
required: false
schema:
type: string
- name: minBackupStartTime
in: query
description: Filter to list successful backups that started after a particular date and time. Format - YYYY-MM-DDTHH:MM:SSZ
required: false
schema:
type: string
format: date-time
- name: maxBackupStartTime
in: query
description: Filter to list successful backups that started before a particular date and time. Format - YYYY-MM-DDTHH:MM:SSZ
required: false
schema:
type: string
format: date-time
- name: minBackupEndTime
in: query
description: Filter to list successful backups that ended after a particular date and time. Format - YYYY-MM-DDTHH:MM:SSZ
required: false
schema:
type: string
format: date-time
- name: maxBackupEndTime
in: query
description: Filter to list successful backups that ended before a particular date and time. Format - YYYY-MM-DDTHH:MM:SSZ
required: false
schema:
type: string
format: date-time
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BackupList'
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Requested HTTP method is not implemented.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: getEndpointsV1Backups
x-operation-id-source: derived
/endpoints/v1/restores:
get:
tags:
- Endpoints
summary: List all restore activities
description: Returns the list of all the restore activities performed on user devices with their details.
security:
- Bearer: []
parameters:
- name: deviceID
in: query
description: "Specify the device ID to get a filtered list of restore activities performed from a device. \n Get the device ID by using the ‘List all devices’ API."
required: false
schema:
type: integer
- name: targetDeviceID
in: query
description: "Specify the device ID to get a filtered list of restore activities performed on that device. \n Get the target device ID by using the ‘List all devices’ API."
required: false
schema:
type: integer
- name: userID
in: query
description: Specify the user ID to filter and get the list of restore activities performed by a user. You can get the user ID by using the ‘List all users’ API.
required: false
schema:
type: integer
- name: minStartTime
in: query
description: "Specify the start date and start time to get the list of restore activities performed after the specified start date and time. The format for this parameter value is YYYY-MM-DDTHH:MM:SSZ \nExample: 2019-10-04T11:03:27Z"
required: false
schema:
type: string
- name: maxStartTime
in: query
description: "Specify the start date and start time to get the list of restore activities performed before the specified start date and time. The format for this parameter value is YYYY-MM-DDTHH:MM:SSZ \nExample: 2019-10-04T11:03:27Z \n\nNote: Restore activity data is fetched for past 365 days. Request for data beyond this limit will return an empty list."
required: false
schema:
type: string
- name: pageToken
in: query
description: The token to access the next page of results. Use the token value received in the previous response's parameter 'nextPageToken.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreList'
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Requested HTTP method is not implemented.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: getEndpointsV1Restores
x-operation-id-source: derived
post:
tags:
- Endpoints
summary: Initiate a restore activity
description: 'Creates a data restore request and provides the option to scan the data for malware or viruses before restoring to the desired location on the target device.
You can either restore the user''s data to the same device from which it was backed up or to a different device registered with inSync.
You can restore the data ONLY from the most recent snapshot to the target device.
You can initiate multiple restore activities, which may be consolidated into a single activity based on the inSync Client version; appropriate status is displayed for each activity.'
security:
- Bearer: []
requestBody:
content:
application/json:
schema:
type: object
required:
- deviceID
- targetDeviceID
- restoreLocation
properties:
deviceID:
description: 'Specify the unique ID of the device in inSync from which you want to initiate the restore activity.
Get the ID of the device using the ‘List all devices’ API.'
type: integer
example: 1234
targetDeviceID:
description: 'Specify the target device ID to which you intend to restore the data.
The target device must belong to the same user.
Get the target device ID by using the ‘List all devices’ API.
Target device ID can be same in case you are restoring the data on the same device.'
type: integer
example: 242
restoreLocation:
description: "Specify the location to which you intend to restore the data on the selected device.\n Specify one of the following - \n1) Desktop - If you want to restore the data to the desktop on the target device. \n2) Original - If you want to restore data to the same location from which it was backed up. \n3) If you want to restore the data at a custom location, specify absolute path of the location. Example - /home/jeremy/statusReport"
type: string
example: Original
snapshotName:
description: 'To restore a curated snapshot, provide the curated snapshot name. Get the curated snapshot name using the ''List all the Curated Snapshots'' API.
:fa-info-circle: Malicious file scan (enableAVscan parameter) is not applicable for curated snapshots.'
type: string
example: virtual_Tue Aug 9 16:24:39 2022
enableAVScan:
description: 'If your organization has the ''Restore With Confidence'' license, you can force scan the Snapshot for malware and viruses before restoring the data to the target device and location. Select True to enable Malicious File Scan for the Snapshot being restored.
:fa-info-circle: Malicious file scan is not applicable if you are restoring a Curated Snapshot.'
type: boolean
example: false
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRestores'
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: InsyncEndpoints-1003
message:
type: string
enum:
- Snapshot with the given name does not exist for this device
- Restore Failed. Device is not a part of your organization.
data:
type: object
retryable:
type: boolean
example: false
'422':
description: "Unprocessable entity. \n Example - Restore Failed. Selected device is disabled in inSync."
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: postEndpointsV1Restores
x-operation-id-source: derived
/endpoints/v1/restores/{restoreID}:
get:
tags:
- Endpoints
summary: Get restore by restoreID
description: Returns the restore activity details based on the restore ID.
security:
- Bearer: []
parameters:
- name: restoreID
in: path
description: Specify the unique ID of the restore activity. You can get the restore ID by using the ‘List all restore activities’ API.
required: true
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Restore'
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Requested HTTP method is not implemented.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: getEndpointsV1RestoresByRestoreID
x-operation-id-source: derived
/endpoints/v2/devices:
get:
tags:
- Endpoints
summary: List all devices - v2
description: Returns information about all the user devices protected using Druva inSync.
security:
- Bearer: []
parameters:
- name: userID
in: query
description: Specify the user ID to get a list of devices associated with a single user. Get the ID of a user using the 'List all users' API.
required: false
schema:
type: integer
- name: userIDs
in: query
description: Specify the user IDs, separated by commas, to get a list of devices associated with multiple users. Get the user IDs using the 'List all users' API.
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: deviceIDs
in: query
description: Filter the list of devices by specifying only the required device IDs, separated by commas. Get the device IDs by using this ‘List all devices’ API.
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: profileIDs
in: query
description: Specify the profile IDs, separated by commas, to get a list of devices associated with multiple profiles. Get the ID of a profile using the ‘List all profiles’ API.
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
- name: searchPrefixDeviceName
in: query
description: Specify the prefix from the device name by which you intend to search and list the devices. Example - “My” is the prefix in the device name “MyDevice123”.
required: false
schema:
type: string
- name: clientVersion
in: query
description: Filter the list of devices by the inSync Client version installed on it. Example - 6.2.0
required: false
schema:
type: string
- name: platformOS
in: query
required: false
description: Filter the list of devices by specifying the operating system of the device.
schema:
type: string
enum:
- win32
- linux2
- darwin
- android
- ios
- name: deviceStatus
in: query
required: false
description: Filter the list by specifying the status of the device.
schema:
type: string
enum:
- enabled
- disabled
- name: upgradeState
in: query
required: false
description: The upgrade state of the device.
schema:
type: string
enum:
- NOT UPGRADABLE
- UPGRADABLE
- UPTODATE
- SCHEDULED
- UNKNOWN
- name: pageToken
in: query
description: The token to access the next page of results. Use the token value received in the previous response's parameter 'nextPageToken'.
required: false
schema:
type: string
- name: minLastConnected
in: query
description: Filter to list devices that are connected to Druva inSync after a particular date. Example format - YYYY-MM-DDTHH:MM:SSZ
required: false
schema:
type: string
format: date-time
- name: maxLastConnected
in: query
description: Filter to list devices that are connected to Druva inSync before a particular date. Example format - YYYY-MM-DDTHH:MM:SSZ
required: false
schema:
type: string
format: date-time
- name: minAddedOn
in: query
description: Filter to list devices that are added to Druva inSync after a particular date. Example format - YYYY-MM-DDTHH:MM:SSZ
required: false
schema:
type: string
format: date-time
- name: maxAddedOn
in: query
description: Filter to list devices that are added to Druva inSync after a particular date. Example format - YYYY-MM-DDTHH:MM:SSZ
required: false
schema:
type: string
format: date-time
- name: serialNumber
in: query
description: Get device information using the unique serial number assigned to an individual piece of hardware by the manufacturer.
required: false
schema:
type: string
- name: uuid
in: query
description: Get device information using the unique 128-bit number UUID used to identify device on internet.
required: false
schema:
type: string
- name: deviceMarkedInactive
in: query
description: Filter the list of devices that are marked as inactive. For example, if you select true, all devices that are marked as inactive are listed. For more information about inactive devices, see Create Profile.
required: false
schema:
type: boolean
enum:
- 'true'
- 'false'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceListV2'
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Requested HTTP method is not implemented.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: getEndpointsV2Devices
x-operation-id-source: derived
/endpoints/v2/devices/{deviceID}:
get:
tags:
- Endpoints
summary: Get device information - v2
description: Returns device information using deviceID.
security:
- Bearer: []
parameters:
- name: deviceID
in: path
description: The unique ID of device in inSync. Get the ID of a device using the ‘List all devices’ API.
required: true
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceV2'
'400':
description: Bad Request
'401':
description: The request did not include an authentication token or an expired authentication token was supplied.
'403':
description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296'
content:
application/json:
schema:
$ref: '#/components/schemas/HTTP_403'
'404':
description: The requested resource was not found.
'500':
description: The request was not processed due to an internal error in inSync Cloud.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Requested HTTP method is not implemented.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: getEndpointsV2DevicesByDeviceID
x-operation-id-source: derived
components:
schemas:
BackupList:
type: object
properties:
totalSize:
type: integer
format: int64
example: 1
nextPageToken:
type: string
description: The token to access next page of results. This parameter will be empty for the last page of results.
example: MTExMQ==
backups:
type: array
items:
$ref: '#/components/schemas/Backup'
DeviceMappingList:
type: object
properties:
totalSize:
type: integer
format: int64
description: The total number of device mappings listed on the result page. Example - 3
example: 1
nextPageToken:
type: string
description: The token to access next page of results. This parameter will be empty for the last page of results.
example: MTExMQ==
imdMappings:
type: array
items:
$ref: '#/components/schemas/DeviceMappingListResponse'
Restore:
type: object
properties:
deviceID:
type: integer
description: 'The unique ID of the device from which the restore activity was triggered. Example: 12345'
targetDeviceID:
type: integer
description: 'The device ID of the device to which the data was restored. Example: 12345'
restoreLocation:
type: string
description: "The location on the device to which the data was restored. \nThe possibles locations are:\n 1) Original: If the data was restored to the original location\n 2) Desktop: If the data was restored to desktop\n 3)Custom location: If data was restored to a custom location\n 4) Unknown: If the restore was performed from a mobile device to a mobile device."
userID:
type: integer
description: 'The unique ID of the user who triggered the restore activity. Example: 12345'
restoreID:
type: integer
description: 'The unique ID of the restore activity. This value is ''null'' in case of restore was initiated from a mobile device. Example: 12345'
startTime:
type: string
format: date-time
description: "The start time of the restore activity. \nExample: 2013-04-17T09:12:36Z"
endTime:
type: string
format: date-time
description: 'The end time of the restore activity. Example: 2013-04-17T09:13:36Z. This value is empty if the restore activity is ongoing.'
status:
type: string
description: "Status of the restore activity. It is:\n 1) Successful: If the restore activity was completed successfully.\n 2) Ongoing: If the restore activity is ongoing. \n 3) Failed: If the restore activity was failed.\n4) Cancelled: If the restore activity was cancelled manually.\n 5) Completed with Errors: If some files were missed during the restore activity."
restoreSize:
type: string
description: "The size of the data restored. Example: 285 MB \n This value is 'Unknown' for restores that failed to start. "
numberOfFilesRestored:
type: integer
description: 'The total number of files that were restored in the restore activity. Example: 456'
numberOfFilesMissed:
type: integer
description: "The total number of files that were missed from the restore activity. Example: 12 \n This value is 'null' if the restore activity is ongoing."
restoreMode:
type: string
description: "The persona who initiated the restore. Personas are: \nSelf: inSync user himself \nAdmin: Administrator."
systemSettingsRestore:
type: boolean
description: This returns 'true' if system setting were restored else returns 'false'.
failureReason:
type: string
description: This returns the failure reason if the status is 'failed' else returns 'empty.
example: ''
DeviceMappingCreate:
type: object
properties:
mappingID:
type: string
description: The id of the device mapping in inSync. Example - 3452rw6
example: 3452rw6
emailID:
type: string
description: The email address of the user. Example - ernie.carter@druva.com
example: ernie.carter@druva.com
userName:
type: string
description: The username of the user in inSync. Example - Ernie Carter
example: Ernie Carter
deviceName:
type: string
description: The device name linked to the user in inSync.
example: Ernie Carter's Macbook
deviceIdentifierType:
type: string
description: The unique id type of the device in inSync. Example - Serial Number
example: Serial Number
deviceIdentifier:
type: string
description: 'The unique id of the device in inSync. Example - Po3XF '
example: Po3XF
oldDeviceName:
type: string
description: The old device name linked to the user in inSync. Example - Ernie Carter's Old Macbook
example: Ernie Carter's Old Macbook
restoreData:
type: string
description: The type of data restore performed on the new device. Example - SYSTEM
example: SYSTEM
RestoreDefault:
type: object
properties:
deviceID:
type: integer
description: 'The unique ID of the device in inSync from which the restore activity was triggered. Example: 12345'
default: null
example: 12345
targetDeviceID:
type: integer
description: 'The unique ID of the device in inSync to which the data was restored.
It can be similar to ''deviceID'' if the data was restored on the same device. Example: 12345.'
default: null
example: 12345
restoreLocation:
type: string
description: "Displays the location at which the data was restored. Example - Original.\nPossible values are - \n1) Desktop - If the data was restored on the user desktop. \n2) Original - If the data was restored to the original location from where it was backed up. \n3) Absolute path of the location on the device if the data was restored at a custom location."
default: ''
example: Desktop
userID:
type: integer
description: 'The unique ID of the user in inSync for whom the restore activity was triggered. Example: 12345'
default: null
example: 12345
restoreID:
type: integer
description: "The unique ID of the restore activity. Example: 12345. \nThis value is 'null' in case the restore was initiated from a mobile device. "
default: null
example: 12345
startTime:
type: string
format: date-time
description: The start time of the restore activity. Example - 2013-04-17T09:12:36Z
default: ''
example: '2019-11-19T06:49:15Z'
endTime:
type: string
format: date-time
description: The end time of the restore activity. No value is displayed for this field as it is an ongoing restore activity.
default: ''
example: ''
status:
type: string
description: ' The status of the restore activity. Always displays ''Ongoing'' as the restore activity is in progress'
default: Ongoing
example: Ongoing
restoreSize:
type: string
description: The size of data restored. No value is displayed for this field as it is an ongoing restore activity.
default: ''
example: ''
numberOfFilesRestored:
type: integer
description: The number of files restored in the restore activity. 'Null' is displayed for this field as it is an ongoing restore activity..
default: null
example: null
numberOfFilesMissed:
type: integer
description: The number of files missed during the restore activity. 'Null' is displayed for this field as it is an ongoing restore activity.
default: null
example: null
restoreMode:
type: string
description: Information of the restore initiator. Always displays 'Admin' as the initiator of the restore activity.
default: Admin
example: Admin
systemSettingsRestore:
type: boolean
description: ' Displays whether system settings are restored as part of restore. ''Null'' is displayed for this field as it is an ongoing restore activity.'
default: null
example: null
failureReason:
type: string
description: Displays the reason for failure if the restore activity has failed, else the value is empty.
default: ''
example: ''
Error:
type: object
properties:
code:
type: string
example: InsyncEndpoints-1006
description: Application specific error code
message:
type: string
example: Internal server error
description: Application specific error message
retryable:
type: boolean
default: false
description: If true, retry using exponential backoff
data:
type: object
description: Dictionary of values present in the error message for localization. Currently, no values are available.
DeviceV2:
type: object
properties:
deviceID:
type: integer
format: int64
description: The unique id of the device in inSync. Example - 12345
example: 12345
deviceName:
type: string
description: The device name in inSync. Example - Ernie Carter's Macbook
example: Ernie Carter's Macbook
serialNumber:
type: string
description: A unique, identifying number assigned to an individual piece of hardware by the manufacturer. Example - PX045
example: PX045
deviceOS:
type: string
description: The operating system of the device. Example - Mojave
example: mojave
deviceOSVersion:
type: string
description: The version of the operating system of the device. Example - 10.14 r34567
example: 10.14 r34567
platformOS:
type: string
description: The operating system platform of the device. Example - darwin
example: darwin
enum:
- win32
- linux2
- darwin
- android
- ios
uuid:
type: string
description: A 128-bit number used to uniquely identify device in internet. Example - TY5h67-5674r-675645
example: TY5h67-5674r-675645
clientVersion:
type: string
description: The inSync Client version installed on the device. Example - 6.1.0 r56746
example: 6.1.0 r56746
deviceStatus:
type: string
description: The status of the device. Example - enabled
enum:
- enabled
- disabled
upgradeState:
type: string
description: The upgrade state of the device.
enum:
- NOT UPGRADABLE
- UPGRADABLE
- UPTODATE
- SCHEDULED
- UNKNOWN
userID:
type: integer
description: A unique id of the user in inSync.
example: 1
totalBackupData:
type: string
description: The storage quota consumed by the user.
example: 40.05 GB
totalBackupDataInBytes:
type: integer
description: The storage quota consumed by the user (in bytes).
example: 43003360051
addedOn:
type: string
format: date-time
description: The date and time on which the device was added to inSync. Example - 2019-10-25T00:00:00Z
example: '2019-10-25T00:00:00Z'
lastUpgradedOn:
type: string
format: date-time
description: The date on which the inSync Client was last updated for the user. Example - 2019-10-25T00:00:00Z
example: '2019-10-25T00:00:00Z'
lastConnected:
type: string
format: date-time
description: The date and time on which the inSync Client last connected with inSync Cloud. Example - 2019-10-25T00:00:00Z
example: '2019-10-25T00:00:00Z'
deviceMarkedInactive:
type: boolean
description: Devices marked as inactive. Example - true
example: true
disabledMode:
type: string
description: The mode via which the device was disabled. Example - Manual
example: Manual
enum:
- Manual
- API
- User Preserved
- Decommission
disabledOn:
type: string
format: date-time
description: The date and time when the device was disabled. Example - 2019-10-25T00:00:00Z
example: '2019-10-25T00:00:00Z'
DeviceListV2:
type: object
properties:
totalSize:
type: integer
format: int64
description: The total number of devices listed in the result pages.
example: 1
nextPageToken:
type: string
description: The token to access next page of results. This parameter will be empty for the last page of results.
example: MTExMQ==
devices:
type: array
items:
$ref: '#/components/schemas/DeviceV2'
CreateRestores:
type: object
properties:
restores:
type: array
items:
$ref: '#/components/schemas/RestoreDefault'
totalSize:
type: integer
format: int64
description: The total number of restore activities created.
example: 1
RestoreList:
type: object
properties:
totalSize:
type: integer
format: int64
description: 'The total number of restore activities listed in the result pages. Example: 4096'
nextPageToken:
type: string
description: The token to access the next page of results. This parameter will be empty for the last page of results.
restores:
type: array
items:
$ref: '#/components/schemas/Restore'
HTTP_403:
type: object
properties:
code:
type: string
example: InsyncAdmanagement-1221
description: Application specific error code
message:
type: string
example: Access restricted due to insufficient permissions.
description: Application specific error message
retryable:
type: boolean
example: false
description: If true, retry using exponential backoff
data:
type: object
description: Dictionary of values present in the error message for localization. Currently, no values are available.
DeviceList:
type: object
properties:
totalSize:
type: integer
format: int64
description: The total number of devices listed in the result pages.
example: 1
nextPageToken:
type: string
description: The token to access next page of results. This parameter will be empty for the last page of results.
example: MTExMQ==
devices:
type: array
items:
$ref: '#/components/schemas/Device'
Backup:
type: object
properties:
deviceID:
type: integer
format: int64
description: It is unique postive integer id associated with device.
example: 12345
backupStatus:
type: string
description: Backup status of the device
enum:
- Completed
filesBackedUp:
type: integer
description: The number of files backed up in the last successful backup.
example: 124
bytesTransferred:
type: integer
description: The number of bytes transferred in the last successful backup.
example: 23456
filesMissed:
type: integer
description: The number of files missed on the device in the last successful backup.
example: 50
snapshotSize:
type: string
description: The size of the snapshot generated in the last successful backup in MBs.
example: 2546 MB
startTime:
type: string
format: date-time
description: The start time of the last successful backup. Example - 2019-10-25T00:00:00Z
example: '2019-10-25T00:00:00Z'
endTime:
type: string
format: date-time
description: The end time of the last successful backup. Example - 2019-10-25T00:00:00Z
example: '2019-10-25T00:00:00Z'
systemSettingsBackedUp:
type: boolean
description: Specifies whether the system settings were backed up as part of the backup.
Device:
type: object
properties:
deviceID:
type: integer
format: int64
description: The unique id of the device in inSync. Example - 12345
example: 12345
deviceName:
type: string
description: The device name in inSync. Example - Ernie Carter's Macbook
example: Ernie Carter's Macbook
serialNumber:
type: string
description: A unique, identifying number assigned to an individual piece of hardware by the manufacturer. Example - PX045
example: PX045
deviceOS:
type: string
description: The operating system of the device. Example - Mojave
example: mojave
deviceOSVersion:
type: string
description: The version of the operating system of the device. Example - 10.14 r34567
example: 10.14 r34567
platformOS:
type: string
description: The operating system platform of the device. Example - darwin
example: darwin
enum:
- win32
- linux2
- darwin
- android
- ios
uuid:
type: string
description: A 128-bit number used to uniquely identify device in internet. Example - TY5h67-5674r-675645
example: TY5h67-5674r-675645
clientVersion:
type: string
description: The inSync Client version installed on the device. Example - 6.1.0 r56746
example: 6.1.0 r56746
deviceStatus:
type: string
description: The status of the device. Example - enabled
enum:
- enabled
- disabled
upgradeState:
type: string
description: The upgrade state of the device.
enum:
- NOT UPGRADABLE
- UPGRADABLE
- UPTODATE
- SCHEDULED
- UNKNOWN
userID:
type: integer
description: A unique id of the user in inSync.
example: 1
totalBackupData:
type: string
description: The storage quota consumed by the user.
example: 40.05 GB
totalBackupDataInBytes:
type: integer
description: The storage quota consumed by the user (in bytes).
example: 43003360051
addedOn:
type: string
format: date-time
description: The date and time on which the device was added to inSync. Example - 2019-10-25T00:00:00Z
example: '2019-10-25T00:00:00Z'
lastUpgradedOn:
type: string
format: date-time
description: The date on which the inSync Client was last updated for the user. Example - 2019-10-25T00:00:00Z
example: '2019-10-25T00:00:00Z'
lastConnected:
type: string
format: date-time
description: The date and time on which the inSync Client last connected with inSync Cloud. Example - 2019-10-25T00:00:00Z
example: '2019-10-25T00:00:00Z'
deviceMarkedInactive:
type: boolean
description: Devices marked as inactive. Example - true
example: true
DeviceMappingListResponse:
type: object
properties:
mappingID:
type: string
description: The id of the device mapping in inSync. Example - 3452rw6
example: 3452rw6
emailID:
type: string
description: The email address of the user. Example - ernie.carter@druva.com
example: ernie.carter@druva.com
userName:
type: string
description: The username of the user in inSync. Example - Ernie Carter
example: Ernie Carter
deviceName:
type: string
description: The device name linked to the user in inSync.
example: Ernie Carter's Macbook
deviceIdentifierType:
type: string
description: The unique id type of the device in inSync. Example - Serial Number
example: Serial Number
deviceIdentifier:
type: string
description: 'The unique id of the device in inSync. Example - Po3XF '
example: Po3XF
oldDeviceName:
type: string
description: The old device name linked to the user in inSync. Example - Ernie Carter's Old Macbook
example: Ernie Carter's Old Macbook
restoreData:
type: string
description: The type of data restore performed on the new device. Example - SYSTEM
example: SYSTEM
createdTime:
type: string
format: date-time
description: The date and time when the device mapping was created. Example - 2019-10-25T00:00:00Z
example: '2019-10-25T00:00:00Z'
securitySchemes:
OAuth2:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://apis.druva.com/token
scopes:
read: Grants read access
Bearer:
type: apiKey
name: Authorization
in: header