IDrive® 360 API's Collection

The IDrive® 360 API is built on REST architecture and supports JSON for both request and response 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 request by adding it to the HTTP header under Authorization.

Authorization Header API Key

Key Authorization
Value Bearer <YOUR-API-KEY>


Base Endpoint:

https://api.idrive360.com/api/msp

Device and Company Operations

GET /company

Consumes: application/json

Produces: application/json


Request Headers:

  • Authorization: Bearer `api-key`

Success Response:

    				{
"name": "default",
"status": 1,
"company_id": 15020,
"status_description": "Active",
"configuration_id": "ATVAWQ17242",
"sub_company_list": [
{
"name": "Test Company",
"status": 1,
"company_id": 15806,
"status_description": "Active",
"configuration_id": "FAOBZ417242"
},
{
"name": "MSP-1",
"status": 1,
"company_id": 15816,
"status_description": "Active",
"configuration_id": "MYHCJP17242"
},
{
"name": "MSP-2",
"status": 1,
"company_id": 15817,
"status_description": "Active",
"configuration_id": "NJPHH917242"
}
]
}

GET/company/fetch_config_id

Consumes: application/json

Produces: application/json


Request Headers:

  • Authorization: Bearer `api-key`

Request Parameters:

  • company_id (not-required, number): The company ID

Success Response:

{  
"name": "default",
"company_id": 123,
"configuration_id": "ATVAWQ17242",
}
  1. In the request body, if the `company_id` field is not specified, then the user’s company associated with the API key will be taken as parameter

POST /company

Consumes: application/json

Produces: application/json

Request Headers:

  • Authorization: Bearer `api-key`

Request Body:

{  
"name": "idrive"
}

Success Response: 201 Created

    	{
"name": "idrive",
"status": 1,
"company_id": 12223,
"status_description": "Active",
"configuration_id": "BK96AK17242"
}
  1. The name field is mandatory in the payload
  2. The response after successful creation will contain the details of the company

GET /device/summary

Consumes: application/json

Produces: application/json

Request Headers:

  • Authorization: Bearer `api-key`

Request Parameters:

  • company_id (not-required, number): The company ID
  • device_id (not-required, string): The device ID

Success Response:

    	[    
{
"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 request 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. If `device_id` field is specified, the device summary of only that device will be returned in the response array
  3. The response will contain the device details of all devices accessible by the user corresponding to the API key
Field Name Description
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

Request Headers:

  • Authorization: Bearer `api-key`

Request Body:

	{
"device_id": "wtrp2zjidqr4hlsfz9vmebvtmudrpdfkayaskeunmq4civffo9",
"backup_set": "DEFAULT",
"status": true,
"type": "ALWAYS",
"emails": [
"test@idrive.com",
"support@idrive.com"
]
}
Field Name Description
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”)
status Boolean indicating whether email notification is to be enabled (true) or disabled (false)
type The frequency of the notification (e.g., "ALWAYS", "ON_FAILURE")
emails An array of email addresses to receive the notification

Success Response:

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

HTTP Response codes:

  • 200 - Request Success
  • 201 - Created resource
  • 401 - Unauthorized
  • 400 - Invalid request/ Invalid parameters
  • 429 - Dependency error
  • 500 - Internal Server Error

Error Response:

  1. The base/top level error "type" is the generic cause for request failure and the request 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 request failure using the base/top level error "type"
  4. The inner "errors" field contains the array of errors encountered while performing the request operation which contains the individual error "type", "field" and "message"/description
  5. In certain cases, a "field" will also be returned with the "errors" content, which indicates that the request 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 request 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 Description
missing_authorization_header authentication_failed 401 The authorization header with the API_KEY is missing
malformed_authorization_header authentication_failed 401 The authorization header 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_request 400 Custom description based on request 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 request
entity_creation_failed internal_error 500 Failed to create the entity in the system
entity_not_found entity_not_found 400 The requested entity was not found in the system
invalid_request invalid_request 400 Custom description based on request execution failure
invalid_parameter invalid_parameter 400 Custom description based on request execution failure
same_state same_state 400 Custom description based on request execution failure
dependency_exception dependency_exception 429 Custom description based on request 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 request
company_id The company ID specified in the request 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 request
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 request
name Names specified in the request