[Development Guides Home](/guides)

# Guide to the LiveAPI System

The LiveAPI System provides environments for applications in the cPanel interface. Each environment provides a way for your code to interact locally with the cPanel binary, `cpsrvd`. This allows you to make cPanel API 1, cPanel API 2, and UAPI function calls via the [socket](https://en.wikipedia.org/wiki/Network_socket).

* Each LiveAPI class provides common elements to integrate with cPanel & WHM.
* When you use these environments, the authenticated user executes the functions. Because of this, calls may fail if the authenticated user does not have adequate permissions.


Important:
You **cannot** use the LiveAPI system to call WHM API 0 or WHM API 1 functions.

## LiveAPI License Information

* **Version:**
  * PHP class: 2.1
  * Perl module: 0.2
* **Copyright:** WebPros International, LLC
* **License:** Modified BSD


For Perl applications, we recommend that you use [Template Toolkit](/guides/guide-to-template-toolkit).

## LiveAPI environments

cPanel & WHM provides the following classes for the LiveAPI system:

* [The LiveAPI PHP Class](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-php-class) — The LiveAPI PHP Class provides an environment for PHP applications.
* [The LiveAPI Perl Module](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-perl-module) — The LiveAPI Perl Module provides an environment for Perl applications.


While cPanel does not currently provide classes for them, the LiveAPI system also supports the following languages:

* Ruby
* Python
* Other languages, through custom CGI wrappers.


You can use CGI with the [LiveAPI Perl module](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-perl-module/). The `root` user **must** own CGI scripts, and the scripts **must** have `0755` file permissions.

## Requirements

Applications that use a LiveAPI environment **must** meet the following requirements:

Important:
In cPanel & WHM version 126, we removed Python2 support for the `cpsrvd` daemon.

* The code **must** include the appropriate environment and [instantiate](https://wikipedia.org/wiki/Instance_(computer_science)) the respective class's object.
* File names **must** end with the appropriate file extension:
  * PHP — `.livephp` or `.live.php`
  * Perl — `.livepl` or `.live.pl`
  * Ruby — `.liverb` or `.live.rb`
  * Python2 — `.livepy` or `.live.py`
  * Python3 — `.livecgi` or `.live.cgi`
  * CGI — `.livecgi` or `.live.cgi`
* Files, or symlinks to the relevant files, **must** exist in the `/usr/local/cpanel/base/frontend/theme/` directory, where `theme` is the cPanel theme.


## Additional documentation

* [PHP Class](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-php-class)
* [Perl Module](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-perl-module)
* [LiveAPI Methods](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods)
  * [`api()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-api-method/)
  * [`cpanelfeature()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-cpanelfeature-method)
  * [`cpanelif()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-cpanelif-method)
  * [`cpanelprint()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-cpanelprint-method)
  * [`debug_log_json()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-debug-log-json-method)
  * [`debug_log()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-debug-log-method)
  * [`end()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-end-method)
  * [`exec()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-exec-method)
  * [`fetch()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-fetch-method)
  * [`footer()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-footer-method)
  * [`get_debug_level()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-get-debug-level-method)
  * [`get_debug_log()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-debug-log-method)
  * [`get_result()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-get-result-method)
  * [`header()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-header-method)
  * [`new()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-new-method)
  * [`set_debug()`](/guides/guide-to-the-liveapi-system/guide-to-the-liveapi-system-liveapi-methods/guide-to-the-liveapi-system-the-debug-log-method)
  * [`uapi()`](/cpanel/introduction)