---
title: Druva
slug: connectors/druva
docTags: 
createdAt: 2026-06-09T16:30:18.779Z
---

Druva is a cloud-based data protection and management platform that secures enterprise data across various environments.

Druva is a leading cloud-based data protection and management platform that offers comprehensive backup, recovery, and archival solutions. The Druva connector for Swimlane Turbine enables seamless integration with Druva's robust data management capabilities, allowing users to automate device management, data search, and restore activities. By leveraging this integration, Swimlane Turbine end-users can enhance their security operations with automated data protection workflows, ensuring efficient data management and rapid response to data-related incidents.

## Prerequisites

Before you can use the Druva connector for Turbine, you'll need access to the Druva API. This requires the following:

- OAuth 2.0 Client Credentials authentication using the following parameters:
  - URL: The base URL for accessing Druva's API services.
  - Client ID: A unique identifier for your application provided by Druva.
  - Client Secret: A secret key associated with your client ID for authentication.
  - Token URL: The URL used to obtain an access token for API requests.

## Additional Documentation

- [Druva Connector Documentation](https://docs.swimlane.com/connectors/druva)
- [Druva API Documentation](https://developer.druva.com/)

# Configurations

## Oauth 2.0 Client Credentials

Authenticates using oauth 2.0 client credentials

### Configuration Parameters

| **Parameter**  | **Description**                    | **Type** | **Required** |
| -------------- | ---------------------------------- | -------- | ------------ |
| url            | A URL to the target host.          | string   | Required     |
| token\_url     |                                    | string   | Required     |
| client\_id     | The client ID                      | string   | Required     |
| client\_secret | The client secret.                 | string   | Required     |
| scope          | Permission scopes for this action. | array    | Optional     |
| verify\_ssl    | Verify SSL certificate             | boolean  | Optional     |
| http\_proxy    | A proxy to route requests through. | string   | Optional     |

# Actions

## Disable Device

Disable a user device in Druva, stopping Backup and Restore functionalities. User data remains available in inSync but cannot be restored by the user. Requires device ID as a path parameter.

### Endpoint

- **URL:** `/insync/endpoints/v1/devices/{{id}}/disable`
- **Method:** `POST`

### Input

| **Argument Name**    | **Type** | **Required** | **Description**                          |
| -------------------- | -------- | ------------ | ---------------------------------------- |
| `path_parameters.id` | string   | Required     | Parameters for the Disable Device action |

### Input Example

`{"path_parameters":{"id":"1"}}`

### Output Example

`{"json_body":{}}`

## Emails Search

Search for backed-up emails in Druva using the email attachments’ SHA1 checksum value and view their details.

### Endpoint

- **URL:** `/insync/search/mds/v1/user/emails`
- **Method:** `GET`

### Input

| **Argument Name** | **Type** | **Required** | **Description** |
| ----------------- | -------- | ------------ | --------------- |
| `data_body`       | object   | Optional     | Data Body       |
| `headers`         | object   | Optional     | Request Headers |

### Input Example

`{"path_parameters":{},"parameters":{},"data_body":{},"headers":{}}`

## File Search

Search for files in Druva using the SHA1 checksum to locate specific data.

### Endpoint

- **URL:** `/insync/search/mds/v1/user/files`
- **Method:** `GET`

### Input

| **Argument Name**                | **Type** | **Required** | **Description**                       |
| -------------------------------- | -------- | ------------ | ------------------------------------- |
| `parameters.sha1Checksum`        | string   | Required     | Parameters for the File Search action |
| `parameters.minCreationTime`     | string   | Optional     | Parameters for the File Search action |
| `parameters.maxCreationTime`     | string   | Optional     | Parameters for the File Search action |
| `parameters.minModificationTime` | string   | Optional     | Parameters for the File Search action |
| `parameters.maxModificationTime` | string   | Optional     | Parameters for the File Search action |
| `parameters.fileType`            | array    | Optional     | Parameters for the File Search action |
| `parameters.minFileSize`         | number   | Optional     | Parameters for the File Search action |
| `parameters.maxFileSize`         | number   | Optional     | Parameters for the File Search action |
| `parameters.dataSource`          | array    | Optional     | Parameters for the File Search action |
| `parameters.userID`              | array    | Optional     | Parameters for the File Search action |
| `parameters.pageToken`           | string   | Optional     | Parameters for the File Search action |

### Input Example

`{"parameters":{"sha1Checksum":"string_value","minCreationTime":"string_datetime","maxCreationTime":"string_datetime","minModificationTime":"string_datetime","maxModificationTime":"string_datetime","fileType":["string_value_1"],"minFileSize":100,"maxFileSize":200,"dataSource":["string_value_2"],"userID":[3],"pageToken":"string_value_3"}}`

### Output

| **Parameter**              | **Type** | **Description**             |
| -------------------------- | -------- | --------------------------- |
| `results`                  | array    | Result of the operation     |
| `results.deviceID`         | number   | Unique identifier           |
| `results.userID`           | number   | Unique identifier           |
| `results.storageID`        | number   | Unique identifier           |
| `results.sha1Checksum`     | string   | Result of the operation     |
| `results.fileName`         | string   | Name of the resource        |
| `results.fileSize`         | number   | Result of the operation     |
| `results.creationTime`     | string   | Result of the operation     |
| `results.modificationTime` | string   | Result of the operation     |
| `results.folderPath`       | string   | Result of the operation     |
| `results.objectID`         | string   | Unique identifier           |
| `nextPageToken`            | string   | Output field: nextPageToken |

### Output Example

`{"json_body":{"results":[{}],"nextPageToken":"string"}}`

## Get CloudCache Server

Retrieve details of a specific CloudCache Server in Druva using the storageID.

### Endpoint

- **URL:** `/insync/storagemanagement/v1/cloudcaches/{{id}}`
- **Method:** `GET`

### Input

| **Argument Name**    | **Type** | **Required** | **Description**                                 |
| -------------------- | -------- | ------------ | ----------------------------------------------- |
| `path_parameters.id` | string   | Optional     | Parameters for the Get CloudCache Server action |

### Input Example

`{"path_parameters":{"id":"1"}}`

### Output

| **Parameter**    | **Type** | **Description**              |
| ---------------- | -------- | ---------------------------- |
| `cloudCacheID`   | number   | Unique identifier            |
| `cloudCacheName` | string   | Name of the resource         |
| `status`         | string   | Status value                 |
| `cacheUsage`     | string   | Output field: cacheUsage     |
| `totalCacheSize` | string   | Output field: totalCacheSize |

### Output Example

`{"json_body":{"cloudCacheID":1,"cloudCacheName":"Druva_cloudcache","status":"Active","cacheUsage":"1.29 GB","totalCacheSize":"1 TB"}}`

## Get CloudCache Servers

Returns the list of CloudCache Servers configured in Druva inSync.

### Endpoint

- **URL:** `/insync/storagemanagement/v1/cloudcaches`
- **Method:** `GET`

### Output

| **Parameter**                | **Type** | **Description**                          |
| ---------------------------- | -------- | ---------------------------------------- |
| `totalSize`                  | number   | Output field: totalSize                  |
| `nextPageToken`              | string   | Output field: nextPageToken              |
| `cloudcaches`                | array    | Output field: cloudcaches                |
| `cloudcaches.cloudCacheID`   | number   | Unique identifier                        |
| `cloudcaches.cloudCacheName` | string   | Name of the resource                     |
| `cloudcaches.status`         | string   | Status value                             |
| `cloudcaches.cacheUsage`     | string   | Output field: cloudcaches.cacheUsage     |
| `cloudcaches.totalCacheSize` | string   | Output field: cloudcaches.totalCacheSize |

### Output Example

`{"json_body":{"totalSize":1,"nextPageToken":"MTExMQ==","cloudcaches":[{}]}}`

## Get Device

Return device information using the specified device ID in Druva.

### Endpoint

- **URL:** `/insync/endpoints/v1/devices/{{id}}`
- **Method:** `GET`

### Input

| **Argument Name**    | **Type** | **Required** | **Description**                      |
| -------------------- | -------- | ------------ | ------------------------------------ |
| `path_parameters.id` | string   | Required     | Parameters for the Get Device action |

### Input Example

`{"path_parameters":{"id":"1"}}`

### Output

| **Parameter**            | **Type** | **Description**                    |
| ------------------------ | -------- | ---------------------------------- |
| `deviceID`               | number   | Unique identifier                  |
| `deviceName`             | string   | Name of the resource               |
| `serialNumber`           | string   | Output field: serialNumber         |
| `deviceOS`               | string   | Output field: deviceOS             |
| `deviceOSVersion`        | string   | Output field: deviceOSVersion      |
| `platformOS`             | string   | Output field: platformOS           |
| `uuid`                   | string   | Unique identifier                  |
| `clientVersion`          | string   | Output field: clientVersion        |
| `deviceStatus`           | string   | Status value                       |
| `upgradeState`           | string   | Output field: upgradeState         |
| `userID`                 | number   | Unique identifier                  |
| `totalBackupData`        | string   | Response data                      |
| `totalBackupDataInBytes` | number   | Response data                      |
| `addedOn`                | string   | Output field: addedOn              |
| `lastUpgradedOn`         | string   | Output field: lastUpgradedOn       |
| `lastConnected`          | string   | Output field: lastConnected        |
| `deviceMarkedInactive`   | boolean  | Output field: deviceMarkedInactive |

### Output Example

`{"json_body":{"deviceID":12345,"deviceName":"Ernie Carter's Macbook","serialNumber":"PX045","deviceOS":"mojave","deviceOSVersion":"10.14 r34567","platformOS":"darwin","uuid":"TY5h67-5674r-675645","clientVersion":"6.1.0 r56746","deviceStatus":"enabled","upgradeState":"NOT UPGRADABLE","userID":1,"totalBackupData":"40.05 GB","totalBackupDataInBytes":43003360051,"addedOn":"2019-10-25T00:00:00Z","lastUpgradedOn":"2019-10-25T00:00:00Z"}}`

## Get Devices

Returns information about all user devices protected using Druva inSync.

### Endpoint

- **URL:** `/insync/endpoints/v1/devices`
- **Method:** `GET`

### Input

| **Argument Name**                   | **Type** | **Required** | **Description**                       |
| ----------------------------------- | -------- | ------------ | ------------------------------------- |
| `parameters.userID`                 | number   | Optional     | Parameters for the Get Devices action |
| `parameters.userIDs`                | array    | Optional     | Parameters for the Get Devices action |
| `parameters.deviceIDs`              | array    | Optional     | Parameters for the Get Devices action |
| `parameters.profileIDs`             | array    | Optional     | Parameters for the Get Devices action |
| `parameters.searchPrefixDeviceName` | string   | Optional     | Parameters for the Get Devices action |
| `parameters.clientVersion`          | string   | Optional     | Parameters for the Get Devices action |
| `parameters.platformOS`             | string   | Optional     | Parameters for the Get Devices action |
| `parameters.deviceStatus`           | string   | Optional     | Parameters for the Get Devices action |
| `parameters.upgradeState`           | string   | Optional     | Parameters for the Get Devices action |
| `parameters.pageToken`              | string   | Optional     | Parameters for the Get Devices action |
| `parameters.minLastConnected`       | string   | Optional     | Parameters for the Get Devices action |
| `parameters.maxLastConnected`       | string   | Optional     | Parameters for the Get Devices action |
| `parameters.minAddedOn`             | string   | Optional     | Parameters for the Get Devices action |
| `parameters.maxAddedOn`             | string   | Optional     | Parameters for the Get Devices action |
| `parameters.serialNumber`           | string   | Optional     | Parameters for the Get Devices action |
| `parameters.uuid`                   | string   | Optional     | Parameters for the Get Devices action |
| `parameters.deviceMarkedInactive`   | boolean  | Optional     | Parameters for the Get Devices action |

### Input Example

`{"parameters":{"userID":123,"userIDs":[123,456,789],"deviceIDs":[101,102,103],"profileIDs":[12,13,14],"searchPrefixDeviceName":"My","clientVersion":"6.2.0","platformOS":"Windows","deviceStatus":"Active","upgradeState":"Upgraded","pageToken":"next_page_token_string","minLastConnected":"2023-01-01T12:00:00Z","maxLastConnected":"2023-12-31T12:00:00Z","minAddedOn":"2023-01-01T12:00:00Z","maxAddedOn":"2023-12-31T12:00:00Z","serialNumber":"SN123456789","uuid":"123e4567-e89b-12d3-a456-426614174000","deviceMarkedInactive":false}}`

### Output

| **Parameter**                    | **Type** | **Description**                            |
| -------------------------------- | -------- | ------------------------------------------ |
| `totalSize`                      | number   | Output field: totalSize                    |
| `nextPageToken`                  | string   | Output field: nextPageToken                |
| `devices`                        | array    | Output field: devices                      |
| `devices.deviceID`               | number   | Unique identifier                          |
| `devices.deviceName`             | string   | Name of the resource                       |
| `devices.serialNumber`           | string   | Output field: devices.serialNumber         |
| `devices.deviceOS`               | string   | Output field: devices.deviceOS             |
| `devices.deviceOSVersion`        | string   | Output field: devices.deviceOSVersion      |
| `devices.platformOS`             | string   | Output field: devices.platformOS           |
| `devices.uuid`                   | string   | Unique identifier                          |
| `devices.clientVersion`          | string   | Output field: devices.clientVersion        |
| `devices.deviceStatus`           | string   | Status value                               |
| `devices.upgradeState`           | string   | Output field: devices.upgradeState         |
| `devices.userID`                 | number   | Unique identifier                          |
| `devices.totalBackupData`        | string   | Response data                              |
| `devices.totalBackupDataInBytes` | number   | Response data                              |
| `devices.addedOn`                | string   | Output field: devices.addedOn              |
| `devices.lastUpgradedOn`         | string   | Output field: devices.lastUpgradedOn       |
| `devices.lastConnected`          | string   | Output field: devices.lastConnected        |
| `devices.deviceMarkedInactive`   | boolean  | Output field: devices.deviceMarkedInactive |

### Output Example

`{"json_body":{"totalSize":1,"nextPageToken":"MTExMQ==","devices":[{}]}}`

## Get Restore Activities

Returns the list of all restore activities performed on user devices with detailed information.

### Endpoint

- **URL:** `/insync/endpoints/v1/restores`
- **Method:** `GET`

### Input

| **Argument Name**           | **Type** | **Required** | **Description**                                  |
| --------------------------- | -------- | ------------ | ------------------------------------------------ |
| `parameters.deviceID`       | number   | Optional     | Parameters for the Get Restore Activities action |
| `parameters.targetDeviceID` | number   | Optional     | Parameters for the Get Restore Activities action |
| `parameters.userID`         | number   | Optional     | Parameters for the Get Restore Activities action |
| `parameters.minStartTime`   | string   | Optional     | Parameters for the Get Restore Activities action |
| `parameters.maxStartTime`   | string   | Optional     | Parameters for the Get Restore Activities action |
| `parameters.pageToken`      | string   | Optional     | Parameters for the Get Restore Activities action |

### Input Example

`{"parameters":{"deviceID":101,"targetDeviceID":102,"userID":123,"minStartTime":"2023-01-01T12:00:00Z","maxStartTime":"2023-12-31T12:00:00Z","pageToken":"next_page_token_string"}}`

### Output

| **Parameter**                    | **Type** | **Description**                              |
| -------------------------------- | -------- | -------------------------------------------- |
| `totalSize`                      | number   | Output field: totalSize                      |
| `nextPageToken`                  | string   | Output field: nextPageToken                  |
| `restores`                       | array    | Output field: restores                       |
| `restores.deviceID`              | number   | Unique identifier                            |
| `restores.targetDeviceID`        | number   | Unique identifier                            |
| `restores.restoreLocation`       | string   | Output field: restores.restoreLocation       |
| `restores.userID`                | number   | Unique identifier                            |
| `restores.restoreID`             | number   | Unique identifier                            |
| `restores.startTime`             | string   | Time value                                   |
| `restores.endTime`               | string   | Time value                                   |
| `restores.status`                | string   | Status value                                 |
| `restores.restoreSize`           | string   | Output field: restores.restoreSize           |
| `restores.numberOfFilesRestored` | number   | Output field: restores.numberOfFilesRestored |
| `restores.numberOfFilesMissed`   | number   | Output field: restores.numberOfFilesMissed   |
| `restores.restoreMode`           | string   | Output field: restores.restoreMode           |
| `restores.systemSettingsRestore` | boolean  | Output field: restores.systemSettingsRestore |
| `restores.failureReason`         | string   | Response reason phrase                       |

### Output Example

`{"json_body":{"totalSize":0,"nextPageToken":"string","restores":[{}]}}`

## Get Restore Activity

Returns the restore activity details based on the restore ID in Druva.

### Endpoint

- **URL:** `/insync/endpoints/v1/restores/{{id}}`
- **Method:** `GET`

### Input

| **Argument Name**    | **Type** | **Required** | **Description**                                |
| -------------------- | -------- | ------------ | ---------------------------------------------- |
| `path_parameters.id` | string   | Optional     | Parameters for the Get Restore Activity action |

### Input Example

`{"path_parameters":{"id":"1"}}`

### Output

| **Parameter**           | **Type** | **Description**                     |
| ----------------------- | -------- | ----------------------------------- |
| `deviceID`              | number   | Unique identifier                   |
| `targetDeviceID`        | number   | Unique identifier                   |
| `restoreLocation`       | string   | Output field: restoreLocation       |
| `userID`                | number   | Unique identifier                   |
| `restoreID`             | number   | Unique identifier                   |
| `startTime`             | string   | Time value                          |
| `endTime`               | string   | Time value                          |
| `status`                | string   | Status value                        |
| `restoreSize`           | string   | Output field: restoreSize           |
| `numberOfFilesRestored` | number   | Output field: numberOfFilesRestored |
| `numberOfFilesMissed`   | number   | Output field: numberOfFilesMissed   |
| `restoreMode`           | string   | Output field: restoreMode           |
| `systemSettingsRestore` | boolean  | Output field: systemSettingsRestore |
| `failureReason`         | string   | Response reason phrase              |

### Output Example

`{"json_body":{"deviceID":0,"targetDeviceID":0,"restoreLocation":"string","userID":0,"restoreID":0,"startTime":"2023-06-05T19:18:26.139Z","endTime":"2023-06-05T19:18:26.139Z","status":"string","restoreSize":"string","numberOfFilesRestored":0,"numberOfFilesMissed":0,"restoreMode":"string","systemSettingsRestore":true,"failureReason":""}}`

## Get Storage

Returns information about a particular storage in Druva using storageID.

### Endpoint

- **URL:** `/insync/storagemanagement/v1/storages/{{id}}`
- **Method:** `GET`

### Input

| **Argument Name**    | **Type** | **Required** | **Description**                       |
| -------------------- | -------- | ------------ | ------------------------------------- |
| `path_parameters.id` | string   | Optional     | Parameters for the Get Storage action |

### Input Example

`{"path_parameters":{"id":"1"}}`

### Output

| **Parameter**              | **Type** | **Description**                        |
| -------------------------- | -------- | -------------------------------------- |
| `StorageID`                | number   | Unique identifier                      |
| `storageName`              | string   | Name of the resource                   |
| `storageUsage`             | string   | Output field: storageUsage             |
| `totalSizeOfBackedUpFiles` | string   | Output field: totalSizeOfBackedUpFiles |

### Output Example

`{"json_body":{"StorageID":1,"storageName":"Druva3_local","storageUsage":"225.04 MB","totalSizeOfBackedUpFiles":"1.29 GB"}}`

## Get Storages

Returns the list of all storages configured for your account in Druva inSync.

### Endpoint

- **URL:** `/insync/storagemanagement/v1/storages`
- **Method:** `GET`

### Input

| **Argument Name**      | **Type** | **Required** | **Description**                        |
| ---------------------- | -------- | ------------ | -------------------------------------- |
| `parameters.pageToken` | string   | Optional     | Parameters for the Get Storages action |

### Input Example

`{"parameters":{"pageToken":"CAUQAA"}}`

### Output

| **Parameter**                       | **Type** | **Description**                                 |
| ----------------------------------- | -------- | ----------------------------------------------- |
| `totalSize`                         | number   | Output field: totalSize                         |
| `nextPageToken`                     | string   | Output field: nextPageToken                     |
| `storages`                          | array    | Output field: storages                          |
| `storages.StorageID`                | number   | Unique identifier                               |
| `storages.storageName`              | string   | Name of the resource                            |
| `storages.storageUsage`             | string   | Output field: storages.storageUsage             |
| `storages.totalSizeOfBackedUpFiles` | string   | Output field: storages.totalSizeOfBackedUpFiles |

### Output Example

`{"json_body":{"totalSize":1,"nextPageToken":"MTExMQ==","storages":[{}]}}`

## Get User

Returns information about a specific user in Druva inSync using the user ID.

### Endpoint

- **URL:** `/insync/usermanagement/v1/users/{{id}}`
- **Method:** `GET`

### Input

| **Argument Name**    | **Type** | **Required** | **Description**                    |
| -------------------- | -------- | ------------ | ---------------------------------- |
| `path_parameters.id` | string   | Required     | Parameters for the Get User action |

### Input Example

`{"path_parameters":{"id":"1"}}`

### Output

| **Parameter**                                             | **Type** | **Description**                      |
| --------------------------------------------------------- | -------- | ------------------------------------ |
| `userID`                                                  | number   | Unique identifier                    |
| `userName`                                                | string   | Name of the resource                 |
| `emailID`                                                 | string   | Unique identifier                    |
| `status`                                                  | string   | Status value                         |
| `profileID`                                               | number   | Unique identifier                    |
| `storageID`                                               | number   | Unique identifier                    |
| `cacheID`                                                 | number   | Unique identifier                    |
| `quota`                                                   | string   | Output field: quota                  |
| `quotaInBytes`                                            | number   | Output field: quotaInBytes           |
| `addedOn`                                                 | string   | Output field: addedOn                |
| `privacySettingsEnabled`                                  | boolean  | Output field: privacySettingsEnabled |
| `ldapGUID`                                                | string   | Unique identifier                    |
| `additionalProperties`                                    | object   | Output field: additionalProperties   |
| `additionalProperties.userIdentifierCustomAttribute`      | string   | Unique identifier                    |
| `additionalProperties.userIdentifierCustomAttributeValue` | string   | Unique identifier                    |

### Output Example

`{"json_body":{"userID":1,"userName":"Ernie Carter","emailID":"ernie.carter@druva.com","status":"active","profileID":1,"storageID":1,"cacheID":1,"quota":"10 GB","quotaInBytes":10737418240,"addedOn":"2019-10-25T00:00:00Z","privacySettingsEnabled":true,"ldapGUID":"B1C47201C67910458867BA19982E353E","additionalProperties":{"userIdentifierCustomAttribute":"Custom Attribute Label","userIdentifierCustomAttributeValue":"Custom Attribute Value"}}}`

## Get Users

Returns the list of users in Druva inSync along with their details.

### Endpoint

- **URL:** `/insync/usermanagement/v1/users`
- **Method:** `GET`

### Input

| **Argument Name**                   | **Type** | **Required** | **Description**                     |
| ----------------------------------- | -------- | ------------ | ----------------------------------- |
| `parameters.profileID`              | number   | Optional     | Parameters for the Get Users action |
| `parameters.storageID`              | number   | Optional     | Parameters for the Get Users action |
| `parameters.cacheID`                | number   | Optional     | Parameters for the Get Users action |
| `parameters.userIDs`                | array    | Optional     | Parameters for the Get Users action |
| `parameters.emailID`                | string   | Optional     | Parameters for the Get Users action |
| `parameters.searchPrefixEmailID`    | string   | Optional     | Parameters for the Get Users action |
| `parameters.searchPrefixUserName`   | string   | Optional     | Parameters for the Get Users action |
| `parameters.pageToken`              | string   | Optional     | Parameters for the Get Users action |
| `parameters.minAddedOn`             | string   | Optional     | Parameters for the Get Users action |
| `parameters.maxAddedOn`             | string   | Optional     | Parameters for the Get Users action |
| `parameters.status`                 | string   | Optional     | Parameters for the Get Users action |
| `parameters.ldapGUID`               | string   | Optional     | Parameters for the Get Users action |
| `parameters.privacySettingsEnabled` | boolean  | Optional     | Parameters for the Get Users action |

### Input Example

`{"parameters":{"profileID":1,"storageID":10,"cacheID":50,"userIDs":[22],"emailID":"string_value","searchPrefixEmailID":"string_value","searchPrefixUserName":"string_value","pageToken":"string_value","minAddedOn":"date_time_value","maxAddedOn":"date_time_value","status":"string_value","ldapGUID":"string_value","privacySettingsEnabled":true}}`

### Output

| **Parameter**                                                   | **Type** | **Description**                            |
| --------------------------------------------------------------- | -------- | ------------------------------------------ |
| `totalSize`                                                     | number   | Output field: totalSize                    |
| `nextPageToken`                                                 | string   | Output field: nextPageToken                |
| `users`                                                         | array    | Output field: users                        |
| `users.userID`                                                  | number   | Unique identifier                          |
| `users.userName`                                                | string   | Name of the resource                       |
| `users.emailID`                                                 | string   | Unique identifier                          |
| `users.status`                                                  | string   | Status value                               |
| `users.profileID`                                               | number   | Unique identifier                          |
| `users.storageID`                                               | number   | Unique identifier                          |
| `users.cacheID`                                                 | number   | Unique identifier                          |
| `users.quota`                                                   | string   | Output field: users.quota                  |
| `users.quotaInBytes`                                            | number   | Output field: users.quotaInBytes           |
| `users.addedOn`                                                 | string   | Output field: users.addedOn                |
| `users.privacySettingsEnabled`                                  | boolean  | Output field: users.privacySettingsEnabled |
| `users.ldapGUID`                                                | string   | Unique identifier                          |
| `users.additionalProperties`                                    | object   | Output field: users.additionalProperties   |
| `users.additionalProperties.userIdentifierCustomAttribute`      | string   | Unique identifier                          |
| `users.additionalProperties.userIdentifierCustomAttributeValue` | string   | Unique identifier                          |

### Output Example

`{"json_body":{"totalSize":1,"nextPageToken":"MTExMQ==","users":[{}]}}`

## Get Users of a Legal Hold Policy

Returns the list of users who are part of Legal Hold in Druva.

### Endpoint

- **URL:** `/insync/legalholds/v4/policies/{{id}}/users`
- **Method:** `GET`

### Input

| **Argument Name**    | **Type** | **Required** | **Description**                                            |
| -------------------- | -------- | ------------ | ---------------------------------------------------------- |
| `path_parameters.id` | string   | Optional     | Parameters for the Get Users of a Legal Hold Policy action |

### Input Example

`{"path_parameters":{"id":"1"}}`

### Output

| **Parameter**                                 | **Type** | **Description**                   |
| --------------------------------------------- | -------- | --------------------------------- |
| `results`                                     | object   | Result of the operation           |
| `results.usersList`                           | array    | Result of the operation           |
| `results.usersList.userName`                  | string   | Name of the resource              |
| `results.usersList.status`                    | string   | Status value                      |
| `results.usersList.userEmail`                 | string   | Result of the operation           |
| `results.usersList.collectedData`             | string   | Response data                     |
| `results.usersList.collectedDataInBytes`      | number   | Response data                     |
| `results.usersList.userId`                    | number   | Unique identifier                 |
| `results.usersList.policyId`                  | number   | Unique identifier                 |
| `results.usersList.onLegalHold`               | boolean  | Result of the operation           |
| `results.usersList.numberOfDataSources`       | number   | Response data                     |
| `results.usersList.totalCollectedData`        | string   | Response data                     |
| `results.usersList.totalCollectedDataInBytes` | string   | Response data                     |
| `results.totalCustodians`                     | number   | Result of the operation           |
| `pageInfo`                                    | object   | Output field: pageInfo            |
| `pageInfo.totalPages`                         | number   | Output field: pageInfo.totalPages |
| `pageInfo.pageNumber`                         | number   | Output field: pageInfo.pageNumber |
| `pageInfo.pageSize`                           | number   | Output field: pageInfo.pageSize   |

### Output Example

`{"json_body":{"results":{"usersList":[],"totalCustodians":1},"pageInfo":{"totalPages":1,"pageNumber":1,"pageSize":100}}}`

## Get Whitelisted Keywords

Get the list of all whitelisted keywords in Druva.

### Endpoint

- **URL:** `/insync/sdg/v1/whitelistKeywords`
- **Method:** `GET`

### Output

| **Parameter**       | **Type** | **Description**                 |
| ------------------- | -------- | ------------------------------- |
| `whitelistKeywords` | array    | Output field: whitelistKeywords |

### Output Example

`{"json_body":{"whitelistKeywords":["string"]}}`

## Initiate Restore Activity

Create a data restore request in Druva with an option to scan for malware or viruses before restoring to the target device.

### Endpoint

- **URL:** `/insync/endpoints/v1/restores`
- **Method:** `POST`

### Input

| **Argument Name** | **Type** | **Required** | **Description**                         |
| ----------------- | -------- | ------------ | --------------------------------------- |
| `deviceID`        | number   | Optional     | Unique identifier                       |
| `targetDeviceID`  | number   | Optional     | Unique identifier                       |
| `restoreLocation` | string   | Optional     | Parameter for Initiate Restore Activity |
| `snapshotName`    | string   | Optional     | Name of the resource                    |
| `enableAVScan`    | boolean  | Optional     | Parameter for Initiate Restore Activity |

### Input Example

`{"json_body":{"deviceID":452,"targetDeviceID":564,"restoreLocation":"/home/jeremy/statusReport","snapshotName":"MonthlyBackup","enableAVScan":true}}`

### Output

| **Parameter**                    | **Type** | **Description**                              |
| -------------------------------- | -------- | -------------------------------------------- |
| `restores`                       | array    | Output field: restores                       |
| `restores.deviceID`              | number   | Unique identifier                            |
| `restores.targetDeviceID`        | number   | Unique identifier                            |
| `restores.restoreLocation`       | string   | Output field: restores.restoreLocation       |
| `restores.userID`                | number   | Unique identifier                            |
| `restores.restoreID`             | number   | Unique identifier                            |
| `restores.startTime`             | string   | Time value                                   |
| `restores.endTime`               | string   | Time value                                   |
| `restores.status`                | string   | Status value                                 |
| `restores.restoreSize`           | string   | Output field: restores.restoreSize           |
| `restores.numberOfFilesRestored` | object   | Output field: restores.numberOfFilesRestored |
| `restores.numberOfFilesMissed`   | object   | Output field: restores.numberOfFilesMissed   |
| `restores.restoreMode`           | string   | Output field: restores.restoreMode           |
| `restores.systemSettingsRestore` | object   | Output field: restores.systemSettingsRestore |
| `restores.failureReason`         | string   | Response reason phrase                       |
| `totalSize`                      | number   | Output field: totalSize                      |

### Output Example

`{"json_body":{"restores":[{}],"totalSize":1}}`

# Response Headers

| **Header**   | **Description**                                       | **Example**                   |
| ------------ | ----------------------------------------------------- | ----------------------------- |
| Content-Type | The media type of the resource                        | application/json              |
| Date         | The date and time at which the message was originated | Thu, 01 Jan 2024 00:00:00 GMT |
