WHM API.
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/
https://{host}:{port}/json-api/
- Mock server
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/get_available_profiles
- A server running WHM.
https://whm-server.tld:2087/json-api/get_available_profiles
- 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/get_available_profiles{ "data": { "profiles": [ … ] }, "metadata": { "command": "get_available_profiles", "reason": "OK", "result": 1, "version": 1 } }
Request
This function returns details about the server's current cPanel & WHM server profile.
- Mock server
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/get_current_profile
- A server running WHM.
https://whm-server.tld:2087/json-api/get_current_profile
- 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/get_current_profile{ "data": { "code": "MAILNODE", "description": "This profile provides only services and cPanel features that allow the system to serve mail.", "disabled_roles": [ … ], "enabled_roles": [ … ], "experimental": 1, "name": "Mail", "optional_roles": [ … ] }, "metadata": { "command": "get_current_profile", "reason": "OK", "result": 1, "version": 1 } }
Request
This function checks whether a specific server role is currently enabled for the server.
For more information about server roles, read our How to Use Server Profiles documentation.
The role to check. The role must be one of the following case-sensitive values:
CalendarContact- Allows users to access CalDAV and CardDAV services and features.DNS- Allows users to create and edit Domain Name System (DNS) zone files. This role doesn’t convert your server to a cPanel DNSOnly™ server.FileStorage- Allows users to access cPanel’s File Manager and Git™ Version Control features. When a profile disables this role, you can’t enable the Shell Access setting when you create a new cPanel account.FTP- Allows users to manage their account’s files with an FTP client.MailLocal- Allows the control of local mail delivery and related features.MailReceive- Allows users to receive mail from external sources.MailRelay- Allows the server’s Message Transfer Agent (MTA) to forward mail from one remote host to another.MailSend- Allows users to send mail and control the features necessary for sending mail.MySQL- Allows users to create and manage MySQL® or MariaDB databases.MySQLClient- This role checks whether the MySQL/MariaDB client access exists locally or remotely. You cannot directly enable or disable this role. The system enables or disables this role depending on the MySQL configuration.Postgres- Allows users to create and manage PostgreSQL databases if cPanel & WHM manages the server’s PostgreSQL.PostgresClient- This role checks whether the PostgreSQL client access exists locally.SpamFilter- Allows users to use Apache SpamAssassin™ to identify, sort, and delete unsolicited mail.WebDisk- Allows users to manage their account’s files with a WebDAV client.Webmail- Allows users to access webmail services and features.WebServer- Allows users to create and manage websites for their domains.
- Mock server
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/is_role_enabled
- A server running WHM.
https://whm-server.tld:2087/json-api/is_role_enabled
- 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/is_role_enabled?role=FTP'{ "data": { "enabled": 1 }, "metadata": { "command": "is_role_enabled", "reason": "OK", "result": 1, "version": 1 } }