Introduction

WHM API 1 accesses the WHM interface's features.

 You can use this API to perform server administration tasks, administrate cPanel and WHM reseller accounts, and manage cPanel & WHM services.

  • Use the applist command to return an alphabetical list of WHM API 1 functions.
  • You cannot call this API's functions via another API's call methods. For more information, read the API method distinctions section below.

Basic usage




https://hostname.example.com:2087/cpsess##########/json-api/accountsummary?api.version=1&user=username

WHM API calls through JSON consist of the following basic parts:

PartDescription
Server and port

The web server's HTTP address and the port number to use. Generally, this value begins with https:// and the domain name.

When you call this API, use the following ports:

  • 2086 — Unsecure calls as a specific WHM account.
  • 2087 — Secure calls as a specific WHM account.

You cannot call this API via cPanel ports (2082 or 2083) or Webmail ports (2095 or 2096).


Security token

The current session's security token.

Cookie-based calls (for example, calls from a web browser) require a security token. For other authentication methods, read our Guide to API Authentication documentation.


API type

The API output type that you wish to receive. Use json-api to return JSON-formatted output.

FunctionThe WHM API function.
API version

The API version to use. To call WHM API 1, set the api.version parameter to 1.

If you do not include the API version, the call will default to WHM API 0.


Input parameters and values

The function's input parameters and their values.

  • You must URI-encode these values.
  • Separate multiple parameter=value pairs with the ampersand character (&).



https://hostname.example.com:2087/cpsess##########/xml-api/accountsummary?api.version=1&user=username


 

WHM API calls through XML consist of the following basic parts:

PartDescription
Server and port

The web server's HTTP address and the port number to access.

  • Generally, this value begins with https:// and the domain name.
  • For secure calls to the WHM API, the port is always 2087.
Security token

The current session's security token.

Cookie-based calls (for example, calls from a web browser) require a security token. For other authentication methods, read our Guide to API Authentication documentation.


API type

The API output type that you wish to receive. Use xml-api to return XML-formatted output.

FunctionThe WHM API function.
API version

The API version to use. To call WHM API 1, set the api.version parameter to 1.

If you do not include the API version, the call will default to WHM API 0.


Input parameters and values

The function's input parameters and their values.

  • Separate multiple parameter=value pairs with the ampersand character (&).
  • You must URI-encode these values.




whmapi1 accountsummary user=username


  • cPanel & WHM introduced the command line feature in version 11.52.0.8.
  • WHM API 1 calls via the command line do not return the metadata that other methods return if they experience errors that prevent a successful function run. For more information, read our WHM API 1 - Return Data documentation.

WHM API calls through the command line consist of the following basic parts:

PartDescription
Command

This value is always whmapi1 for calls to WHM API 1.

If you run CloudLinux™, you must use the full path of the whmapi1 command: 

/usr/local/cpanel/bin/whmapi1



Output Type

The API output type that you wish to receive.

  • Use --output=json to return JSON-formatted output.
  • Use --output=jsonpretty to return indented JSON-formatted output.
  • Use --output=xml to return XML-formatted output.
  • Use --output=yaml to return YAML-formatted output.

This parameter defaults to --output=yaml.


FunctionThe WHM API function.
Input parameters and values

The function's input parameters and their values.

  • Separate multiple parameter=value pairs with a space character.
  • You must URI-encode values.
  • Special characters within a key's value may cause an error. You must either escape any special characters within values or surround the value with appropriate quotes. For more information, read Wikipedia's Escape Characters article. For example, a bash shell command with a JSON-encoded value may appear similar to one of the following:
    • whmapi1 function key=[\"sslinstall\",\"videotut\"]"
    • whmapi1 function key='{"videotut","sslinstall"}'


For more information about this feature, run the following command:

whmapi1 --help





API method distinctions