Druva
64 min
the druva api provides a platform for cloud data protection and management it offers a suite of apis that allow for the integration of druva's data protection capabilities into other applications these apis allow you to manage users and devices, perform search operations on backed up files, initiate restore activities, manage legal hold policies, and more this guide focuses on the integration of the druva api with turbine, an automation platform for security, privacy, and incident response the integration with turbine allows for automated responses to incidents and threats, reducing the time and resources needed for these tasks for example, when a threat is detected on a user's device, turbine can automatically disable the device via the druva api, protecting the user's data additionally, turbine can utilize druva's search capabilities to find specific files across all backed up data, aiding in incident investigation and data management 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 disables a user device backup and restore will stop working after a device is disabled user data is available in insync but cannot be restored by a user 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 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 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 returns information about a particular cloudcache server using 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 returns device information using deviceid 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 the 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 the restore activities performed on user devices with their details 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 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 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 the 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 particular user in druva insync using the userid 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 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 a part of legal hold 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 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 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 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