openapi: 3.1.0 info: title: Commvault Command Center API description: >- APIs for managing Commvault Command Center operations, providing centralized management and monitoring capabilities for data protection infrastructure. The Command Center API enables dashboard access, server group management, virtual machine operations, and compliance monitoring across the Commvault environment. version: v4 contact: name: Commvault Support url: https://www.commvault.com/support termsOfService: https://www.commvault.com/terms-of-use externalDocs: description: Commvault Command Center API Documentation url: https://documentation.commvault.com/2024/essential/rest_api_command_center.html servers: - url: https://{commandcenter}/commandcenter/api description: Commvault Command Center variables: commandcenter: default: commandcenter.example.com description: Hostname of the Commvault Command Center tags: - name: Dashboard description: Dashboard summary and health monitoring - name: Databases description: Manage database protection - name: File Servers description: Manage file server protection - name: Laptops description: Manage laptop backup operations - name: Reports description: Reporting and analytics - name: Server Groups description: Manage server groups for organizing protected infrastructure - name: SLA description: Service Level Agreement compliance monitoring - name: Storage description: Storage pool and library management - name: Virtual Machines description: Manage virtual machine backup and recovery security: - authToken: [] paths: /Dashboard: get: operationId: getDashboard summary: Commvault Get dashboard summary description: >- Retrieves the Command Center dashboard summary, including total protected data, SLA compliance percentages, job statistics, storage usage, and infrastructure health across all managed environments. tags: - Dashboard responses: '200': description: Dashboard summary data content: application/json: schema: $ref: '#/components/schemas/DashboardSummary' '401': description: Unauthorized /V4/ServerGroup: get: operationId: listServerGroups summary: Commvault List server groups description: >- Retrieves a list of all server groups. Server groups organize clients into logical collections for bulk management, policy assignment, and reporting. tags: - Server Groups responses: '200': description: List of server groups content: application/json: schema: type: object properties: serverGroups: type: array items: $ref: '#/components/schemas/ServerGroup' '401': description: Unauthorized post: operationId: createServerGroup summary: Commvault Create a server group description: >- Creates a new server group for organizing clients. tags: - Server Groups requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateServerGroupRequest' responses: '200': description: Server group created successfully content: application/json: schema: $ref: '#/components/schemas/GenericResponse' '400': description: Invalid request '401': description: Unauthorized /V4/ServerGroup/{serverGroupId}: get: operationId: getServerGroup summary: Commvault Get server group details description: >- Retrieves detailed information about a server group, including associated clients and applied policies. tags: - Server Groups parameters: - $ref: '#/components/parameters/serverGroupId' responses: '200': description: Server group details content: application/json: schema: $ref: '#/components/schemas/ServerGroup' '401': description: Unauthorized '404': description: Server group not found put: operationId: updateServerGroup summary: Commvault Update a server group description: >- Updates an existing server group configuration, including associated clients and policies. tags: - Server Groups parameters: - $ref: '#/components/parameters/serverGroupId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateServerGroupRequest' responses: '200': description: Server group updated content: application/json: schema: $ref: '#/components/schemas/GenericResponse' '400': description: Invalid request '401': description: Unauthorized '404': description: Server group not found delete: operationId: deleteServerGroup summary: Commvault Delete a server group description: Deletes a server group by its unique identifier. tags: - Server Groups parameters: - $ref: '#/components/parameters/serverGroupId' responses: '200': description: Server group deleted content: application/json: schema: $ref: '#/components/schemas/GenericResponse' '401': description: Unauthorized '404': description: Server group not found /VM: get: operationId: listVirtualMachines summary: Commvault List virtual machines description: >- Retrieves a list of all virtual machines registered for protection, including their backup status, hypervisor association, and SLA compliance. tags: - Virtual Machines parameters: - name: status in: query required: false description: Filter by protection status schema: type: string enum: - Protected - NotProtected - NeverBackedUp - Pending - name: hypervisorId in: query required: false description: Filter by hypervisor client ID schema: type: integer responses: '200': description: List of virtual machines content: application/json: schema: type: object properties: vmStatusInfoList: type: array items: $ref: '#/components/schemas/VirtualMachine' '401': description: Unauthorized /VM/{vmUUID}: get: operationId: getVirtualMachine summary: Commvault Get virtual machine details description: >- Retrieves detailed information about a specific virtual machine, including backup history, recovery points, and configuration. tags: - Virtual Machines parameters: - $ref: '#/components/parameters/vmUUID' responses: '200': description: Virtual machine details content: application/json: schema: $ref: '#/components/schemas/VirtualMachine' '401': description: Unauthorized '404': description: Virtual machine not found /Laptop: get: operationId: listLaptops summary: Commvault List laptop clients description: >- Retrieves a list of all laptop clients enrolled for endpoint backup, including their protection status, last backup time, and data usage. tags: - Laptops responses: '200': description: List of laptop clients content: application/json: schema: type: object properties: laptopList: type: array items: $ref: '#/components/schemas/LaptopClient' '401': description: Unauthorized /V4/FileServers: get: operationId: listFileServers summary: Commvault List file servers description: >- Retrieves a list of all file servers configured for protection, including NAS devices, Windows file servers, and Linux file servers. tags: - File Servers responses: '200': description: List of file servers content: application/json: schema: type: object properties: fileServers: type: array items: $ref: '#/components/schemas/FileServer' '401': description: Unauthorized /V4/DatabaseServers: get: operationId: listDatabaseServers summary: Commvault List database servers description: >- Retrieves a list of all database servers configured for backup, including SQL Server, Oracle, SAP HANA, and other database platforms. tags: - Databases responses: '200': description: List of database servers content: application/json: schema: type: object properties: databaseServers: type: array items: $ref: '#/components/schemas/DatabaseServer' '401': description: Unauthorized /SLASummary: get: operationId: getSLASummary summary: Commvault Get SLA compliance summary description: >- Retrieves the SLA compliance summary across all protected workloads, showing the percentage of clients meeting their defined service level agreements for backup and recovery. tags: - SLA parameters: - name: timeRange in: query required: false description: Time range for SLA calculation schema: type: string enum: - Last24Hours - Last7Days - Last30Days responses: '200': description: SLA compliance summary content: application/json: schema: $ref: '#/components/schemas/SLASummary' '401': description: Unauthorized /V4/Storage: get: operationId: listStoragePools summary: Commvault List storage pools description: >- Retrieves a list of all storage pools, including cloud storage, disk libraries, and tape libraries, with capacity and usage information. tags: - Storage responses: '200': description: List of storage pools content: application/json: schema: type: object properties: storagePools: type: array items: $ref: '#/components/schemas/StoragePool' '401': description: Unauthorized /V4/Storage/{storagePoolId}: get: operationId: getStoragePool summary: Commvault Get storage pool details description: >- Retrieves detailed information about a specific storage pool, including configuration, capacity metrics, and associated media agents. tags: - Storage parameters: - $ref: '#/components/parameters/storagePoolId' responses: '200': description: Storage pool details content: application/json: schema: $ref: '#/components/schemas/StoragePool' '401': description: Unauthorized '404': description: Storage pool not found /Reports: get: operationId: listReports summary: Commvault List available reports description: >- Retrieves a list of all available reports, including built-in and custom reports for backup, storage, compliance, and operational analytics. tags: - Reports responses: '200': description: List of reports content: application/json: schema: type: object properties: reports: type: array items: $ref: '#/components/schemas/Report' '401': description: Unauthorized /Reports/{reportId}: get: operationId: getReport summary: Commvault Get report data description: >- Executes a specific report and returns the report data, including charts, tables, and summary statistics. tags: - Reports parameters: - $ref: '#/components/parameters/reportId' - name: timeRange in: query required: false description: Time range for the report schema: type: string responses: '200': description: Report data content: application/json: schema: $ref: '#/components/schemas/Report' '401': description: Unauthorized '404': description: Report not found components: securitySchemes: authToken: type: apiKey in: header name: Authtoken description: >- QSDK authentication token obtained from the Login endpoint. parameters: serverGroupId: name: serverGroupId in: path required: true description: Unique identifier for the server group schema: type: integer vmUUID: name: vmUUID in: path required: true description: UUID of the virtual machine schema: type: string storagePoolId: name: storagePoolId in: path required: true description: Unique identifier for the storage pool schema: type: integer reportId: name: reportId in: path required: true description: Unique identifier for the report schema: type: integer schemas: DashboardSummary: type: object properties: sla: type: object properties: percentCompliant: type: number format: float description: Overall SLA compliance percentage totalProtected: type: integer description: Total number of protected entities totalNotProtected: type: integer description: Total number of unprotected entities jobs: type: object properties: running: type: integer description: Number of currently running jobs completed: type: integer description: Number of completed jobs failed: type: integer description: Number of failed jobs pending: type: integer description: Number of pending jobs storage: type: object properties: totalCapacityGB: type: number format: float description: Total storage capacity in GB usedCapacityGB: type: number format: float description: Used storage capacity in GB freeCapacityGB: type: number format: float description: Free storage capacity in GB deduplicationRatio: type: number format: float description: Overall deduplication savings ratio ServerGroup: type: object properties: serverGroupId: type: integer description: Unique server group identifier serverGroupName: type: string description: Name of the server group description: type: string description: Description of the server group associatedClients: type: array items: type: object properties: clientId: type: integer clientName: type: string planName: type: string description: Associated server plan name CreateServerGroupRequest: type: object required: - serverGroupName properties: serverGroupName: type: string description: Name for the server group description: type: string description: Description of the server group clientIds: type: array items: type: integer description: Client IDs to include in the group VirtualMachine: type: object properties: vmUUID: type: string description: Unique UUID of the virtual machine vmName: type: string description: Name of the virtual machine vmStatus: type: string description: Protection status enum: - Protected - NotProtected - NeverBackedUp - Pending hypervisor: type: object properties: clientId: type: integer clientName: type: string description: Hypervisor name (vCenter, Hyper-V host, etc.) vmSize: type: integer description: Total VM size in bytes lastBackupTime: type: integer description: Unix timestamp of last successful backup lastBackupJobId: type: integer description: Job ID of the last backup planName: type: string description: Associated protection plan name LaptopClient: type: object properties: clientId: type: integer description: Unique client identifier clientName: type: string description: Laptop hostname userName: type: string description: Laptop owner username osType: type: string description: Operating system type enum: - Windows - macOS - Linux backupStatus: type: string description: Current backup status lastBackupTime: type: integer description: Unix timestamp of last successful backup dataBackedUpGB: type: number format: float description: Total data backed up in GB FileServer: type: object properties: clientId: type: integer description: Unique client identifier clientName: type: string description: File server name serverType: type: string description: Type of file server enum: - WindowsFileServer - LinuxFileServer - NAS - NetApp - Isilon protectionStatus: type: string description: Protection status planName: type: string description: Associated protection plan name DatabaseServer: type: object properties: clientId: type: integer description: Unique client identifier clientName: type: string description: Database server name databaseType: type: string description: Database platform type enum: - SQLServer - Oracle - SAP_HANA - MySQL - PostgreSQL - DB2 - Informix instanceName: type: string description: Database instance name protectionStatus: type: string description: Protection status lastBackupTime: type: integer description: Unix timestamp of last successful backup SLASummary: type: object properties: overallCompliance: type: number format: float description: Overall SLA compliance percentage totalEntities: type: integer description: Total number of entities tracked metSLA: type: integer description: Number of entities meeting SLA missedSLA: type: integer description: Number of entities missing SLA excluded: type: integer description: Number of entities excluded from SLA breakdownByType: type: array items: type: object properties: workloadType: type: string description: Workload type (VM, File Server, Database, etc.) compliance: type: number format: float total: type: integer met: type: integer missed: type: integer StoragePool: type: object properties: storagePoolId: type: integer description: Unique storage pool identifier storagePoolName: type: string description: Name of the storage pool storageType: type: string description: Type of storage enum: - Cloud - DiskLibrary - TapeLibrary - DeduplicationStore totalCapacityGB: type: number format: float description: Total capacity in GB usedCapacityGB: type: number format: float description: Used capacity in GB freeCapacityGB: type: number format: float description: Free capacity in GB mediaAgents: type: array items: type: object properties: mediaAgentId: type: integer mediaAgentName: type: string Report: type: object properties: reportId: type: integer description: Unique report identifier reportName: type: string description: Name of the report reportCategory: type: string description: Category of the report enum: - Backup - Storage - SLA - Compliance - Operational - Custom description: type: string description: Description of the report GenericResponse: type: object properties: errorCode: type: integer description: Error code (0 indicates success) errorMessage: type: string description: Human-readable error or success message