Migrate to new API Gateway
Overview
Druva offers APIs to enable the integration of other applications with Druva products. Druva initially introduced APIs for a small set of features in Druva Endpoints and Data Governance that enabled applications to consume data from Endpoints and Data Governance Legal Hold, Reports, and Events.
Druva has recently released a large set of APIs for its products - Endpoints and Data Governance and Hybrid Workloads. These APIs expose extensive product functionalities that could be leveraged for automating and reporting workflows either via third-party integrations or via stand-alone REST API calls.
The new APIs are offered over the new API Gateway that is designed to offer you more secure access to data with Druva and interact with it using APIs. This article lists the changes and instructions to migrate from the earlier version of APIs to the latest version.
To whom does this article apply to?
This article applies to Druva customers who are currently using the following APIs:
API versions | API Endpoint |
---|---|
Endpoints and Data Governance Reports APIs v1, v2, and v3 | https://insyncapi-cloud.druva.com/api/reports |
Endpoints and Data Governance Legal Hold APIs v1 and v2 | https://insyncapi-cloud.druva.com/api/legalhold |
Endpoints and Data Governance Events API v1 | https://insyncapi-cloud.druva.com/api/events |
What has changed with new APIs?
With the introduction of new APIs, Druva has made the following updates to enable customers or applications integrate with APIs in a secure and seamless manner.
- Authentication is common across products and has a new URL -https://apis.druva.com/token. All the requests to Druva APIs are authenticated using OAuth 2.0 access token.
- New common URL to access APIs for all Druva products - https://apis.druva.com. Product-specific APIs are classified as follows:
- Endpoint URL for Endpoints and Data Governance APIs - https://apis.druva.com/insync
- Endpoint URL for Hybrid Workloads APIs - https://apis.druva.com/phoenix
- Under each product, the APIs have been identified and grouped based on specific use-cases such as ‘User Management’, ‘Profile Management’, ‘Storage Management’, ‘Legal Hold’, ‘Event Management’, and so on.
For the entire list of available product-wise APIs, see the API Reference tab.
What should I do to use new APIs?
If you have configured applications to consume data using the earlier version of Druva APIs, you need to update their configuration for the following -
- Update URL to access APIs
- Update credentials to use the OAuth 2.0 Access token for authentication. To know more about Access token, see FAQs.
- Update your older API scripts to hit the new API endpoints. Since the response parameters vary considerably in the new API endpoints, in most cases, you might have to perform multiple API calls and merge those results if you are looking for exactly the same responses that you were getting with your older APIs. Kindly refer this section here for detailed mapping of response parameters in old and new APIs and steps to get required response parameters.
Are there any sample scripts to help with migration to the new API Gateway?
Yes. Druva provides sample scripts using which you can migrate to the new API Gateway. For more information, see Sample scripts.
Whom do I contact for more information?
For any queries or concerns about API migration, ask Dru Assist, our AI support agent, or submit a case with Druva Support.
Mapping of response parameters in old vs new APIs
This section maps the response parameters in old vs new APIs. It also lists the steps that the customers need to follow in-order to get the equivalent information from the new API endpoints under the Druva API gateway.
Note
- There is no change in the response parameters or schema for the following APIs:
- Legal Hold APIs
- Event API
- Few response parameters that are returned in old Reporting APIs are not available in the new APIs.
- Additionally, the following old APIs are currently not available with the new API Gateway:
- First Backup Details API
- Share Details API
- Restore Details API
We are continuously working on enhancing the new APIs to add information based on the feedback and use-cases.
Mapping
Old API Name - User List API (https://insyncapi-cloud.druva.com/api/reports/v3/users)
New API Name - List all users (https://apis.druva.com/insync/usermanagement/v1/users)
Old response parameters | New response parameters |
---|---|
user_name | userName |
email_id | emailID |
added_on | addedOn |
user_status | status |
allocated_quota | quota |
user_id | userID |
Not available | profileID |
Not available | storageID |
storage_usage | To get the storage usage of a user, 1. Call the List all users API and record the userID parameter value of the user. 2. Call the List all devices API and use the userID parameter to get the list of all the devices associated with a user. Record the deviceID for every device. 3. For every device, call the Get Device Information API and use the deviceID to fetch the record of the totalBackupData. 4. Perform sum of all the totalBackupData for all the devices of the user. |
profile | To get the profile name associated with a user, 1. Call the List all users API and record the profileID parameter value. 2. Call the Get Profile Information API and use the profileID value to get the profile name. |
storage | To get the storage name associated with a user, 1. Call the List all users API and record the storageID parameter value. 2. Call the Get Storage Information API and use the storageID to get the storage name. |
Old API Name - Device List API (https://insyncapi-cloud.druva.com/api/reports/v3/devices)
New API Name - List all devices (https://apis.druva.com/insync/endpoints/v1/devices)
Old response parameters | New response parameters |
---|---|
device_name | deviceName |
device_status | deviceStatus |
client_version | clientVersion |
OS_platform | platformOS |
last_upgrade_on | lastUpgradedON |
device_OS | deviceOS |
Upgrade_state | upgradeState |
added_on | addedON |
total_backup_data | totalBackupData |
serial_number | serialNumber |
uuid | uuid |
user_id | userID |
device_id | deviceID |
system_settings_backed_up | To get the System Settings Backed Up value for a device, 1. Call the List all Devices API and record the deviceID value of each device. 2. For each device, call the List endpoint backups API using deviceID as a query parameter. It returns the systemSettingsBackedUp field which specifies whether the system settings were backed up as part of the backup. |
email_id | To get the email address of the user associated with a device, 1. Call the List all Devices API and record the userID of the user. 2. Call the Get user information API using the userID as a query parameter to get the email address of the user. |
first_backup_status | Currently not available |
first_backup_size | Currently not available |
Old API Name - Last Backup Details API (https://insyncapi-cloud.druva.com/api/reports/v3/lastbackupdetails)
New API Name - List Endpoint Backups (https://apis.druva.com/insync/endpoints/v1/devices)
Old response parameters | New response parameters |
---|---|
last_backup_status | backupStatus |
bytes_transferred | bytesTransferred |
files_missed | filesMissed |
files_backed_up | filesBackedup |
system_settings_backed_up | systemSettingsBackup |
backup_start_time | startTime |
backup_end_time | endTime |
device_id | deviceID |
email_id | To get the email address of the user, 1. Call the List Endpoint Backups API and record the deviceID of the user. 2. Call the Get Device Information API using the deviceID as a query parameter. Record the userID parameter of the user. 3. Call the Get user information API using the userID as a query parameter to get the email address of the user. |
device_name | To get the device name, 1. Call the List Endpoint Backups API and record the deviceID of the user. 2. Call the Get Device Information API using the deviceID as a query parameter to get the deviceName in response. |
backup_data | snapshotSize |
OS_platform | To get the OS platform details, 1. Call the List Endpoint Backups API and record the deviceID of the user. 2. Call the Get Device Information API using the deviceID as a query parameter to get the platformOS in response. |
serial_number | To get the serial number of the device, 1. Call the List Endpoint Backups API and record the deviceID. 2. Call the Get Device Information API using the deviceID as a query parameter to get the serialNumber in response. |
uuid | To get the uuid of the device, 1. Call the List Endpoint Backups API and record the deviceID. 2. Call the Get Device Information API using the deviceID as a query parameter to get the uuid in response. |
last_connected | To get the last connected time of the device, 1. Call the List Endpoint Backups API and record the deviceID. 2. Call the Get Device Information API using the deviceID as a query parameter to get the lastConnected time in response. |
user_id | To get the userId of the user, 1. Call the List Endpoint Backups API and record the deviceID. 2. Call the Get Device Information API using the deviceID as a query parameter to get the userID in response. |
Old API Name - Cloud Storage Details API (https://insyncapi-cloud.druva.com/api/reports/v3/storages)
New API Name - Get Storage Information (https://apis.druva.com/insync/storagemanagement/v1/storages/)
Old response parameters | New response parameters |
---|---|
storage_name | Storage Name |
total_size_of_backed_up_files | total_size_of_backed_up_files |
storage_usage | Storage Usage |
no_of_users | Currently not available |
Old API Name - CloudCache Details API (https://insyncapi-cloud.druva.com/api/reports/v3/cloudcachedetails)
New API Name - Get CloudCache Server Information (https://apis.druva.com/insync/storagemanagement/v1/cloudcaches)
Old response parameters | New response parameters |
---|---|
cloudcache_name | cloudCacheName |
total_cache_size | totalCacheSize |
cache_usage | cacheUsage |
no_of_users | Currently not available |
no_of_users_for_restore | Currently not available |
Old API Name - Inactive Devices API (https://insyncapi-cloud.druva.com/api/reports/v3/inactivedevicesdetails)
New API Name - N.A. - Currently, the information can be aggregated by combining multiple API calls.
Old response parameters | New response parameters |
---|---|
last_backup_date | To get the last backup date for a device, 1. Call the ‘List all devices’ API and record the deviceID. 2. Call the ‘List Endpoint Backups’ API and do the following: _ Set ‘lastSuccessful’ request parameter value to _True*- Enter the deviceID value recorded in Step 1 in the deviceID parameter.In the API response, ‘endTime’ response parameter denotes the last time that the device was backed up. |
email_id | To get the email address of a user with the associated device, 1. Call the List all devices API and record the deviceID and userID response parameter values. 2. Call the Get user information API using the userID as a query parameter to get the email address of the user. |
auto_delete_on | Currently not available |
profile_name | To get the name of the profile associated with a user, 1. Call the List all devices API and record the deviceID and userID response parameter values. 2. Call the Get user information API using the userID as a query parameter to get the profileID associated with the user. 3. Call the Get Profile Information API using the profileID as a query parameter to get the profileName. |
user_status | To get the status of the user account of the associated device, 1. Call the List all devices API and record the deviceID and userID response parameter values. 2. Call the Get user information API using the userID as a query parameter to get the 'status' of the user. |
uuid | To get the uuid of a device, call the Get Device Information API using the deviceID query parameter. |
last_connected | To get the information about when the device last connected, call the Get Device Information API using the deviceID query parameter. |
device_status | To get the device status, call the Get Device Information API using the deviceID query parameter. |
device_name | To get the device name, call the Get Device Information API using the deviceID query parameter. |
serial_number | To get the serial number of a device, call the Get Device Information API using the deviceID query parameter. |
user_name | To get the user name of a user with the associated device, 1. Call the List all devices API and record the deviceID and userID response parameter values. 2. Call the Get user information API using the userID as a query parameter to get the 'name' of the user. |
user_id | To get user id of a user, call the List all users API. |
device_id | To get device id of a device, call the List all devices API. |
Updated 5 months ago