{
  "opencollection": "1.0.0",
  "info": {
    "name": "Commvault REST API",
    "version": "v2"
  },
  "request": {
    "auth": {
      "type": "apikey",
      "key": "Authtoken",
      "value": "{{Authtoken}}",
      "placement": "header"
    }
  },
  "items": [
    {
      "info": {
        "name": "Authentication",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Commvault Authenticate and obtain auth token",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{webserver}/webconsole/api/Login",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Authenticates a user with username and password credentials and returns an authentication token (QSDK token) for subsequent API requests. The token must be included in the Authtoken header of all subsequent requests."
        },
        {
          "info": {
            "name": "Commvault Invalidate auth token",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{webserver}/webconsole/api/Logout"
          },
          "docs": "Logs out the current user session and invalidates the authentication token."
        }
      ]
    },
    {
      "info": {
        "name": "Clients",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Commvault List all clients",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{webserver}/webconsole/api/Client"
          },
          "docs": "Retrieves a list of all clients registered in the CommServe, including servers, workstations, laptop clients, and virtual machine proxies."
        },
        {
          "info": {
            "name": "Commvault Get client details",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{webserver}/webconsole/api/Client/:clientId",
            "params": [
              {
                "name": "clientId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the client"
              }
            ]
          },
          "docs": "Retrieves detailed properties of a specific client including installed agents, network configuration, and activity control settings."
        },
        {
          "info": {
            "name": "Commvault Update client properties",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{webserver}/webconsole/api/Client/:clientId",
            "params": [
              {
                "name": "clientId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the client"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates properties of a specific client such as display name, activity control, or network settings."
        },
        {
          "info": {
            "name": "Commvault Retire or delete a client",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{webserver}/webconsole/api/Client/:clientId",
            "params": [
              {
                "name": "clientId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the client"
              }
            ]
          },
          "docs": "Retires or deletes a client from the CommServe. This removes the client configuration but may preserve backup data based on retention policies."
        }
      ]
    },
    {
      "info": {
        "name": "Agents",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Commvault List agents for a client",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{webserver}/webconsole/api/Agent",
            "params": [
              {
                "name": "clientId",
                "value": "",
                "type": "query",
                "description": "Client ID to list agents for"
              }
            ]
          },
          "docs": "Retrieves a list of all agents (iDataAgents) installed on a specific client. Agents represent the backup module for a particular application type (File System, SQL, Exchange, etc.)."
        }
      ]
    },
    {
      "info": {
        "name": "Subclients",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Commvault List subclients",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{webserver}/webconsole/api/Subclient",
            "params": [
              {
                "name": "clientId",
                "value": "",
                "type": "query",
                "description": "Client ID"
              },
              {
                "name": "applicationId",
                "value": "",
                "type": "query",
                "description": "Application/agent type ID"
              }
            ]
          },
          "docs": "Retrieves a list of subclients for a given client and agent. Subclients define the specific content (files, databases, mailboxes) to be backed up and their associated storage and schedule policies."
        },
        {
          "info": {
            "name": "Commvault Get subclient details",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{webserver}/webconsole/api/Subclient/:subclientId",
            "params": [
              {
                "name": "subclientId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the subclient"
              }
            ]
          },
          "docs": "Retrieves detailed properties of a specific subclient, including content paths, filters, storage policy association, and schedule configuration."
        }
      ]
    },
    {
      "info": {
        "name": "Jobs",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Commvault List jobs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{webserver}/webconsole/api/Job",
            "params": [
              {
                "name": "clientId",
                "value": "",
                "type": "query",
                "description": "Filter jobs by client ID"
              },
              {
                "name": "jobFilter",
                "value": "",
                "type": "query",
                "description": "Filter by job status (e.g., Running, Completed, Failed)"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Maximum number of jobs to return"
              },
              {
                "name": "lookupTime",
                "value": "",
                "type": "query",
                "description": "Time range in hours to look back for jobs"
              }
            ]
          },
          "docs": "Retrieves a list of jobs with optional filtering by status, type, client, and time range. Returns both active and completed backup, restore, and administrative jobs."
        },
        {
          "info": {
            "name": "Commvault Get job details",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{webserver}/webconsole/api/Job/:jobId",
            "params": [
              {
                "name": "jobId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the job"
              }
            ]
          },
          "docs": "Retrieves detailed information about a specific job, including its status, progress, start and end times, data transferred, and any failure reasons."
        },
        {
          "info": {
            "name": "Commvault Kill a running job",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{webserver}/webconsole/api/Job/:jobId/action/kill",
            "params": [
              {
                "name": "jobId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the job"
              }
            ]
          },
          "docs": "Terminates a currently running or pending job. The job will be marked as killed and any partial data may be retained."
        },
        {
          "info": {
            "name": "Commvault Suspend a running job",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{webserver}/webconsole/api/Job/:jobId/action/suspend",
            "params": [
              {
                "name": "jobId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the job"
              }
            ]
          },
          "docs": "Suspends a currently running job. The job can be resumed later from where it was paused."
        },
        {
          "info": {
            "name": "Commvault Resume a suspended job",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{webserver}/webconsole/api/Job/:jobId/action/resume",
            "params": [
              {
                "name": "jobId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the job"
              }
            ]
          },
          "docs": "Resumes a previously suspended job from where it was paused."
        },
        {
          "info": {
            "name": "Commvault Run a backup job",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{webserver}/webconsole/api/CreateTask",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Initiates a backup job for a specified subclient. Supports full, incremental, differential, and synthetic full backup levels."
        },
        {
          "info": {
            "name": "Commvault Run a restore job",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{webserver}/webconsole/api/retrieveToClient",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Initiates a restore operation to recover backed-up data to the original or an alternate location. Supports in-place restore, out-of-place restore, and cross-platform restore."
        }
      ]
    },
    {
      "info": {
        "name": "Storage Policies",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Commvault List storage policies",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{webserver}/webconsole/api/StoragePolicy"
          },
          "docs": "Retrieves a list of all storage policies configured in the CommServe. Storage policies define where backup data is stored and how it is managed across primary, secondary, and tertiary storage tiers."
        },
        {
          "info": {
            "name": "Commvault Get storage policy details",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{webserver}/webconsole/api/StoragePolicy/:storagePolicyId",
            "params": [
              {
                "name": "storagePolicyId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the storage policy"
              }
            ]
          },
          "docs": "Retrieves detailed configuration of a specific storage policy, including its copies, retention rules, deduplication settings, and associated media agents."
        }
      ]
    },
    {
      "info": {
        "name": "Schedule Policies",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Commvault List schedule policies",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{webserver}/webconsole/api/SchedulePolicy"
          },
          "docs": "Retrieves a list of all schedule policies defined in the CommServe. Schedule policies automate backup, auxiliary copy, and other operations on a recurring basis."
        }
      ]
    },
    {
      "info": {
        "name": "Alerts",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Commvault List alert rules",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{webserver}/webconsole/api/AlertRule"
          },
          "docs": "Retrieves a list of configured alert rules. Alerts notify administrators of important events such as job failures, storage thresholds, and security events."
        }
      ]
    },
    {
      "info": {
        "name": "Users",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Commvault List users",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{webserver}/webconsole/api/User"
          },
          "docs": "Retrieves a list of all Commvault users, including local and externally authenticated users, their roles, and associated user groups."
        },
        {
          "info": {
            "name": "Commvault Get user details",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{webserver}/webconsole/api/User/:userId",
            "params": [
              {
                "name": "userId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the user"
              }
            ]
          },
          "docs": "Retrieves detailed properties of a specific user, including associated security roles, user groups, and email configuration."
        }
      ]
    },
    {
      "info": {
        "name": "Plans",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Commvault List server plans",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{webserver}/webconsole/api/V4/ServerPlan"
          },
          "docs": "Retrieves a list of all server plans. Plans provide a simplified approach to data protection by combining storage, schedule, and retention settings into a single configuration entity."
        },
        {
          "info": {
            "name": "Commvault Create a server plan",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{webserver}/webconsole/api/V4/ServerPlan",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new server plan with specified backup destinations, schedule, and retention settings."
        },
        {
          "info": {
            "name": "Commvault Get server plan details",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{webserver}/webconsole/api/V4/ServerPlan/:planId",
            "params": [
              {
                "name": "planId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the server plan"
              }
            ]
          },
          "docs": "Retrieves the detailed configuration of a specific server plan, including its backup destinations, RPO schedules, and retention rules."
        },
        {
          "info": {
            "name": "Commvault Update a server plan",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{webserver}/webconsole/api/V4/ServerPlan/:planId",
            "params": [
              {
                "name": "planId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the server plan"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates the configuration of an existing server plan."
        },
        {
          "info": {
            "name": "Commvault Delete a server plan",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{webserver}/webconsole/api/V4/ServerPlan/:planId",
            "params": [
              {
                "name": "planId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the server plan"
              }
            ]
          },
          "docs": "Deletes an existing server plan. Plans that are associated with active subclients cannot be deleted."
        }
      ]
    }
  ],
  "bundled": true
}