Platform Release Webinars (July 2026): Commvault Cloud SaaS and LTS 11.44
Discuss REST APIs, Workflows, PowerShell, scripting, customization, and more!
Recently active
Who is this for?This is written specifically for people who cannot find a way to do something in the rest API. When should I use the qoperation execute api?If an API endpoint exists to do what you need use that, The rest api is much… much… much newer than qoperation execute and I suspect the thing that makes the rest api viable at all as a substitution for the command line is that fact that the qoperation execute api exists In other words it may be a stopgap solution. DISCLAIMER:I am no expert, everything stated below is my opinion based on experience and experimentation.With that said I both welcome and invite criticism from those who have deeper insight and knowledge. This post is made solely to help those who are currently looking for solutions.In order to be fair to the people reading this any pure speculation on my part will be placed in italics. That said I am quite confident that everything stated below is basically correct if not complete in scope and context. Anyone who can
New to workflows and Commvault in general, having deployed in December of 22. Looking for a workflow that would enable our DB2 DBAs to do an out of place restore to devops server using the repath options on a weekly basis.
I am able to successfully query the rest API and the xml data looks good but when I use ‘Accept: application/json’ the data is not formatted correctly. Is this a known issue? I tested this feature in both python and curl.
I am trying to query the Deduplication Database Details using the REST API. It works good but I have to provide the ddbStoreId. I can open the Commvault GUI I locate the ddbStoreId manually. How can I query the ddbStoreId from the REST API so I can fully automate this process?
Hello everyone, Is it possible to get Full Schedules via API call? i am able to get the schedules and sub tasks inside the schedule but i could not find a way to differentiate schedules from Full, vs Incremental vs Full Synthetic? Granted Full Synthetic has a display name so it lets you differentiate from Full and incremental but Full backup and incremental does not have any name in schedules.is there any other property that i can key off? Thank you!
Do we have any performance tuning guides for HSX? The customer has a 11 node\24 disk per node cluster and wants to know if they can benchmark performance and get kind of a best practices around tuning and how to get the most out of the HSX. thanks much
so when i trying to get this information to a mail, i’m getting an error , how to fix or get rid of the xml encoding error. I’m trying to fetch the path information for a sql restore to email (using workflow)
Is there any workflows available in Commvault to auto restart the VSS Writers Services ?
We have a custom application that was developed in-house for automation, and we are trying to integrate Commvault into it, as we have for other backup applications used here.We wanted to know if it was possible for Commvault to use an “API Key” (which Veritas NetBackup has) in order to authenticate, rather than having to use the normal authentication token which expires after 30 minutes of inactivity?For more info on the API Key in Netbackup, see: getting-started (veritas.com)A NetBackup API key is a pre-authenticated token that lets a NetBackup user run NetBackup commands(such as nbcertcmd -createToken or nbcertcmd -revokeCertificate) or access NetBackup RESTful APIs.Unlike a password, an API key can exist for a long time and you can configure its expiration.Therefore, once an API key is configured, operations like automation can run for a long time using the API key.
Hi,I am looking into https://documentation.commvault.com/v11/essential/45929_rest_api_delete_client.htmlto delete clients. It is mentioned in the document that there is setting called ‘forceDelete’ - does anybody know how to use it in the actual API call? I’ve tried to add it in the URL itself, in the headers, in the payload. Does not work.
I have some customized reports, which are scheduled to run once in 90 days, i would like to update certain properties of that schedule once in a while using workflowIt would be easy to do that if I do an GET api on the report schedule using the report schedule nameand using that i would update the properties that I want to. I’m unable to find any API specific to report scheduling. https://api.commvault.com/#416fa5bf-c150-4cbd-8f05-4bdc867d2719 is it possible to Get the details of a specific scheduled REPORT orhow do i list the properties of a particular REPORT Schedule orhow do i find the taskID for a REPORT Schedule. https://api.commvault.com/#8de6b19c-2815-4d50-b89e-99654a090db0
Per recent corporate policy to provide codes like this via software store, I removed this post.Thank you for your attention.
There’s some alert configuration to detect longer jobs than usual, also you can check the jobs the same condition in Job Controller (small icon would appear).Still there’s not so easy way to detect the delay with some sort of custom criteria, like for specific client, duration which would take double or three times longer as usual, etc. This query is intended to address some requests, listing up the difference between running jobs durations and “average” per subclient and backup level.use commservset transaction isolation level read uncommittedselect bkji.jobId ,bkji.applicationId ,apc.name as 'clientname' ,apap.subclientName ,bkji.bkpLevel ,1.0 * (dbo.GetUnixTime(GETUTCDATE()) - ji.jobStartTime) / grp.avg_duration as 'exceeded' ,grp.avg_duration ,grp.count_jobfrom jmbkpjobinfo bkjiinner join JMJobInfo ji on bkji.jobid = ji.jobidinner join APP_Application apap on apap.id = bkji.applicationIdinner join APP_Client apc on apc.id = apap.clientIdinner join ( select appId, bkpLevel, avg(du
An MSP customer, there're a lot of alerts which send out mails whenever any of them detects phase errors, but sometimes the job itself got succeeded, also in this case it's quite difficult to look into the phase errors since the information would be scattered at detailed job results, events, alerts, etc. This query is created by a customer's requiest who want to track job **phase** errors at once, combining many information from various tables including event or error parameters.So some verbose informations there, but you can easily detect when the phase failures happened, like one of MAs is having connection issue and affecting mlutiple jobs. Here's the query, you can run it on CommServ DB, or creating customer reports on your Metrics Reporting could make your life easier.use commservSET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;declare @tmp table ( jobid int ,starttime bigint ,endtime bigint ,messageid int ,occurred nvarchar(max) ,message nvarchar(max))insert into @tmpselect f.jo
Hi,An external application wants to use the Commvault API.There is a firewall between the machine where the external application resides and the Commserve host.I would like to know which ports, protocol, direction to open between the Commserve & VM containing the external applications.I cannot find the information in the Commvault documentation.Many thanks
Hi there, not sure if anyone has seen the same issue before. Here is what we do:We need to suspend backup for one Sybase database because the database needs to execute its own house keeping like re-index etc. We are trying to automate this using Commvault API: We receive the request to suspend a database(db1) from instance(asset1). Our program will loop through the asset1 and see where db1 is and found it is in subclient “sub1”. We will then create a “dynamic1” subclient Delete the “db1” from “sub1” subclient. Add “db1” to “dynamic1” subclientNow the house keeping is done and we need to resume the backup of db1:We received the resume request Loop through Commvault server where db1 is through API We found db1 is in default subclient alreayNow the adhoc Full backUp is called immediately because the house keeping has change the database structure and we don’t have a base-lineAdhoc backup request is received Loop through asset1 and see where db1 is and found it is in subclient “default” Cr
Is there any way we access Rest API without token ? because we just run the script on the local commvault computer and we don't want user + password in the plaintext ?Thank you
Team,We have very huge environment where we have more number of backup failure which we are trying to fix the issue through automation using REST API. 1.Check the backup status for each client.2.Check if each client is ready(Check Readiness) for backup.3.If readiness getting failed then Recycle the services for each client.4.Resubmit the backup job for each client.5. Post if Resubmit is also getting failed then refer the log cuts Job manager.log and Evmgrs.log to find the failed/error details.Let me know if anything we can add it for other agent based backups like SQL, Oracle or SAP HANA database. Please update some additional steps if any initial troubleshooting using REST API will help us to reduce some failures in our environment.
I have a list of many users to restore and would prefer not to have to go click happy to restore the users.Ideally something simple like powershell and a foreach loop for the usernames.The rest api would work to but I saw no reference in any of the tools to restore AD Objects? Please Advise.
Hello everyone, We are creating a Server Backup Plan in CommandCenter that creates a plan and backup destination (storage pools for primary copy and secondary copy) and schedules. We select the schedule for full and incremental and plan creation completes successfully. We can copy the API code of the above tasks and see the JSON file that creates then we programmatically create backup plans in batch via PowerShell. When we review the schedule in Java client. We see that it creates Synthetic Full schedule as well but this is not visible in commandcenter. We cannot use Synthetic Full in our environment due to storage limitation.What do we need to add or remove to the JSON file command center creates for PLAN, and remove the Synthetic Full in the creation? I am attaching a sample JSON file. We would to see a sample JSON file that creates the plan and removes Synthetic Full schedule. JSON File: $body = @"{ "planName": "$planName", "backupDestinations": [ { "backupDestinationName"
When creating an input for a Workflow to select a client, I use the following(Inputs-->Customize)Unfortunately the clientlist is sorted on client-id, not on client-name.Anyone an idea to change to sortfield ?
Hello, I have tried the Powershell CLI to rename a client name as described in the documentation:https://documentation.commvault.com/2022e/essential/101881_set_cvclient.htmlThere is no error, but nothing is changing:errorCode entity --------- ------ 0 @{clientId=925; clientName=OldClientname; instanceId=160; _type_=3}I have seen, that there is also an open issue at github for this:https://github.com/Commvault/CVPowershellSDK/issues/30When I try the WhatIf flag I get the same error as shown at githubINFO: Set-CVClient: set client properties request failed for group [clientname]"Is it working for someone or is someone working on that issue?Thank you
Hello All,i’m facing a issue where commands like get-cvsqlinstance -name “xxxx\xxx” is not working. Going through documentation from CV describes that i’m doing the correct thing.although still getting internal error 500powershell error :ValidateResponse : Status: ProtocolErrorMessage: The remote server returned an error: (500) Internal Server Error.ErrorMessage: RecommendedAction: At C:\Users\nnit-ceen.BCK\Desktop\CVPowershellSDK-master\CVPowershellSDK-master\Modules\Commvault.RESTSession\Commvault.RESTSession.psm1:410 char:17+ ValidateResponse $response $output $ValidateProperty+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,ValidateResponse any clue the above?
Hello everyone,I am looking for a script to add Vmware VMs to subclient. I have been poking around Powershell SDK/Commands but i am not successful so far with the latest Powershell v32 SDK Eventually i need to feed VM Names from csv file and loop through but for now just testing with a single VM. Add-CVVirtualMachine -ClientName myVCenter -SubclientName z_Subclient_0400PM -EntityType VM -Entity my-vmname Getting following error: “Get-CVVirtualMachine : A parameter cannot be found that matches parameter name 'Name'.At C:\Program Files\WindowsPowerShell\Modules\CommvaultPowerShell\0.2.11\custom\oldsdk\Add-CVVirtualMachine.ps1:166 char:61+ ... $vmProps = Get-CVVirtualMachine -Name $entity ...+ ~~~~~ + CategoryInfo : InvalidArgument: (:) [Get-CVVirtualMachine], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Get-CVVirtualMachine “ Thanks,
Hi teams,i want to retrieve the content of this subclient by powershell. try with “Get-CVSubClient.Content.content” but no way ( )Help AppreciateThanks
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.