Commvault Command Center API

The Commvault Command Center API exposes the operations behind the modern web-based Command Center UI, providing centralized management, monitoring, dashboards, server group control, and workflow execution for Commvault environments.

OpenAPI Specification

commvault-command-center-openapi.yml Raw ↑
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