[Development Guides Home](/guides) >> [Guide to Standardized Hooks](/guides/guide-to-standardized-hooks) >> [Hookable Events](/guides/guide-to-standardized-hooks/guide-to-standardized-hooks-hookable-events) # Guide to Standardized Hooks - Cpanel Functions The `Cpanel` category creates hookable events for cPanel API 1, cPanel API 2, or [UAPI](/cpanel/introduction) functions. ## API::Module::function `Cpanel` events **all** use the `API::Module::function` naming format, where: * `API` is the API that calls the hook point. This value is **case-sensitive**. * Use `Api1` for cPanel API 1 functions, `Api2` for cPanel API 2 functions, or `UAPI` for UAPI functions. * `Module` is the function's module name (for example, `StatsBar`). * `function` is the function name (for example, `stat`). ### Information * **Action code runs as:** The cPanel user. * Remote API calls that proxy to cPanel's API and cPanel API calls that are performed as a reseller in the cPanel interface will affect this user and **not** the authenticated user. * **Blocking attribute:** Available. * **Escalate privileges attribute:** Available. ### Available stages * `pre` — Hook action code runs before the event. * `post` — Hook actions code runs after the event. ### post stage call failure If an API call fails to execute, whether the post-stage hook runs depends on which API that you use. * cPanel API 1 function post-hooks **always** run, regardless of whether the call succeeds. * cPanel API 2 function post-hooks **always** run, but also include data about whether the API function succeeds. In your post-hook code, the `data->{'output'}{'result'}` section displays the call's status. For example: ``` "output" : [ { "reason" : "File not found.\n", "result" : 0 } ] ``` * UAPI post-hooks do **not** run if the API call fails. ### pre returns | Return | Type | Description | Possible values | Example | | --- | --- | --- | --- | --- | | `args` | *See description.* | For cPanel API 1 functions, an array reference with elements for each of the function's parameters. For cPanel API 2 functions, a hash reference with `key=value` pairs for each of the function's parameters. | See the desired function's documentation. | | | `output` | *string* | A variable reference, which cPanel & WHM is likely to overwrite during processing. | A variable reference. An undefined value. Expect an undefined value. | `undef` | | `user` | *string* | The cPanel user's username. | A valid cPanel username on the server. | `username` | ### post returns | Return | Type | Description | Possible values | Example | | --- | --- | --- | --- | --- | | `args` | *See description.* | For cPanel API 1 functions, an array reference with elements for each of the function's parameters. For cPanel API 2 functions, a hash reference with `key=value` pairs for each of the function's parameters. | See the desired function's documentation. | | | `output` | *string* | A variable reference, which cPanel & WHM is likely to overwrite during processing. | A variable reference. An undefined value. Expect an undefined value. | `undef` | | `user` | *string* | The cPanel user's username. | A valid cPanel username on the server. | `username` |