JSON-RPC API guide for Cove Data Protection (Cove)
JSON-RPC is a light-weight remote procedure call protocol encoded in JSON. It allows for multiple calls to be sent to the Cove Data Protection (Cove) server which may be answered asynchronously.
We recommend the use of JSON-RPC API only if you are familiar with it and are confident in your ability to construct functional calls.
For information on how to read and use the Cove schema, see the How to use the Backup Manager JSON-RPC API schema page.
There are 2 types of web services in Cove:
- Management Service – provides management functions and statistics for all devices belonging to a certain customer. The key entity in the Management Service protocol is the customer
- Reporting Service – provides detailed backup and restore statistics for selected devices. It runs on every storage node
For some methods you may be asked for column vectors or column codes or be provided with these in the call response. Please view the Management Console column codes for API page to see the full list of column vectors and their definitions.
Please note, the old legacy notations (found here) will still work for many calls, however, we would strongly recommend you change to use the new notations as soon as possible.
Be aware that methods and parameters are case sensitive so ensure you use the correct capitalization as documented in the Schema.
All changes made using API's can only be made for one device at a time. If you require changes to be made on several devices or customers at the same time you would need to follow the below process:
- Enumerate the list of devices or customers using the appropriate method (
- Write a script in whichever tool you prefer to make the necessary changes
- Parse the list output into the script you have written
- Run your script to make the changes
For any changes made with the API, we would recommend you re-run the appropriate method to confirm your changes have been successful.
The services are exposed via a custom JSON-RPC protocol. A schema for the protocol is currently in beta. It lists available methods and supported parameters, but it cannot be used to generate a client for the service automatically.
Date and time format
All of the Backup Manager API methods will display date and time as Unix format.
This means that the time is shown as the number of seconds that have passed since 00:00:00 UTC, 1st January 1970. For example:
- Unix timestamp: 1554986978
- Coordinated universal time (UTC): 2019-04-11 12:49:38
You can calculate the time to more readable format by using this conversion table:
|Human Readable Time||Seconds|
|1 minute||60 seconds|
|1 hour||3600 seconds|
|1 day||86400 seconds|
|1 month (30.44 days)||2629743 seconds|
|1 year (365.24 days)||31556926 seconds|
Some API tools may convert this time for you. Alternately, you can find Unix to Human Readable Time conversion tools by searching online.
All of the Backup Manager API methods will display sizes in Bytes. You can calculate the sizes to a more readable format by using this conversion table (where n=number of bytes given in the output):
|1,024 bytes||n/2^10||1 kilobyte (K / Kb)|
|1,048,576 bytes||n/2^20||1 megabyte (M / Mb)|
|1,073,741,824 bytes||n/2^30||1 gigabyte (G / Gb)|
|1,099,511,627,776 bytes||n/2^40||1 terabyte (T / TB)|
Some API tools may convert this size for you. Alternately, you can find Bytes size conversion tools by searching online.
Requirements for HTTP requests
You can run test requests using any command-line tools that support HTTP: curl, SoapUI, Advanced REST Client Chrome plug-in or any other:
- The HTTP method is POST
- The HTTP header is set to "Content-Type: application/json"
- The endpoint is