WHM API.
Download OpenAPI description
Overview
URL
WebPros International, LLC
License
Languages
Servers
Mock server
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/
A server running WHM.
https://{host}:{port}/json-api/
- Mock server
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/backup_set_list
- A server running WHM.
https://whm-server.tld:2087/json-api/backup_set_list
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
-u <username>:<password> \
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/backup_set_listResponse
application/json
{ "data": { "backup_set": {} }, "metadata": { "command": "backup_set_list", "reason": "OK", "result": 1, "version": 1 } }
- Mock server
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/backup_set_list_combined
- A server running WHM.
https://whm-server.tld:2087/json-api/backup_set_list_combined
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
-u <username>:<password> \
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/backup_set_list_combinedResponse
application/json
{ "data": { "backup_set": { … }, "destination_legend": { … } }, "metadata": { "command": "backup_set_list_combined", "reason": "OK", "result": 1, "version": 1 } }
- Mock server
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/fetch_pkgacct_master_log
- A server running WHM.
https://whm-server.tld:2087/json-api/fetch_pkgacct_master_log
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
-u <username>:<password> \
'https://api.docs.cpanel.net/_mock/specifications/whm.openapi/fetch_pkgacct_master_log?session_id=username20200323154328kDJ2Kx4xua2KtG'Response
application/json
{ "data": { "log": "{\"contents\":\"pkgacct started.\\n\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:28 -0500\",\"pid\":4073,\"indent\":0,\"type\":\"out\"}\n{\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:28 -0500\",\"partial\":0,\"contents\":\"pkgacct version 10 - user : username - tarball: 1 - target mysql : 5.7 - split: 1 - incremental: 0 - homedir: 0 - mailman: 1 - backup: 0 - archive version: 4 - running with uid 0\\n\",\"indent\":0,\"type\":\"out\"}\n{\"type\":\"out\",\"indent\":0,\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:28 -0500\",\"partial\":0,\"contents\":\"pkgacct using ''/usr/bin/pigz -6 --processes 1 --blocksize 4096 --rsyncable'' to compress archives\\n\"}\n{\"type\":\"out\",\"indent\":0,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:28 -0500\",\"contents\":\"pkgacct -- attempting to use daily backup to create an account package\\n\",\"pid\":4073}\n{\"indent\":0,\"contents\":\"pkgacct -- could not use daily backup because no daily incremental backup for user username can be found ( check if daily incremental backups are enabled )\\n\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:28 -0500\",\"pid\":4073,\"type\":\"out\"}\n{\"type\":\"out\",\"pid\":4073,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:28 -0500\",\"contents\":\"pkgacct working dir : /home/cpmove-username\",\"indent\":0}\n{\"type\":\"out\",\"indent\":0,\"pid\":4073,\"contents\":\"Copying Reseller Config...\",\"timestamp\":\"2020-03-23 10:43:28 -0500\",\"partial\":1}\n{\"indent\":0,\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:28 -0500\",\"partial\":0,\"contents\":\"Done\\n\",\"type\":\"out\"}\n{\"type\":\"out\",\"indent\":0,\"pid\":4073,\"partial\":1,\"timestamp\":\"2020-03-23 10:43:28 -0500\",\"contents\":\"Copying Suspension Info (if needed)...\"}\n{\"type\":\"out\",\"timestamp\":\"2020-03-23 10:43:28 -0500\",\"partial\":0,\"contents\":\"Done\\n\",\"pid\":4073,\"indent\":0}\n{\"type\":\"out\",\"indent\":0,\"pid\":4073,\"contents\":\"Copying installed SSL certificates and keys...\",\"partial\":1,\"timestamp\":\"2020-03-23 10:43:28 -0500\"}\n{\"type\":\"out\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:28 -0500\",\"contents\":\"Performing ApacheTLS component....\",\"pid\":4073,\"indent\":0}\n{\"type\":\"out\",\"indent\":0,\"contents\":\"Completed ApacheTLS component.\\n\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"pid\":4073}\n{\"type\":\"out\",\"pid\":4073,\"contents\":\"Done\\n\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"indent\":0}\n{\"indent\":0,\"contents\":\"Copying DKIM keys....\",\"partial\":1,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"pid\":4073,\"type\":\"out\"}\n{\"type\":\"out\",\"indent\":0,\"contents\":\"Done\\n\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"pid\":4073}\n{\"type\":\"out\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":1,\"contents\":\"Copying Bandwidth Data....\",\"pid\":4073,\"indent\":0}\n{\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"Performing Bandwidth component....\",\"pid\":4073,\"indent\":0,\"type\":\"out\"}\n{\"type\":\"out\",\"contents\":\"Summary databases \",\"partial\":1,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"pid\":4073,\"indent\":0}\n{\"type\":\"out\",\"contents\":\" done!\\n\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"pid\":4073,\"indent\":0}\n{\"indent\":0,\"pid\":4073,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"Completed Bandwidth component.\\n\",\"type\":\"out\"}\n{\"indent\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"Done\\n\",\"pid\":4073,\"type\":\"out\"}\n{\"type\":\"out\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":1,\"contents\":\"Copying Dns Zones....\",\"pid\":4073,\"indent\":0}\n{\"indent\":0,\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":1,\"contents\":\"...username.tld...\",\"type\":\"out\"}\n{\"indent\":0,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"Done\\n\",\"pid\":4073,\"type\":\"out\"}\n{\"type\":\"out\",\"indent\":0,\"pid\":4073,\"contents\":\"Copying Mail files....\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":1}\n{\"indent\":0,\"contents\":\"Done\\n\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"pid\":4073,\"type\":\"out\"}\n{\"contents\":\"Copying proftpd file....\",\"partial\":1,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"pid\":4073,\"indent\":0,\"type\":\"out\"}\n{\"indent\":0,\"pid\":4073,\"contents\":\"Done\\n\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"type\":\"out\"}\n{\"indent\":0,\"contents\":\"Performing Logs component....\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"pid\":4073,\"type\":\"out\"}\n{\"type\":\"out\",\"indent\":0,\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":1,\"contents\":\"...log file sizes [0 byte(s)]...\"}\n{\"type\":\"out\",\"indent\":0,\"pid\":4073,\"contents\":\"...username.tld-ssl_log...\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":1}\n{\"contents\":\"...username.tld...\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":1,\"pid\":4073,\"indent\":0,\"type\":\"out\"}\n{\"indent\":0,\"pid\":4073,\"contents\":\"Completed Logs component.\\n\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"type\":\"out\"}\n{\"type\":\"out\",\"indent\":0,\"contents\":\"Copy userdata...\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":1,\"pid\":4073}\n{\"contents\":\"Done\\n\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"pid\":4073,\"indent\":0,\"type\":\"out\"}\n{\"indent\":0,\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":1,\"contents\":\"Copy custom virtualhost templates...\",\"type\":\"out\"}\n{\"type\":\"out\",\"indent\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"Done\\n\",\"pid\":4073}\n{\"type\":\"out\",\"contents\":\"Copying mailman lists and archives....\",\"partial\":1,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"pid\":4073,\"indent\":0}\n{\"type\":\"out\",\"indent\":0,\"pid\":4073,\"contents\":\"Done copying mailman lists and archives.\\n\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":1}\n{\"indent\":0,\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"Performing Postgresql component....\",\"type\":\"out\"}\n{\"indent\":0,\"pid\":4073,\"contents\":\"Completed Postgresql component.\\n\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"type\":\"out\"}\n{\"type\":\"out\",\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"Performing Mysql component....\",\"indent\":0}\n{\"contents\":\"Determining mysql dbs...\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":1,\"pid\":4073,\"indent\":0,\"type\":\"out\"}\n{\"type\":\"out\",\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":1,\"contents\":\"...mysqldump version: 5.7.27...\",\"indent\":0}\n{\"type\":\"out\",\"contents\":\"...mysql version: 5.7...\",\"partial\":1,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"pid\":4073,\"indent\":0}\n{\"type\":\"out\",\"indent\":0,\"contents\":\"Saving mysql privs...\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":1,\"pid\":4073}\n{\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"Done\\n\",\"pid\":4073,\"indent\":0,\"type\":\"out\"}\n{\"indent\":0,\"contents\":\"Storing MySQL databases...\\n\",\"partial\":1,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"pid\":4073,\"type\":\"out\"}\n{\"indent\":0,\"pid\":4073,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"Done\\n\",\"type\":\"out\"}\n{\"type\":\"out\",\"indent\":0,\"pid\":4073,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"...Done\\n\"}\n{\"pid\":4073,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"...Done\\n\",\"indent\":0,\"type\":\"out\"}\n{\"type\":\"out\",\"indent\":0,\"pid\":4073,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"Completed Mysql component.\\n\"}\n{\"indent\":0,\"contents\":\"Performing MysqlRemoteNotes component....\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"pid\":4073,\"type\":\"out\"}\n{\"indent\":0,\"contents\":\"Completed MysqlRemoteNotes component.\\n\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"pid\":4073,\"type\":\"out\"}\n{\"pid\":4073,\"partial\":1,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"Copying cpuser file.......\",\"indent\":0,\"type\":\"out\"}\n{\"type\":\"out\",\"indent\":0,\"contents\":\"Done\\n\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"pid\":4073}\n{\"partial\":1,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"Copying crontab file.......\",\"pid\":4073,\"indent\":0,\"type\":\"out\"}\n{\"indent\":0,\"pid\":4073,\"contents\":\"Done\\n\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"type\":\"out\"}\n{\"type\":\"out\",\"pid\":4073,\"contents\":\"Performing Quota component....\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"indent\":0}\n{\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"Completed Quota component.\\n\",\"indent\":0,\"type\":\"out\"}\n{\"type\":\"out\",\"indent\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"Performing Integration component....\",\"pid\":4073}\n{\"pid\":4073,\"contents\":\"Completed Integration component.\\n\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"indent\":0,\"type\":\"out\"}\n{\"indent\":0,\"contents\":\"Performing AuthnLinks component....\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"pid\":4073,\"type\":\"out\"}\n{\"type\":\"out\",\"pid\":4073,\"contents\":\"Completed AuthnLinks component.\\n\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"indent\":0}\n{\"type\":\"out\",\"indent\":0,\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"Performing APITokens component....\"}\n{\"indent\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"Completed APITokens component.\\n\",\"pid\":4073,\"type\":\"out\"}\n{\"indent\":0,\"pid\":4073,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"Performing DNSSEC component....\",\"type\":\"out\"}\n{\"type\":\"out\",\"indent\":0,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"Completed DNSSEC component.\\n\",\"pid\":4073}\n{\"type\":\"out\",\"indent\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"Performing Custom component....\",\"pid\":4073}\n{\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"No custom components to perform.\\n\",\"indent\":0,\"type\":\"out\"}\n{\"contents\":\"Completed Custom component.\\n\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"pid\":4073,\"indent\":0,\"type\":\"out\"}\n{\"type\":\"out\",\"indent\":0,\"pid\":4073,\"contents\":\"Performing AutoSSL component....\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0}\n{\"indent\":0,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"Completed AutoSSL component.\\n\",\"pid\":4073,\"type\":\"out\"}\n{\"type\":\"out\",\"pid\":4073,\"contents\":\"Storing Subdomains....\\n\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"indent\":0}\n{\"type\":\"out\",\"indent\":0,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"Done\\n\",\"pid\":4073}\n{\"indent\":0,\"pid\":4073,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"Storing Parked Domains....\\n\",\"type\":\"out\"}\n{\"type\":\"out\",\"pid\":4073,\"contents\":\"Done\\n\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"indent\":0}\n{\"indent\":0,\"contents\":\"Storing Addon Domains....\\n\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"pid\":4073,\"type\":\"out\"}\n{\"contents\":\"Performing Password component....\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"pid\":4073,\"indent\":0,\"type\":\"out\"}\n{\"type\":\"out\",\"indent\":0,\"contents\":\"Completed Password component.\\n\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"pid\":4073}\n{\"type\":\"out\",\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"Performing DigestShadow component....\",\"indent\":0}\n{\"type\":\"out\",\"indent\":0,\"pid\":4073,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"Completed DigestShadow component.\\n\"}\n{\"type\":\"out\",\"indent\":0,\"contents\":\"Copying shell.......\",\"partial\":1,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"pid\":4073}\n{\"type\":\"out\",\"indent\":0,\"pid\":4073,\"contents\":\"Done\\n\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0}\n{\"indent\":0,\"pid\":4073,\"contents\":\"Performing PublicContact component....\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"type\":\"out\"}\n{\"indent\":0,\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"Completed PublicContact component.\\n\",\"type\":\"out\"}\n{\"contents\":\"Performing MailLimits component....\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"pid\":4073,\"indent\":0,\"type\":\"out\"}\n{\"indent\":0,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"Completed MailLimits component.\\n\",\"pid\":4073,\"type\":\"out\"}\n{\"contents\":\"Performing LinkedNodes component....\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"pid\":4073,\"indent\":0,\"type\":\"out\"}\n{\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"Completed LinkedNodes component.\\n\",\"pid\":4073,\"indent\":0,\"type\":\"out\"}\n{\"pid\":4073,\"contents\":\"Creating Archive ....\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":1,\"indent\":0,\"type\":\"out\"}\n{\"indent\":0,\"pid\":4073,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"\\n\",\"type\":\"out\"}\n{\"contents\":\"splitpkgacctfile is: /home/cpmove-username-split/cpmove-username.tar.gz.part00001\\n\",\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"pid\":4073,\"indent\":0,\"type\":\"out\"}\n{\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"\\nsplitmd5sum is: e06a2d1f0cb499cb1d5ff15116f02df4\\n\",\"indent\":0,\"type\":\"out\"}\n{\"type\":\"out\",\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"\\nsplitsize is: 7275\\n\",\"indent\":0}\n{\"type\":\"out\",\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"Done\\n\",\"pid\":4073,\"indent\":0}\n{\"pid\":4073,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"partial\":0,\"contents\":\"\\nmysqlsize is: 0\\n\",\"indent\":0,\"type\":\"out\"}\n{\"indent\":0,\"pid\":4073,\"partial\":0,\"timestamp\":\"2020-03-23 10:43:29 -0500\",\"contents\":\"pkgacct completed\\n\",\"type\":\"out\"}" }, "metadata": { "command": "fetch_pkgacct_master_log", "reason": "OK", "result": 1, "version": 1 } }