Introduction to UAPI
Overview
UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.
- If you encounter problems with a local access method (LiveAPI PHP or LiveAPI Perl), attempt a browser-based call .
- You cannot call this API's functions via another API's call methods.
- When you enable a non-Standard Node server profile , the system disables API calls associated with that profile's disabled roles.
Basic Usage
cPanel or Webmail Session URL
/execute/Module/function?parameter=value¶meter=value¶meter=valueNote
For more information about browser-based UAPI calls, read the cPanel or Webmail Session URL calls section below.
This example uses the following variables:
| Variable | Description | Possible values | Example |
|---|---|---|---|
function |
The UAPI function. | Any UAPI function in the specified module. | addpop |
Module |
The function's module. | Any UAPI module. | Email |
parameters |
The function's input parameters. | Any parameter from the specified function. | domain |
value |
The value to assign to the input parameter. | Parameters accept a variety of values. | example.com |
LiveAPI PHP Class
$cpanel = new CPANEL(); // Connect to cPanel - only do this once.
// Call a UAPI function.
$function_result = $cpanel->uapi(
'Module', 'function',
array(
'parameter' => 'value',
'parameter' => 'value',
'parameter' => 'value',
)
);Note
- For more information, read our Guide to the LiveAPI System - PHP Class .
- For more information about browser-based UAPI calls, read the cPanel or Webmail Session URL calls below.
This example uses the following variables:
| Variable | Description | Possible values | Example |
|---|---|---|---|
function |
The UAPI function. | Any UAPI function in the specified module. | addpop |
Module |
The function's module. | Any UAPI module. | Email |
parameters |
The function's input parameters. | Any parameter from the specified function. | domain |
value |
The value to assign to the input parameter. | Parameters accept a variety of values. | example.com |
LiveAPI Perl Class
#!/usr/bin/perl
# Instantiate the Cpanel::LiveAPI object.
use Cpanel::LiveAPI ();
# Connect to cPanel - only do this once.
my $cpliveapi = Cpanel::LiveAPI->new();
# Call a UAPI function.
my $function_result = $cpliveapi->uapi(
'Module', 'function',
{
'parameter' => 'value',
'parameter' => 'value',
'parameter' => 'value',
}
);
# Perform the desired actions.
# Disconnect from cPanel - only do this once.
$cpliveapi->end();Note
- For more information, read our Guide to the LiveAPI System - Perl Module .
- For more information about browser-based UAPI calls, read the cPanel or Webmail Session URL calls below.
This example uses the following variables:
| Variable | Description | Possible values | Example |
|---|---|---|---|
function |
The UAPI function. | Any UAPI function in the specified module. | addpop |
Module |
The function's module. | Any UAPI module. | Email |
parameters |
The function's input parameters. | Any parameter from the specified function. | domain |
value |
The value to assign to the input parameter. | Parameters accept a variety of values. | example.com |
Command Line
uapi --user=username --output=type Module function parameter=value parameter=valueNote
- UAPI 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 Guide to UAPI - Return Data documentation.
- cPanel & WHM introduced the command line feature in version 56.
UAPI calls through the command line consist of the following basic parts:
Command
This value is always uapi for calls to UAPI. If you run CloudLinux™, you must use the full path of the uapi command:/usr/local/cpanel/bin/uapi
User
The account-level username.
Output Type
The API output type that you wish to receive.
-
Use
--output=jsonto return JSON-formatted output. -
Use
--output=jsonprettyto return indented JSON-formatted output. -
Use
--output=yamlto return YAML-formatted output.
This parameter defaults to --output=yaml.
Module
The UAPI module name.
Function
The UAPI function.
User
The cPanel account username.
Input parameters and values
The function's input parameters and their values.
- Space-separate multiple parameter=value pairs.
- 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 examples:
uapi --user username Module function key=[\"sslinstall\",\"videotut\"]"
uapi --user username Module function key='{"videotut","sslinstall"}'Note
The term "Boolean" in our documentation refers to parameters that accept values of
1or0. cPanel & WHM's APIs do not support the literal values of true and false.
For more information about this feature, run the following command:
uapi --helpcPanel or Webmail Session URL
You can access UAPI functions directly from any web browser when you make the call from a cPanel or Webmail session.
Browser-based calls consist of the following basic parts:
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:
-
2082- Unsecure calls as a specific cPanel account. -
2083- Secure calls as a specific cPanel account. -
2095- Unsecure calls via a Webmail session. -
2096- Secure calls via a Webmail session.
Warning
Unless you call this API via the WHM API 1, you cannot call this API via WHM's ports (
2086or2087).
Security token
The current session's security token.
Note
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.
Action
This portion of the URL will always be execute.
Module
The UAPI module name.
Function
The UAPI function.
Input parameters and values
The UAPI function's input parameters and their values.
-
Separate multiple
parameter=valuepairs with the ampersand character (&). - You must URI-encode these values.
Note
The term "Boolean" in our documentation refers to parameters that accept values of
1or0. cPanel & WHM's APIs do not support the literal values oftrueandfalse.
Do not attempt to use cPanel or WHM interface URLs to perform actions in custom code. You must call the appropriate API functions in order to perform the actions of cPanel & WHM's interfaces.
For example, do not pass values to .html pages, as in the following example:
http://example.com:2082/frontend/x3/mail/doaddpop.html/email=name&domain=user.comWhile this unsupported method sometimes worked in previous versions of cPanel & WHM, we strongly discourage its use and do not guarantee that it will work in the future. Instead, the correct method to perform this action is to call the appropriate API function.