IDrive® 360 API's Collection

The IDrive® 360 API is built on REST architecture and supports JSON for both Solicitação and Resposta bodies.

Authentication is handled through an API Key. You can generate this key from My Account > API Keys in your IDrive® 360 Management Console.

Include the generated key in every API Solicitação by adding it to the HTTP header under Authorization.

Cabeçalho de Autorização API Key

Key Authorization
Value Bearer <YOUR-API-KEY>


Endpoint Base:

Operações de Dispositivo e Empresa

GET /company

Consumes: application/json

Produces: application/json


Solicitação Headers:

  • Authorization: Bearer 'api-key'

Solicitação Parameters:

  • company_id (not-Obrigatório, number): The company ID

Success Resposta:

    				{
"name": "default",
"status": 1,
"company_id": 15020,
"status_Descrição": "Active",
"configuration_id": "eyJ0b2tlbiI6IkFUVkFXUTE3MjQyIiwiZW5jcnlwdGlvblJlcXVpcmVkIjpmYWxzZSwiZGVza3RvcEFwcFN0YXR1cyI6ZmFsc2V9",
"setup_link": "https://api.idrive360.com/api/v1/download/setup/win/ATVAWQ17242",
"sub_company_list": [
{
"name": "Test Company",
"status": 1,
"company_id": 15806,
"status_Descrição": "Active",
"configuration_id": "eyJ0b2tlbiI6IkZBT0JaNDE3MjQyIiwiZW5jcnlwdGlvblJlcXVpcmVkIjpmYWxzZSwiZGVza3RvcEFwcFN0YXR1cyI6ZmFsc2V9",
"setup_link": "https://api.idrive360.com/api/v1/download/setup/win/FAOBZ417242"
},
{
"name": "MSP-1",
"status": 1,
"company_id": 15816,
"status_Descrição": "Active",
"configuration_id": "eyJ0b2tlbiI6Ik1ZSENKUDE3MjQyIiwiZW5jcnlwdGlvblJlcXVpcmVkIjpmYWxzZSwiZGVza3RvcEFwcFN0YXR1cyI6ZmFsc2V9",
"setup_link": "https://api.idrive360.com/api/v1/download/setup/win/MYHCJP17242"
},
{
"name": "MSP-2",
"status": 1,
"company_id": 15817,
"status_Descrição": "Active",
"configuration_id": "eyJ0b2tlbiI6Ik5KUEhIOTE3MjQyIiwiZW5jcnlwdGlvblJlcXVpcmVkIjpmYWxzZSwiZGVza3RvcEFwcFN0YXR1cyI6ZmFsc2V9",
"setup_link": "https://api.idrive360.com/api/v1/download/setup/win/NJPHH917242"
}
]
}
  1. In the Solicitação parameter list, if the 'company_id' field is not specified, then the user’s company associated with the API key will be taken as parameter
  2. If the 'company_id' corresponds to the API key user’s company, then sub companies of the user’s company will be returned in the payload with key 'sub_company_list'
  3. If the 'company_id' corresponds to any sub company of the API key user’s company, then only that target company details will be returned
  4. The Resposta will contain the details of the API key user’s company and its sub companies
  5. The 'configuration_id' returned for each company will have 'private_encryption', 'full_client' options disabled by default
  6. If 'private_encryption' or 'full_client' option is to be included in the 'configuration_id' use the /company/fetch_config_id API with respective parameter values
  7. The 'setup_link' returned is the download link for the setup corresponding to the 'configuration_id' returned. Here by default the setup link for Windows is returned
  8. If the download link for the setup corresponding to another OS is to be downloaded, use the /company/fetch_config_id API with respective parameter value

GET /company/fetch_config_id

Consumes: application/json

Produces: application/json


Solicitação Headers:

  • Authorization: Bearer 'api-key'

Solicitação Parameters:

  • company_id (not-Obrigatório, number): The company ID
  • private_encryption (not-Obrigatório, boolean): If client installed in device should have private encryption [Here explain or provide link for private encryption documentation]
  • full_client (not-Obrigatório, boolean): If client installed in device should have access to full-client features [Here explain or provide link for full-client documentation]
  • build_type (not-Obrigatório, string, case-insensitive): The target OS for which the setup link is to be used (WIN, MAC, RPM, DEB, MSI, PKG)

Success Resposta:

{
"name": "default",
"company_id": 123,
"configuration_id": "eyJ0b2tlbiI6IkFUVkFXUTE3MjQyIiwiZW5jcnlwdGlvblJlcXVpcmVkIjpmYWxzZSwiZGVza3RvcEFwcFN0YXR1cyI6ZmFsc2V9",
"setup_link": "https://api.idrive360.com/api/v1/download/setup/win/ATVAWQ17242"
}
  1. In the Solicitação parameter list, if the 'company_id' field is not specified, then the user’s company associated with the API key will be taken as parameter
  2. In the Solicitação parameter list, if the fields 'private_encryption', 'full_client' are not specified, then the default value of false will be taken as parameter value
  3. In the Solicitação parameter list, if 'build_type' is not specified, then the default value of WIN will be taken as parameter value

POST /company

Consumes: application/json

Produces: application/json

Solicitação Headers:

  • Authorization: Bearer 'api-key'

Solicitação Body:

{
"name": "idrive",
"company_id": 1111
}

Success Resposta: 201 Created

    	{
"name": "idrive",
"status": 1,
"company_id": 12223,
"status_Descrição": "Active",
"configuration_id": "eyJ0b2tlbiI6IkFUVkFXUTE3MjQyIiwiZW5jcnlwdGlvblJlcXVpcmVkIjpmYWxzZSwiZGVza3RvcEFwcFN0YXR1cyI6ZmFsc2V9",
"setup_link": "https://api.idrive360.com/api/v1/download/setup/win/ATVAWQ17242"
}
  1. In the Solicitação body, if the 'company_id' field is not specified, then the user’s company associated with the API key will be taken as parameter
  2. The name field is mandatory in the payload
  3. The Resposta after successful creation will contain the details of the company
  4. The 'configuration_id' returned for the newly created company will have 'private_encryption', 'full_client' options disabled by default
  5. If 'private_encryption' or 'full_client' option is to be included in the 'configuration_id' use the /company/fetch_config_id API with respective parameter values
  6. The 'setup_link' returned is the download link for the setup corresponding to the 'configuration_id' returned. Here by default the setup link for Windows is returned
  7. If the download link for the setup corresponding to another OS is to be downloaded, use the /company/fetch_config_id API with respective parameter value

GET /company/name

Consumes: application/json

Produces: application/json

Solicitação Headers:

  • Authorization: Bearer 'api-key'

Solicitação Parameters:

  • name (Obrigatório, string): The company name
  • case_sensitive (not-Obrigatório, boolean): Value specifying if the matching should be case sensitive
  • exact (not-Obrigatório, boolean): Value specifying if the matching should be exact/partial

Success Resposta:

        [
{
"name": "MSP-1",
"status": 1,
"company_id": 15816,
"status_Descrição": "Active",
"configuration_id": "eyJ0b2tlbiI6Ik1ZSENKUDE3MjQyIiwiZW5jcnlwdGlvblJlcXVpcmVkIjpmYWxzZSwiZGVza3RvcEFwcFN0YXR1cyI6ZmFsc2V9",
"setup_link": "https://api.idrive360.com/api/v1/download/setup/win/MYHCJP17242"
},
{
"name": "MSP-2",
"status": 1,
"company_id": 15817,
"status_Descrição": "Active",
"configuration_id": "eyJ0b2tlbiI6Ik5KUEhIOTE3MjQyIiwiZW5jcnlwdGlvblJlcXVpcmVkIjpmYWxzZSwiZGVza3RvcEFwcFN0YXR1cyI6ZmFsc2V9",
"setup_link": "https://api.idrive360.com/api/v1/download/setup/win/NJPHH917242"
}
]
  1. In the Solicitação parameter list, if the 'case_sensitive' field is not specified, then the default value of false (case insensitive) will be taken for this parameter
  2. In the Solicitação parameter list, if the 'exact' field is not specified, then the default value of true (exact matching) will be taken for this parameter
  3. The Resposta will contain an array of company details matching the name with settings specified in the Solicitação parameter list within the hierarchy accessible by the API key
  4. If the array is empty, it signifies that no company in the hierarchy accessible by the API key is found matching the name with settings specified

GET /device/summary

Consumes: application/json

Produces: application/json

Solicitação Headers:

  • Authorization: Bearer 'api-key'

Solicitação Parameters:

  • company_id (not-Obrigatório, number): The company ID
  • device_id (not-Obrigatório, string): The device ID

Success Resposta:

    	[    
{
"name": "test-office",
"status": "offline",
"device_id": wvlgllxuuaomn4bk4atfljznjyvsfhfeo5g6wgyart3osefi",
"company_id": "1111",
"custom_tag": " ",
"os": "linux",
"backup_status": "Success",
"version": "1.0.21",
"last_backup": "2025-06-11T11:12:58.000",
"next_backup": null,
"group_name": "Linux"
}
]
  1. In the Solicitação parameter list, if the 'company_id' field is not specified, then the user’s company associated with the API key will be taken as parameter
  2. If 'device_id' field is specified, the device summary of only that device will be returned in the Resposta array
  3. The Resposta will contain the device details of all devices accessible by the user corresponding to the API key
Field Name Descrição
name The name of the device
status The current status of the device (e.g., online, offline, blocked, archived)
device_id The device ID associated with the device
company_id The company ID associated with the device
custom_tag Any custom tag assigned to the device
os The operating system of the device
backup_status The status of the last backup (e.g., Success, Failed, In Progress, Cancelled)
version The version of the backup application installed on the device
last_backup The timestamp of the last successful backup
next_backup The timestamp of the next scheduled backup
group_name The name of the group the device belongs to

PUT/device/backup_plan/email_notification

Consumes: application/json

Produces: application/json

Solicitação Headers:

  • Authorization: Bearer 'api-key'

Solicitação Body:

	{
"device_id": "wtrp2zjidqr4hlsfz9vmebvtmudrpdfkayaskeunmq4civffo9",
"backup_set": "DEFAULT",
"type": "ALWAYS",
"emails": [
"test@idrive.com",
"support@idrive.com"
]
}
Field Name Descrição
device_id The device ID associated with the device
backup_set The name of the backup set (e.g., “DEFAULT”, “LOCAL", "ENTIRE_MACHINE", "MAPPED_DRIVE", "EXPRESS")
type The frequency of the email notification (e.g., "ALWAYS", "ON_FAILURE", “NEVER”). If the frequency is “NEVER” then notifications will be disabled
emails An array of email addresses to receive the notification

Success Resposta:

			{
"ok": true,
"message": "Email notification settings updated successfully"
}
  1. When the Solicitação is successful a 200 status code will be returned with the above Resposta payload

POST /backup_plan

Consumes:application/json

Produces:application/json

Solicitação Headers:

  • Authorization: Bearer 'api-key'

Solicitação Parameters:

  • dry_run (not-Obrigatório, boolean): Flag specified to run the Solicitação without modifications, false by default

Solicitação Body:

    {
"company_id": 14366,
"device_ids": [
"1l3d3bxrgf2fpwblc5qoyiezihz5behf6lbab6ljsngkomgonx",
],
"group_ids": [],
"name": "namechange_new_1",
"backup_details": {
"what_to_backup": "FILE_FOLDER",
"where_to_backup": "CLOUD"
"items_to_backup": [
"[All Profiles Folder]"
],
"local_dest_path": "C:\\Users\\Mark\\IDrive360LocalDest"
},
"scheduler": {
"disable_schedule": false,
"start_missed_backup": false,
"frequency_type": "MONTHLY",
"time": "17:40:30",
"months": [
"JANUARY",
"FEBRUARY"
],
"dates": [
"23",
"25"
],
"days": [
"SUN",
"MON"
],
"cutoff_time": "07:00:00",
"email": [
"mark@idrive.com"
],
"send_email_notification": "ALWAYS"
},
"exclude_hidden": true,
"exclude_system": true,
"enable_cdp": true,
"cdp_frequency": "TEN_MINUTES",
"exclude_partial":
"*.appicon,*.appinfo,*.cab,*.dl_,*.dll,*.dmg,*.drk,*.exe,*.fdd,*.hdd,*.hds,*.iso,*.ithmb,*.log,*.mem,*.menudata,*.
msi,*.nvram,*.o,*.ost,*.pva,*.pvi,*.pvm,*.pvs,*.qtch,*.sparseimage,*.sys,*.vdi,*.vhd,*.vhdx,*.vmc,*.vmdk,*.vmem,*.vmsd,
*.vmsn,*.vmss,*.vmx,*.vmxf,*.vo1,*.vo2,*.vsv,*.vud,*.wab~,*.wim"
}

Base Solicitação Fields:

Field Name Obrigatório/Opcional Descrição
company_id Opcional The company ID under which the backup plan is to be created. If not specified, the API key user’s company will be taken
device_ids Opcional (Array) An array of device IDs to which the backup plan will be applied
group_ids Opcional (Array) An array of group IDs to which the backup plan will be applied
name Obrigatório The name of the new backup plan
backup_details Obrigatório (Object) Contains details about what to backup and the location where the backups are stored
scheduler Obrigatório (Object) Contains details about the backup schedule, frequency, and email notifications
exclude_hidden Opcional (Boolean) If set to true, hidden files/folders will be excluded from the backup (N/A for ENTIRE_MACHINE backups, will be ignored if specified)
exclude_system Opcional (Boolean) If set to true, system files/folders will be excluded from the backup (N/A for ENTIRE_MACHINE backups, will be ignored if specified)
enable_cdp Opcional (Boolean) If set to true, Continuous Data Protection (CDP) will be enabled (N/A for ENTIRE_MACHINE backups, will be ignored if specified)
cdp_frequency Opcional (String) The frequency for CDP. Obrigatório if enable_cdp is true. (e.g., "REAL_TIME", "TEN_MINUTES", "THIRTY_MINUTES", "SIXTY_MINUTES") (N/A for ENTIRE_MACHINE backups, will be ignored if specified)
exclude_partial Opcional (String) A comma-separated string of file extensions to partially exclude from the backup (N/A for ENTIRE_MACHINE backups, will be ignored if specified)

Nested Solicitação Fields (backup_details):

Field Name Obrigatório/Opcional Descrição
what_to_backup Obrigatório (String) 1. File/Folder backup - Backup individual items, use pre-defined policy rules, or create custom policies in items_to_backup
2. Entire Machine backup - It is applicable only for Windows PC and it will backup all drives in the internal hard disk. In case the selected devices or groups include Mac or Linux, they will not be considered for backup (e.g., "FILE_FOLDER", "ENTIRE_MACHINE")
where_to_backup Obrigatório (String) The backup destination (e.g., "CLOUD", "LOCAL")
items_to_backup Opcional (Array) An array of paths or predefined policy rules to be included in the backup
(e.g., of predefined policy rules "[PROFILEDEFAULTFOLDERS]", "[All Profiles Folder]", "%ALLUSERSPROFILE%", "%PROGRAMFILES%", "%WINDIR%")
(e.g., of custom paths "C:\Data\*.log", "C:\Data\Finance\", "C:\Data\Finance\F.log", "C:\Users\*\Desktop\", "/Users/JOHN/Desktop/*.txt", "/Users/JOHN/Desktop/F.txt", "/Users/*/Desktop/")
Obrigatório if File/Folder backup is selected
local_dest_path Opcional (String) The local destination path for the backup (if backup_set is LOCAL) When not specified, local backups will happen in default location

Nested Solicitação Fields (scheduler):

Field Name Obrigatório/Opcional Descrição
disable_schedule Opcional (Boolean) If set to true, the backup schedule will be disabled. Defaults to false
start_missed_backup Opcional (Boolean) If set to true, missed scheduled backups will start automatically when the device is back online. Defaults to false
frequency_type Obrigatório (String) The frequency type for the schedule (e.g., "MONTHLY", "WEEKLY", "DAILY", "HOURLY", "IMMEDIATE")
time Obrigatório (String) The time of day for the scheduled backup in HH:MM:SS format
months Obrigatório (Array) An array of months when the backup should run (if frequency_type is "MONTHLY", e.g., to apply to particular months "JANUARY", "FEBRUARY" or to apply to all months "ALL" )
dates Obrigatório (Array) An array of days of the month when the backup should run (if frequency_type is "MONTHLY") (e.g., "1, 2, 3, 4, …, 31", to run on all days of the month "ALL_DAYS", to run on last day of the month "LAST_DAY" )
days Obrigatório(Array) An array of week days when the backup should run (if frequency_type is "WEEKLY") (e.g., "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT", to run on all days "ALL")
daily_mode Obrigatório(String) The days on which backup should run (if frequency_type is "DAILY") (e.g., "ALL_DAYS","WEEKDAYS")
cutoff_time Opcional (Array) The time of day after which a scheduled backup should be stopped in HH:MM:SS format
email Opcional (Array) An array of email addresses to receive backup notifications
send_email_notification Opcional (String) The frequency for sending email notifications (e.g., "ALWAYS", "ON_FAILURE", "NEVER"). If frequency is "NEVER" then email notifications will be disabled

Success Resposta:

                {
"conflicts": [
{
"device_id": "1l3d3bxrgf2fpwblc5qoyiezihz5behf6lbab6ljsngkomgonx",
"plan_name": "Default backup plan"
}
],
"backup_id": "406717",
"where_to_backup": "CLOUD",
"not_applied_to": "",
"status": 201
}
  1. If the Solicitação is successful, a Resposta with status code 201 will be returned
  2. In the success Resposta, the field conflicts is an array of objects with device_id and existing plan_name which has been replaced with the backup plan created in the Solicitação
  3. The field applied_to contains the string of comma separated device_id of devices to which the backup plan has been applied to
  4. The field not_applied_to contains the string of comma separated device_id of devices to which the backup plan has not been applied to due to the device not being active i.e., (blocked, canceled or archived)

GET /backup_plan

Consumes:application/json

Produces:application/json

Solicitação Headers:

  • Authorization: Bearer 'api-key'

Solicitação Parameters:

  • company_id (not-Obrigatório, number): The company ID
  • backup_id (not-Obrigatório, string): The backup plan ID

Success Resposta:

    [
{
"backup_id": "679251",
"name": "testingplan",
"backup_set": "ENTIRE_MACHINE",
"is_backup_enabled": true,
"backup_pending_on": "hflafghwiv33fwbycnzfgnpbaocbrorndnakn6uqhmbbpsbua6",
"exclude_system": true,
"exclude_hidden": true,
"backup_details": {
"what_to_backup": "ENTIRE_MACHINE",
"where_to_backup": "CLOUD"
},
"cdp_enabled": false,
"schedule_info": {
"email": "mark@idrive.com",
"start_missed_backup": false,
"days": [
"MON",
"TUE",
"WED",
"THU",
"FRI"
],
"frequency_type": "DAILY",
"time": "16:45:00",
"cutoff_time": "09:00:00",
"send_email_notification": "NEVER",
"scheduler_disabled": falsev },
"devices": [
{
"os": "windows",
"version": "6.8.2.11",
"name": "MARK-DAV1",
"status": "online",
"device_id": "hflafghwiv33fwbycnzfgnpbaocbrorndnakn6uqhmbbpsbua6",
"company_id": "51324",
"custom_tag": "Mark",
"backup_status": "Failure",
"last_backup": "2026-02-17T05:39:20.120",
"next_backup": "2026-02-17T11:15:00.000",
"backup_failure_reason": "NA",
"next_scheduled_backupset_name": "DEFAULT",
"user_backup_sets": {
"DEFAULT": {
"backup_id": "814757",
"backup_name": "CDPSIXTYMINUTESWithWIN"
},
"LOCAL": {
"backup_id": "367507",
"backup_name": "LOCALPLAN"
},
"ENTIRE_MACHINE": {
"backup_id": "679251",
"backup_name": "ENTIREPLAN"
}
}
}
]
}
]
  1. In the Solicitação parameter list, if the `company_id` field is not specified, then the user’s company associated with the API key will be taken as parameter.
  2. In the Solicitação parameter list, if the `company_id` is specified and not the `backup_id`, then all the backup plans present in the company corresponding to `company_id`will be returned
  3. If `backup_id`is specified in the parameter list, then that particular backup plan will be fetched from the company corresponding to `company_id`, if specified (else user’s company).
  4. If a backup plan is applied to devices, then the information corresponding to those devices will be present in the Resposta under the "devices" array.
  5. If a backup plan is applied to groups, then group ids corresponding to those groups will be present in the Resposta under the "groups" array.
Field Name Descrição
is_backup_enabled The status of backup plan (enabled/disabled)
backup_applied_on The device_ids to which the backup plan has been successfully applied
backup_pending_on The device_ids to which the backup plan has not yet been applied
backup_failed_on The device_ids for which the backup plan application failed
devices The list of devices to which the backup plan has been applied
groups The list of group IDs to which backup plan has been applied

HTTP Resposta codes:

  • 200 - Solicitação Success
  • 201 - Created resource
  • 401 - Unauthorized
  • 400 - Invalid Solicitação/ Invalid parameters
  • 429 - Dependency error
  • 500 - Internal Server Error

Error Resposta:

  1. The base/top level error "type" is the generic cause for Solicitação failure and the Solicitação specific "errors" are specified in an array format
  2. The base/top level "message" field is irrelevant for processing, present for readability which describes the base/top level error "type"
  3. If the inner "errors" field is not present, handle the Solicitação failure using the base/top level error "type"
  4. The inner "errors" field contains the array of errors encountered while performing the Solicitação operation which contains the individual error "type", "field" and "message"/Descrição
  5. In certain cases, a "field" will also be returned with the "errors" content, which indicates that the Solicitação execution failed due to an operation performed with that "field"
{
"ok": false,
"type": "entity_not_found",
"message": "The specified entity being addressed either does not exist or is invalid. The Solicitação should not be retried without modification or until the indicated entity is set up.",
"code": 400,
"errors": [
{
"type": "entity_not_found",
"field": "device_id",
"message": "The entity corresponding to the device id specified cannot be found, not-active or not-configured"
}
]
}

Error Types:

Error Type Base Error Type Status Code Descrição
missing_authorization_header authentication_failed 401 The Cabeçalho de Autorização with the API_KEY is missing
malformed_authorization_header authentication_failed 401 The Cabeçalho de Autorização is malformed, the accepted format is 'Bearer <API_KEY>'
admin_company_not_active invalid_state 400 The company of the administrator associated with the API_KEY is inactive
admin_not_active invalid_state 400 The administrator associated with the API_KEY is inactive
insufficient_privileges authentication_failed 401 The user associated with the API_KEY is not permitted to access this resource due to insufficient privileges, contact administrator
access_restricted invalid_Solicitação 400 Custom Descrição based on Solicitação execution failure
processing_fault processing_fault 500 An internal processing error occurred while parsing JSON object
internal_error internal_error 500 An internal error occurred while processing the Solicitação
entity_creation_failed internal_error 500 Failed to create the entity in the system
entity_not_found entity_not_found 400 The Solicitaçãoed entity was not found in the system
invalid_Solicitação invalid_Solicitação 400 Custom Descrição based on Solicitação execution failure
invalid_parameter invalid_parameter 400 Custom Descrição based on Solicitação execution failure
same_state same_state 400 Custom Descrição based on Solicitação execution failure
dependency_exception dependency_exception 429 Custom Descrição based on Solicitação execution failure

Error Fields:

  • A list of "field" types returned in the inner "errors" payload along with the scenarios in which the "field" might be returned are listed below
Field Scenarios
device_id The device ID specified in the Solicitação
company_id The company ID specified in the Solicitação or the admin’s company ID corresponding to the API_KEY
notification_server Any dependency issue when accessing our backup servers
emails Email addresses specified in the Solicitação
backup_set Any action triggering changes to the backup plan of a device
backup_policy Any action triggering changes to the backup plan of a device
backup_policy_schedule Any action triggering changes to the backup plan schedule of a device
status Status specified in the Solicitação
name Names specified in the Solicitação