openapi: 3.2.0 info: contact: email: cs@cpanel.net name: WebPros International, LLC url: https://cpanel.net/support/ description: WHM API. license: name: cPanel License url: https://cpanel.net/legal-notices/ termsOfService: https://cpanel.net/legal-notices/ title: WHM Packages API version: 11.137.9999.106 x-api-evangelist-provenance: 'Harvested verbatim from cPanel''s developer portal on 2026-09-05 via the MCP tool get-full-api-description at https://api.docs.cpanel.net/mcp. ONE mechanical change was made before storage: example values containing PEM private-key or certificate blocks, and AWS-access-key-shaped example strings, were replaced with REDACTED_* placeholders so the file can be stored in a public git repository without tripping secret scanning. No path, operation, parameter, schema or description was altered, added or removed.' servers: - description: A server running WHM. url: https://{host}:{port}/json-api variables: host: default: whm-server.tld description: The hostname of a server running WHM. port: default: '2087' description: The WHM port. security: - BasicAuth: [] tags: - description: The Packages module for WHM API 1. name: Packages paths: /_getpkgextensionform: get: description: 'This function retrieves a hosting plan''s package extension templates. When you call this function, the system checks the hosting plan''s `_PACKAGE_EXTENSIONS` value. The function returns the contents of the `/var/cpanel/packages/extensions/name.tt2` file for each package extension in the list, where name represents the package extension''s name. For more information, read our Guide to Package Extensions. **Note:** This function returns only metadata if the hosting plan does not use package extensions, or if the extensions'' template files are empty.' operationId: Accounts-_getpkgextensionform parameters: - description: The hosting plan's name. in: query name: pkg required: true schema: example: package1 type: string responses: '200': content: application/json: schema: properties: data: properties: html: description: The HTML and Template Toolkit soure code for the hosting plan's extensions' templates. example:
Changing the account bandwidth limit from “0” to “unlimited”.
Changing Feature List to default
Changing the maximum email accounts from “unlimited” to “unlimited”.
Changing the maximum SQL databases from “unlimited” to “unlimited”.
Changing the maximum FTP accounts from “unlimited” to “unlimited”.
Changing the maximum mailing lists from “unlimited” to “unlimited”.
Changing the maximum subdomains from “unlimited” to “unlimited”.
Changing the maximum email quota from “unlimited” to “unlimited” …
Changing "Maximum Hourly Email by Domain Relayed" from unlimited to unlimited
Changing "Maximum percentage of failed or deferred messages a domain may send per hour" from unlimited to unlimited
Changing the maximum parked domains from “unlimited” to “0”.
Changing the maximum addon domains from “unlimited” to “0”.
Removing Shell Access
Shell changed
Changing cPanel theme from jupiter to jupiter
Changing plan from default to boo
Bandwidth limit (unlimited) is lower than (unlimited) (all limits removed)
Enabling......exampleaddon.com......exampleaddon.example.com......example.com...Done
Setting quota to “unlimited”.
Warning, this will not change shared IP accounts to dedicated IP accounts, or the reverse.
Warning: Changing a user’s package does not affect their Digest Authentication settings.
'
type: string
type: object
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update user hosting plan
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n changepackage \\\n user='username' \\\n pkg='package1'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/changepackage?api.version=1&user=username&pkg=package1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/create_featurelist:
get:
description: 'This function creates or updates a feature list.
**Note:**
A reseller **must** possess the
Add/Remove Package feature
to use this function.'
operationId: FeatureLists-create_featurelist
parameters:
- description: The feature list's name.
in: query
name: featurelist
required: true
schema:
example: CustomFeatureList
type: string
- description: 'Whether to add a specific feature in the feature list.
* `1` — Add the feature.
* `0` — Do **not** add the feature.
**Note:**
* The parameter''s name is a feature''s name. For example, the `changemx=1`
adds the *Change Mail Exchanger* feature to the feature list.
* You can add or omit multiple features.'
in: query
name: featurelistname
required: false
schema:
default: 0
enum:
- 1
- 0
example: 1
type: integer
- description: 'Whether to overwrite an existing feature list.
* `1` — Overwrite.
* `0` — Do **not** overwrite.'
in: query
name: overwrite
required: false
schema:
default: 0
enum:
- 1
- 0
example: 1
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
featurelist:
description: The feature list's name.
example: Arthur
type: string
type: object
metadata:
properties:
command:
description: The method name called.
example: create_featurelist
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Create feature list
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n create_featurelist \\\n featurelist=Arthur webmail=1 changemx=1 overwrite=1\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/create_featurelist?api.version=1&featurelist=Arthur&webmail=1&changemx=1&overwrite=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.46'
/delete_featurelist:
get:
description: This function deletes a feature list.
operationId: FeatureLists-delete_featurelist
parameters:
- description: The feature list's name.
in: query
name: featurelist
required: true
schema:
example: TestList
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
deleted_featurelist:
description: The deleted feature list's name.
example: TestList
type: string
type: object
metadata:
properties:
command:
description: The method name called.
example: delete_featurelist
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Delete feature list
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n delete_featurelist \\\n featurelist='TestList'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/delete_featurelist?api.version=1&featurelist=TestList
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/delpkgext:
get:
description: 'This function deletes a package extension from a hosting plan (package).
**Note:**
* You can additionally include extension''s variables in your function call, in `key=value` format.
Consult the extension''s documentation for a list of possible variables. Extension variable names are case-sensitive.'
operationId: Packages-delpkgext
parameters:
- description: 'The space delimited
[package extensions](https://go.cpanel.net/GuidetoPackageExtensions)
to delete.
**Note:**
* Extension names are case-sensitive.'
explode: true
in: query
name: _DELETE_EXTENSIONS
required: true
schema:
example: extension1 extension2
type: string
style: spaceDelimited
- description: The hosting plan's name.
in: query
name: name
required: true
schema:
example: package1
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
pkg:
description: The deleted hosting plan's name.
example: package1
type: string
type: object
metadata:
properties:
command:
description: The method name called.
example: delpkgext
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Remove hosting plan extension
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n delpkgext \\\n name='package1' \\\n _DELETE_EXTENSIONS='extension1 extension2'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/delpkgext?api.version=1&name=package1&_DELETE_EXTENSIONS=extension1%20extension2
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '68'
/editpkg:
get:
description: 'This function edits a hosting plan (package).
**Note:**
* The
Access Control List (ACL)
restricts some of the function''s parameters, which limit the features that WHM
users can access.
* This function applies any changes you make to **all** accounts that exist on
the hosting plan.
* This function **cannot** modify hosting plan names.'
operationId: Packages-editpkg
parameters:
- description: The hosting plan's name. If the hosting plan does not exist, the system will create it.
in: query
name: name
required: true
schema:
example: package1
type: string
- description: 'The hosting plan''s [package extensions](https://go.cpanel.net/GuidetoPackageExtensions).
If you do **not** provide a value, the hosting plan will **not** include package
extensions.
**Note:**
* We **strongly** recommend that you manage package extensions through WHM API
1''s `addpkgext` and `delpkgext` functions.
* You can include the extension''s variables in your function call, in `key=value` format.
Consult the extension''s documentation for a list of possible variables.
* Extension names and variables are case-sensitive.
* Use space-delimited format to add multiple package extensions.'
examples:
multiple:
summary: Add multiple package extensions.
value: extension1 extension2 extension3
single:
summary: Add a single package.
value: extension1
in: query
name: _PACKAGE_EXTENSIONS
required: false
schema:
type: string
- description: 'The hosting plan''s maximum bandwidth use, in megabytes (MB).
* `0`, `unlimited`, or `null` — The hosting plan allows unlimited
bandwidth.
**Note:**
The `0`, `unlimited`, or `null` values are **only** available to
users that possess the corresponding `unlimited` ACL permission.'
in: query
name: bwlimit
required: false
schema:
default: 1048576
example: 1048576
oneOf:
- maximum: 999999
minimum: 0
type: integer
- enum:
- null
- enum:
- unlimited
type: string
- description: 'Whether CGI access is enabled for the hosting plan.
* `1` — Enabled.
* `0` — Disabled.
**Note:**
When a [server profile](https://go.cpanel.net/whmdocsServerProfile) disables
the [Web Server role](https://go.cpanel.net/serverroles#roles), this parameter
defaults to `0`. On these servers, you **cannot** enable CGI access.'
in: query
name: cgi
required: false
schema:
default: 1
enum:
- 1
- 0
example: 1
type: integer
- description: 'The hosting plan''s cPanel theme.
This parameter defaults to the server''s
[default cPanel theme](https://go.cpanel.net/whmdocsBasicasisWebHostManagerSetup).'
in: query
name: cpmod
required: false
schema:
example: jupiter
type: string
- description: 'Whether to enable Digest Authentication for accounts on the hosting plan.
* `1` — Enable.
* `0` — Disable.'
in: query
name: digestauth
required: false
schema:
default: 0
enum:
- 1
- 0
example: 1
type: integer
- description: 'The hosting plan''s feature list.
If you do **not** use this parameter, the function assigns the `default`
feature list to the hosting plan''s accounts.'
in: query
name: featurelist
required: false
schema:
default: default
example: default
type: string
- deprecated: true
description: 'Whether Microsoft® FrontPage Extensions are enabled for the account.
**Note:**
cPanel & WHM ignores all FrontPage settings and parameters.'
in: query
name: frontpage
required: false
schema:
default: 0
enum:
- 1
- 0
example: 0
type: integer
- description: 'Whether the hosting plan allows shell access.
* `1` — The hosting plan allows shell access.
* `0` — The hosting plan does **not** allow shell access.'
in: query
name: hasshell
required: false
schema:
default: 0
enum:
- 1
- 0
example: 1
type: integer
- description: 'Whether the hosting plan uses a dedicated IP address.
* `y` — The hosting plan uses a dedicated IP address.
* `n` — The hosting plan does **not** use a dedicated IP address.'
in: query
name: ip
required: false
schema:
default: n
enum:
- y
- n
example: n
type: string
- description: 'The hosting plan''s default locale.
This parameter defaults to the server''s default locale.'
in: query
name: language
required: false
schema:
example: en
format: ISO-3166-1 (alpha-2)
type: string
- description: 'The percentage of failed or deferred email messages that an account on the
hosting plan can send per hour before outgoing mail is rate-limited.
* `0` or `unlimited` — The hosting plan allows unlimited email messages per hour.'
in: query
name: max_defer_fail_percentage
required: false
schema:
default: unlimited
example: unlimited
oneOf:
- minimum: 0
type: integer
- enum:
- unlimited
type: string
- description: 'The maximum number of emails that the hosting plan allows accounts to send
in one hour.
* `0` or `unlimited` — The hosting plan allows unlimited emails per hour.'
in: query
name: max_email_per_hour
required: false
schema:
default: unlimited
example: unlimited
oneOf:
- maximum: 999999
minimum: 0
type: integer
- enum:
- unlimited
type: string
- description: 'The hosting plan''s maximum email account quota size, in megabytes (MB).
* `0`, `null, or `unlimited` — The hosting plan allows unlimited quota.
**Note:**
* This parameter does **not** affect any existing email accounts.
* The `unlimited` value is **only** available to users that possess
the corresponding `unlimited` ACL permission.'
in: query
name: max_emailacct_quota
required: false
schema:
default: 1024
example: 1024
oneOf:
- maximum: 4294967296
minimum: 0
type: integer
- enum:
- null
- enum:
- unlimited
type: string
- description: The hosting plan's maximum number of Team users.
in: query
name: max_team_users
required: false
schema:
example: 7
maximum: 7
minimum: 0
type:
- integer
- 'null'
- description: 'The hosting plan''s maximum number of addon domains.
* `unlimited` or `null` — The hosting plan allows unlimited
addon domains.'
in: query
name: maxaddon
required: false
schema:
default: 0
example: unlimited
oneOf:
- maximum: 999999
minimum: 0
type: integer
- enum:
- null
- enum:
- unlimited
type: string
- description: 'The hosting plan''s maximum number of FTP accounts.
* `unlimited`, or `null` — The hosting plan allows unlimited databases.'
in: query
name: maxftp
required: false
schema:
default: unlimited
example: unlimited
oneOf:
- maximum: 999999
minimum: 0
type: integer
- enum:
- null
- enum:
- unlimited
type: string
- description: 'The hosting plan''s maximum number of mailing lists.
* `unlimited`, or `null` — The hosting plan allows unlimited
mailing lists.'
in: query
name: maxlst
required: false
schema:
default: unlimited
example: unlimited
oneOf:
- maximum: 999999
minimum: 0
type: integer
- enum:
- null
- enum:
- unlimited
type: string
- description: 'The hosting plan''s maximum number of parked domains (aliases).
* `unlimited` or `null` — The hosting plan allows unlimited parked
domains.'
in: query
name: maxpark
required: false
schema:
default: 0
example: unlimited
oneOf:
- maximum: 999999
minimum: 0
type: integer
- enum:
- null
- enum:
- unlimited
type: string
- description: 'The hosting plan''s maximum number of email accounts.
* `unlimited`, or `null` — The hosting plan allows unlimited
email accounts.'
in: query
name: maxpop
required: false
schema:
default: unlimited
example: unlimited
oneOf:
- maximum: 999999
minimum: 0
type: integer
- enum:
- null
- enum:
- unlimited
type: string
- description: 'The hosting plan''s maximum number of each available type of SQL
database.
For example, if you set this value to `5` and the system administrator
allows MySQL® and PostgreSQL® databases, users with this hosting plan
can create up to five MySQL databases and up to five PostgreSQL databases.
* `unlimited`, or `null` — The hosting plan allows unlimited
databases.'
in: query
name: maxsql
required: false
schema:
default: unlimited
example: unlimited
oneOf:
- maximum: 999999
minimum: 0
type: integer
- enum:
- null
- enum:
- unlimited
type: string
- description: 'The hosting plan''s maximum number of subdomains.
* `unlimited`, or `null` — The hosting plan allows unlimited
subdomains.'
in: query
name: maxsub
required: false
schema:
default: unlimited
example: unlimited
oneOf:
- maximum: 999999
minimum: 0
type: integer
- enum:
- null
- enum:
- unlimited
type: string
- description: 'The hosting plan''s disk space quota, in megabytes (MB).
* `0`, `unlimited`, or `null` — The hosting plan allows unlimited
disk space quota.
**Note:**
The `0`, `unlimited`, or `null` values are **only** available to
users that possess the corresponding `unlimited` ACL permission.'
in: query
name: quota
required: false
schema:
default: 10240
example: 10240
oneOf:
- maximum: 999999
minimum: 0
type: integer
- enum:
- null
- enum:
- unlimited
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
pkg:
description: The new hosting plan's name.
example: package1
type: string
type: object
metadata:
properties:
command:
description: The method name called.
example: editpkg
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update hosting plan
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n editpkg \\\n name='package1'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/editpkg?api.version=1&name=package1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/get_available_applications:
get:
description: 'This function returns the contents of a `dynamicui` file. For more
information, read our
Guide to WHM dynamicui Files
documentation.'
operationId: DynamicUI-get_available_applications
parameters:
- description: 'A comma-separated list of the application entries to return.
To determine the application''s name, find its
[`file` value in the `dynamicui.conf` file](https://go.cpanel.net/GuidetoWHMdynamicuiFiles),
and then remove the file extension.
If you do not specify this value, the function returns the entire `dynamicui.conf`
file.'
in: query
name: applications_list
required: false
schema:
example: create_support_ticket
type: string
- description: The `dynamicui` configuration file to retrieve, relative to the `/usr/local/cpanel/whostmgr/docroot/themes/x/` directory.
in: query
name: file
required: false
schema:
default: dynamicui.conf
example: dynamicui.conf
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
groups:
description: An array of objects containing the file's contents.
items:
$ref: '#/components/schemas/Group'
raw:
description: An array of objects containing the file's raw data for template directives.
items:
$ref: '#/components/schemas/Raw'
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: get_available_applications
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return dynamicui file
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_available_applications\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_available_applications?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '76'
/get_available_featurelists:
get:
deprecated: true
description: '**DEPRECATED:** Use `get_featurelists` instead.
This function lists the authenticated user''s available feature lists.
**Notes:**
* This function is deprecated because it treats a lack of available feature lists as an error for non-admin resellers, which is incorrect behavior.
* When you call this function with the `root` account, it returns **all** feature lists on the server.
* When you call this function with a reseller account, it **only** returns feature lists that the account owns.'
operationId: FeatureLists-get_available_featurelists
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
available_featurelists:
description: An array of available feature lists.
example:
- default
- disabled
- reseller1_test1
items:
example: default
type: string
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: get_available_featurelists
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
examples:
success:
value:
metadata:
command: get_available_featurelists
reason: OK
result: 1
version: 1
data:
available_featurelists:
- default
- disabled
- reseller1_test1
error:
value:
metadata:
command: get_available_featurelists
reason: Unable to retrieve list of available featurelists
result: 0
version: 1
description: HTTP Request was successful.
summary: (Deprecated) Get available feature lists
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_available_featurelists\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_available_featurelists?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.0'
/get_feature_metadata:
get:
description: This function lists the details of the authenticated user's available feature lists.
operationId: FeatureLists-get_feature_metadata
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
features:
description: An array of objects containing information about a feature.
items:
properties:
id:
description: The feature's ID.
example: addondomains
type: string
is_plugin:
description: 'Whether the feature is a plugin.
* `1` — Plugin.
* `0` — **Not** a plugin.'
enum:
- 1
- 0
example: 0
type: integer
name:
description: The feature's name.
example: Addon Domain Manager
type: string
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: get_feature_metadata
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return current user's available feature lists info
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_feature_metadata\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_feature_metadata?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/get_feature_names:
get:
description: This function lists all available features.
operationId: FeatureLists-get_feature_names
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
feature:
description: An array of objects that contain a list of available features.
items:
properties:
id:
description: The feature's ID.
example: sslmanager
type: string
name:
description: The feature's name.
example: SSL Manager
type: string
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: get_feature_names
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return all features
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_feature_names\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_feature_names?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/get_featurelist_data:
get:
description: This function lists features in a specific feature list.
operationId: FeatureLists-get_featurelist_data
parameters:
- description: The feature list for which to list information.
in: query
name: featurelist
required: true
schema:
example: '"Mail Only"'
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
featurelist:
description: The feature list's name.
example: Mail Only
type: string
features:
description: An array of objects containing the feature's information.
items:
properties:
dependencies:
description: List of feature names that are required dependencies for this feature to function properly.
example:
- ssl
- dns
items:
type: string
type: array
id:
description: The feature's ID.
example: email_trace
type: string
name:
description: The feature's name.
example: Email Trace
type: string
is_disabled:
description: 'Whether the feature is disabled.
* `1` — Disabled.
* `0` — **Not** disabled.
**Note:**
* The `disabled` feature list does **not** use this return.
* Users on your server can''t access disabled features. For more
information, read our
[Feature Manager](https://go.cpanel.net/whmdocsFeatureManager)
documentation.'
enum:
- 1
- 0
example: 0
type: integer
is_standalone_experience:
description: 'Whether the system auto-redirects the user to the redirect_url when this feature is enabled. Only one such feature may be enabled for a feature list.
* `1` — The feature supports standalone mode.
* `0` — The feature does not support standalone mode.'
enum:
- 1
- 0
example: 0
type: integer
badge_label:
description: Custom label shown on the feature manager interfaces. This label will be localized into the current users language.
example: Auto Launch
type: string
badge_class:
description: CSS class name to apply styling to the custom label in the feature manager interfaces.
example: label-blue
type: string
required_package_extension:
description: The ID of a package extension this feature depends on. Empty if the feature needs no extension.
example: ai-app-builder
type: string
is_meridian_only:
description: 'Whether this feature is a Meridian (theme-integrated) experience.
* `1` — The feature is Meridian-only.
* `0` — The feature is explicitly **not** Meridian-only.
* `null` — Not explicitly set. The system derives this from
`badge_label` for features shipped before this attribute existed.'
enum:
- 1
- 0
- null
example: null
type:
- integer
- 'null'
redirect_url:
description: The URL where users should be redirected to when logging into cPanel.
example: https://example.com/standalone
type: string
suppress_plugin_label:
description: 'Whether to suppress the display of the standard ''plugin'' label in the feature manager.
* `1` — Hide the plugin label.
* `0` — Show the plugin label.'
enum:
- 1
- 0
example: 0
type: integer
only_one_rules:
description: 'Array of regular expression patterns used to enforce mutual exclusion with other features. When this feature is enabled, any features matching these patterns cannot be enabled simultaneously. This is primarily used for standalone experiences where only one feature should redirect users upon login.
Each pattern in the array is a regular expression that matches against feature IDs. For example, a pattern like `^standalone-.*` would match any feature starting with "standalone-".'
example:
- ^(standalone-email_trace|email_trace)$
- ^standalone-.*$
items:
type: string
type: array
value:
description: 'Whether the feature list includes the feature.
* `1` — The feature list includes this feature.
* `0` — The feature list does **not** include this feature.
**Note:**
The `disabled` feature list uses the **opposite** logic for this return.
* `1` — The `disabled` feature list does **not** include this feature.
* `0` — The `disabled` feature list includes this feature.'
enum:
- 1
- 0
example: 1
type: integer
required:
- id
- is_disabled
- value
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: get_featurelist_data
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return feature list configuration
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_featurelist_data \\\n featurelist='Mail Only'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_featurelist_data?api.version=1&featurelist=%22Mail%20Only%22
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/get_featurelists:
get:
description: 'This function lists the authenticated user''s available feature lists.
**Notes:**
* When you call this function with the `root` account, it returns **all** feature lists on the server.
* When you call this function with a reseller account, it **only** returns feature lists that the account owns.'
operationId: FeatureLists-get_featurelists
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
featurelists:
description: An array of available feature lists.
example:
- default
- disabled
- reseller1_test1
- reseller1_test2
items:
example: default
type: string
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: get_featurelists
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return current user's available feature lists
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_featurelists\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_featurelists?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.52'
/get_featurelists_by_package_types:
get:
description: This function lists features grouped by package type.
operationId: FeatureLists-get_featurelists_by_package_types
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
example:
package_types_feature_lists:
nova:
- __default_nova
- nova_custom
standard:
- Mail Only
- default
- disabled
- basic_plan
properties:
package_types_feature_lists:
description: An object that contains package types as keys and arrays of feature list names as values.
properties:
nova:
description: An array of feature list names associated with this package type.
items:
type: string
type: array
standard:
description: An array of feature list names associated with this package type.
items:
type: string
type: array
required:
- standard
type: object
type: object
metadata:
properties:
command:
description: The method name called.
example: get_featurelists_by_package_types
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return feature lists by package type
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_featurelists_by_package_types\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_featurelists_by_package_types?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/get_users_features_settings:
get:
description: This function lists the features settings of cPanel accounts.
operationId: FeatureLists-get_users_features_settings
parameters:
- description: 'The user''s username.
**Note:**
To check multiple users, increment the parameter name. For example, `user-1`, `user-2`, and `user-3`.'
examples:
multiple:
description: Multiple users.
value: user-1=example1 user-2=example2 user-3=example3
single:
description: A single user.
value: example
in: query
name: user
required: true
schema:
type: string
- description: 'The feature''s name.
**Note:**
* To check multiple features, increment the parameter name. For example, `feature-1`, `feature-2`, and `feature-3`.
* If you use this parameter, you **must** enter a feature name, or the function returns an error. If you do **not** use this parameter, the function returns data for all features on the server.'
examples:
multiple:
description: Multiple feature.
value: feature-1=autossl feature-2=changemx feature-3=addondomains
single:
description: A single feature.
value: autossl
in: query
name: feature
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
users_features_settings:
description: An array of objects that contain information about the feature list settings.
items:
properties:
cpuser_setting:
description: 'The user''s setting for the feature in their `cpuser` file, which overrides the `feature_list_setting` return.
* `1` - Enabled.
* `0` - Disabled.
* `null` — The feature is **not** defined in the feature list.'
enum:
- 1
- 0
example: 1
type:
- integer
- 'null'
feature:
description: The feature name.
example: autossl
type: string
feature_list:
description: The feature list's name.
example: autossl
type: string
feature_list_setting:
description: 'The user''s feature list setting.
* `1` - Enabled.
* `0` - Disabled.'
enum:
- 1
- 0
example: 1
type: integer
user:
description: The user's username.
example: example
format: username
type: string
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: get_users_features_settings
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
type: object
description: HTTP Request was successful.
summary: Return cPanel accounts' feature settings
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_users_features_settings \\\n user='example'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_users_features_settings?api.version=1&user=example
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '58'
/getpkginfo:
get:
description: This function lists a hosting plan's (package's) settings.
operationId: Packages-getpkginfo
parameters:
- description: The hosting plan's name.
in: query
name: pkg
required: true
schema:
example: package1
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
pkg:
description: 'A list of the hosting plan''s settings.
**Note:**
* The function will only return the package''s enabled resources and settings.
* If the account or its hosting plan use package extensions, the list also
includes the extension''s variables.'
properties:
BWLIMIT:
description: 'The hosting plan''s bandwidth limit, in megabytes (MB).
* `unlimited` — The hosting plan allows unlimited bandwidth.'
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited bandwidth.
- enum:
- null
- enum:
- unlimited
type: string
CGI:
description: 'Whether CGI is enabled for the hosting plan.
* `1` — Enabled.
* `0` — Disabled.'
enum:
- 1
- 0
example: 1
type: integer
CPMOD:
description: The hosting plan's cPanel interface theme.
example: jupiter
type: string
DIGESTAUTH:
description: 'Whether the hosting plan enables Digest Authentication.
* `y` — Enabled.
* `n` — Disabled.'
example: n
type: string
FEATURELIST:
description: The hosting plan's [feature list](https://go.cpanel.net/whmdocsFeatureManager).
example: myfeaturelist
type: string
FRONTPAGE:
deprecated: true
description: 'Whether Microsoft® FrontPage Extensions are enabled for the account.
**Note:**
cPanel & WHM ignores all FrontPage settings and parameters.'
enum:
- 1
- 0
example: 0
type: integer
HASSHELL:
description: 'Whether shell access is enabled for the hosting plan.
* `1` — Enabled.
* `0` — Disabled.'
enum:
- 1
- 0
example: 1
type: integer
IP:
description: 'Whether the hosting plan grants accounts a dedicated IP address.
* `1` — Dedicated IP address.
* `0` — Shared IP address.'
enum:
- 1
- 0
example: 1
type: integer
LANG:
description: The hosting plan's locale.
example: en
format: ISO-3166-1 (alpha-2)
type: string
MAXADDON:
description: 'The hosting plan''s maximum number of addon domains.
* `unlimited` — The hosting plan allows unlimited addon domains.'
example: 1
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited addon domains.
- enum:
- null
- enum:
- unlimited
type: string
MAXFTP:
description: 'The hosting plan''s maximum number of FTP accounts.
* `unlimited` — The hosting plan allows unlimited FTP accounts.'
example: 2
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited FTP accounts.
- enum:
- null
- enum:
- unlimited
type: string
MAXLST:
description: 'The hosting plan''s maximum number of mailing lists.
* `unlimited` — The hosting plan allows unlimited mailing lists.'
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited mailing lists.
- enum:
- null
- enum:
- unlimited
type: string
MAXPARK:
description: 'The hosting plan''s maximum number of parked domains (aliases).
* `unlimited` — The hosting plan allows unlimited parked domains.'
example: 1
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited parked domains.
enum:
- unlimited
type: string
MAXPOP:
description: 'The hosting plan''s maximum number of email accounts.
* `unlimited` — The hosting plan allows unlimited email accounts.'
example: 20
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited email accounts.
- enum:
- null
- enum:
- unlimited
type: string
MAXSQL:
description: 'The hosting plan''s maximum number of SQL databases.
* `unlimited` — The hosting plan allows unlimited SQL databases.'
example: 1
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited SQL databases.
- enum:
- null
- enum:
- unlimited
type: string
MAXSUB:
description: 'The hosting plan''s maximum number of subdomains.
* `unlimited` — The hosting plan allows unlimited subdomains.'
example: 5
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited subdomains.
- enum:
- null
- enum:
- unlimited
type: string
MAX_DEFER_FAIL_PERCENTAGE:
description: 'The
[percentage of failed or deferred email messages](https://go.cpanel.net/howtopreventspam)
that the hosting plan can send per hour before the system rate-limits
outgoing mail.
* `unlimited` — The hosting plan allows unlimited email messages.'
example: 10
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited email messages.
enum:
- unlimited
type: string
MAX_EMAILACCT_QUOTA:
description: 'The hosting plan''s maximum email account quota size, in megabytes (MB).
* `unlimited` — The hosting plan allows an unlimited email account quota size.'
example: unlimited
oneOf:
- minimum: 1
type: integer
- description: The hosting plan allows an unlimited email account quota size.
enum:
- unlimited
type: string
MAX_EMAIL_PER_HOUR:
description: 'The [maximum number of emails](https://go.cpanel.net/howtopreventspam)
that the hosting plan can send in one hour.
* `unlimited` — The hosting plan allows unlimited emails per hour.'
example: 100
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited emails per hour.
enum:
- unlimited
type: string
MAX_TEAM_USERS:
description: The hosting plan's maximum number of Team users.
example: 7
maximum: 7
minimum: 0
type:
- integer
- 'null'
QUOTA:
description: "The hosting plan's disk space limit, in megabytes (MB).\n\n * `unlimited` — The hosting plan has unlimited disk space."
example: 100
oneOf:
- minimum: 0
type: integer
- description: The hosting plan has unlimited disk space.
- enum:
- null
- enum:
- unlimited
type: string
_PACKAGE_EXTENSIONS:
description: A list of one or more of the hosting plan's package extensions, if any exist.
example: ''
type: string
type: object
type: object
metadata:
properties:
command:
description: The method name called.
example: getpkginfo
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return hosting plan configuration
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n getpkginfo \\\n pkg='package1'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/getpkginfo?api.version=1&pkg=package1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/killpkg:
get:
description: This function deletes a hosting plan (package).
operationId: Packages-killpkg
parameters:
- description: "The hosting plan's name.\n\n**Note:**\n\n You **cannot** delete a hosting plan that a cPanel account currently uses."
in: query
name: pkgname
required: true
schema:
example: package1
type: string
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: killpkg
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Delete hosting plan
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n killpkg \\\n pkgname='package1'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/killpkg?api.version=1&pkgname=package1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/listpkgs:
get:
description: 'This function lists the authenticated user''s available hosting plans (packages).
**Important:**
This function **only** returns packages that the authenticated user can access and
use during account creation.'
operationId: Packages-listpkgs
parameters:
- description: 'The permissions of packages that you wish to list.
* `all` — All packages on the system.
* `creatable` — Packages that the authenticated user can use for accounts.
* `editable` — Packages that the authenticated user can edit.
* `viewable` — Packages that the authenticated user can view.'
in: query
name: want
required: false
schema:
default: all
enum:
- all
- creatable
- editable
- viewable
example: all
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
pkg:
description: An array of objects that contains hosting plans and their settings.
items:
properties:
BWLIMIT:
description: 'The hosting plan''s bandwidth limit, in megabytes (MB).
* `unlimited` — The hosting plan allows unlimited bandwidth.'
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited bandwidth.
enum:
- unlimited
type: string
CGI:
description: 'Whether CGI is enabled for the hosting plan.
* `y` — Enabled.
* `n` — Disabled.'
enum:
- y
- n
example: y
type: string
CPMOD:
description: The hosing plan's cPanel interface theme.
example: jupiter
type: string
DIGESTAUTH:
description: 'Whether the hosting plan enables Digest Authentication.
* `y` — Enabled.
* `n` — Disabled.'
enum:
- y
- n
example: n
type: string
FEATURELIST:
description: The hosting plan's [feature list](https://go.cpanel.net/whmdocsFeatureManager).
example: myfeaturelist
type: string
HASSHELL:
description: 'Whether shell access is enabled for the hosting plan.
* `y` — Enabled.
* `n` — Disabled.'
enum:
- y
- n
example: n
type: string
IP:
description: 'Whether the hosting plan grants accounts a dedicated IP address.
* `y` — Dedicated IP address.
* `n` — Shared IP address.'
enum:
- y
- n
example: n
type: string
LANG:
description: The hosting plan's locale.
example: en
format: ISO-3166-1 (alpha-2)
type: string
MAXADDON:
description: 'The hosting plan''s maximum number of addon domains.
* `unlimited` — The hosting plan allows unlimited addon domains.'
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited addon domains.
enum:
- unlimited
type: string
MAXFTP:
description: 'The hosting plan''s maximum number of FTP accounts.
* `unlimited` — The hosting plan allows unlimited FTP accounts.'
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited FTP accounts.
enum:
- unlimited
type: string
MAXLST:
description: 'The hosting plan''s maximum number of mailing lists.
* `unlimited` — The hosting plan allows an unlimited number of mailing lists.'
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows an unlimited number of mailing lists.
enum:
- unlimited
type: string
MAXPARK:
description: 'The hosting plan''s maximum number of parked domains (aliases).
* `unlimited` — The hosting plan allows unlimited parked domains.'
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited parked domains.
enum:
- unlimited
type: string
MAXPOP:
description: 'The hosting plan''s maximum number of email accounts.
* `unlimited` — The hosting plan allows unlimited email accounts.'
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited email accounts.
enum:
- unlimited
type: string
MAXSQL:
description: 'The hosting plan''s maximum number of each available type of SQL
database.
For example, if this value is `5`, and the system administrator
allows MySQL® and PostgreSQL® databases, users can create up to
five MySQL databases and up to five PostgreSQL databases.
* `unlimited` — The hosting plan allows unlimited SQL databases.'
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited SQL databases.
enum:
- unlimited
type: string
MAXSUB:
description: 'The hosting plan''s maximum number of subdomains.
* `unlimited` — The hosting plan allows unlimited subdomains.'
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited subdomains.
enum:
- unlimited
type: string
MAX_DEFER_FAIL_PERCENTAGE:
description: 'The
[percentage of failed or deferred email messages](https://go.cpanel.net/howtopreventspam)
that the hosting plan can send per hour before the system rate-limits
outgoing mail.
* `unlimited` — The hosting plan allows unlimited email messages.'
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited email messages.
enum:
- unlimited
type: string
MAX_EMAILACCT_QUOTA:
description: 'The hosting plan''s maximum email account quota size, in megabytes (MB).
* `unlimited` — The hosting plan allows an unlimited email account quota size.'
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows an unlimited email account quota size.
enum:
- unlimited
type: string
MAX_EMAIL_PER_HOUR:
description: 'The
[maximum number of emails](https://go.cpanel.net/howtopreventspam)
that the hosting plan can send in one hour.
* `unlimited` — The hosting plan allows unlimited emails per hour.'
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited emails per hour.
enum:
- unlimited
type: string
MAX_TEAM_USERS:
description: The hosting plan's maximum number of Team users.
example: 7
maximum: 7
minimum: 0
type:
- integer
- 'null'
QUOTA:
description: 'The hosting plan''s disk space limit, in megabytes (MB).
* `unlimited` — The hosting plan allows unlimited disk space.'
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited disk space.
enum:
- unlimited
type: string
_PACKAGE_EXTENSIONS:
description: A space-separated list of one or more of the hosting plan's package extensions, if any exist.
example: ''
type: string
name:
description: The hosting plan's name.
example: package1
type: string
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: listpkgs
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return current user's available hosting plans
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n listpkgs\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/listpkgs?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/manage_features:
get:
description: 'This function lists and manages items in the
Feature Showcase.
**Note:**
* This function''s output changes, depending on which value you pass to the `action` parameter.
* The example in this document displays the function''s return when the `action`
parameter value is `info`.'
operationId: ManageFeatures-manage_features
parameters:
- description: 'The function''s action.
* `info` — List full details for all available features.
* `list` — List the feature IDs for all available features.
* `enable` — Enable the feature or features called in the `features` parameter.
* `disable` — Disable the feature or features called in the `features` parameter.'
in: query
name: action
required: true
schema:
enum:
- info
- list
- enable
- disable
example: info
type: string
- description: 'The feature''s ID.
**Note:**
You **must** use this parameter if you pass the `enable` or `disable` value for
the `action` parameter.'
in: query
name: features
required: false
schema:
example: features_example1
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
example:
feature:
- description: This feature does things.
enabled: 1
feature_key: featured_example1
link: https://go.cpanel.net/featureshowcasefeatured_example1
name: Featured Example 1
recommended: 1
vendor: Third Party, Inc.
- description: This feature also does things.
enabled: 1
feature_key: featured_example2
link: https://go.cpanel.net/featureshowcasefeatured_example2
name: Featured Example 2
recommended: 1
vendor: WebPros International, LLC
properties:
action:
description: 'An array of objects containing feature information.
**Note:**
The function **only** returns this array if you pass the `enabled`
or `disabled` values to the `action` parameter.'
items:
properties:
feature:
description: The feature's ID.
example: mysql8
type: string
status:
description: The feature's state.
example: Successfully performed 'enable' for mysql8
type: string
type: object
type: array
feature:
description: 'An array of objects containing feature information.
**Note:**
The function **only** returns this array if you pass the `info`
or `list` values to the `action` parameter.'
items:
properties:
description:
description: 'The feature''s description.
**Note:**
The function **only** returns this value if you pass the `info`
value to the `action` parameter.'
example: MySQL® 8 is now available in cPanel and WHM for all supported operated operating systems. For more information, read our documentation (https://go.cpanel.net/whmdocsUpgradeDBVersion).
type: string
enabled:
description: 'Whether the feature is enabled.
* `1` — Enabled.
* `0` — Disabled.
**Note:**
The function **only** returns this value if you pass the `info`
or `list` values to the `action` parameter.'
enum:
- 1
- 0
example: 0
type: integer
feature_key:
description: 'The feature''s ID.
**Note:**
The function **only** returns this value if you pass the `info`
or `list` values to the `action` parameter.'
example: mysql8
type: string
link:
description: 'The feature''s documentation link.
**Note:**
The function **only** returns this value if you pass the `info`
value to the `action` parameter.'
example: https://go.cpanel.net/whmdocsUpgradeDBVersion
format: url
type: string
name:
description: 'The feature''s name.
**Note:**
The function **only** returns this value if you pass the `info`
value to the `action` parameter.'
example: MySQL® 8 Now Available For Upgrade
type: string
recommended:
description: 'Whether we recommend that you install the feature.
* `1` — Recommended.
* `0` — **Not** recommended.
**Note:**
The function **only** returns this value if you pass the `info`
value to the `action` parameter.'
enum:
- 1
- 0
example: 0
type: integer
vendor:
description: 'The feature''s vendor.
**Note:**
The function **only** returns this value if you pass the `info`
value to the `action` parameter.'
example: WebPros International, LLC
type: string
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: manage_features
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update Feature Showcase
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n manage_features \\\n action='info'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/manage_features?api.version=1&action=info
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.32'
/matchpkgs:
get:
description: 'This function matches the server''s hosting plans (packages) against
your criteria.
**Note:**
If you do not include **any** input parameters, the function lists **all** of
the server''s packages.'
operationId: Packages-matchpkgs
parameters:
- description: A space-separated list of one or more of the hosting plan's package extensions.
in: query
name: _PACKAGE_EXTENSIONS
required: false
schema:
example: '''ext1 ext2 ext3'''
type: string
- description: 'The hosting plan''s bandwidth limit.
* `unlimited` — The hosting plan allows unlimited bandwidth.'
in: query
name: BWLIMIT
required: false
schema:
example: unlimited
oneOf:
- format: megabytes
minimum: 0
type: integer
- description: The hosting plan allows unlimited bandwidth.
enum:
- unlimited
type: string
- description: 'Whether CGI is enabled for the hosting plan.
* `1` — Enabled.
* `0` — Disabled.'
in: query
name: CGI
required: false
schema:
enum:
- 1
- 0
example: 1
type: integer
- description: The hosting plan's cPanel interface theme.
in: query
name: CPMOD
required: false
schema:
example: jupiter
type: string
- description: 'Whether the hosting plan enables Digest Authentication.
* `y` — Enabled.
* `n` — Disabled.'
in: query
name: DIGESTAUTH
required: false
schema:
enum:
- y
- n
example: n
type: string
- description: The hosting plan's [feature list](https://go.cpanel.net/whmdocsFeatureManager).
in: query
name: FEATURELIST
required: false
schema:
example: myfeaturelist
type: string
- description: 'Whether shell access is enabled for the hosting plan.
* `1` — Enabled
* `0` — Disabled.'
in: query
name: HASSHELL
required: false
schema:
enum:
- 1
- 0
example: 1
type: integer
- description: 'Whether the hosting plan grants accounts a dedicated IP address.
* `y` — Dedicated IP address.
* `n` — Shared IP address.'
in: query
name: IP
required: false
schema:
enum:
- y
- n
example: n
type: string
- description: The hosting plan's locale.
in: query
name: LANG
required: false
schema:
example: en
format: ISO-3166-1 (alpha-2)
type: string
- description: 'The
[percentage of failed or deferred email messages](https://go.cpanel.net/howtopreventspam)
that the hosting plan can send per hour before the system rate-limits
outgoing mail.
* `unlimited` — The hosting plan allows unlimited email messages.'
in: query
name: MAX_DEFER_FAIL_PERCENTAGE
required: false
schema:
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited email messages.
enum:
- unlimited
type: string
- description: 'The [maximum number of emails](https://go.cpanel.net/howtopreventspam)
that the hosting plan can send in one hour.
* `unlimited` — The hosting plan allows unlimited emails per hour.'
in: query
name: MAX_EMAIL_PER_HOUR
required: false
schema:
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited emails per hour.
enum:
- unlimited
type: string
- description: 'The hosting plan''s maximum email account quota size, in megabytes (MB).
* `unlimited` — The hosting plan allows an unlimited email account quota size.'
in: query
name: MAX_EMAILACCT_QUOTA
required: false
schema:
example: unlimited
oneOf:
- format: megabytes
minimum: 1
type: integer
- description: The hosting plan allows an unlimited email account quota size.
enum:
- unlimited
type: string
- description: The hosting plan's maximum number of Team users.
in: query
name: MAX_TEAM_USERS
required: false
schema:
example: 7
maximum: 7
minimum: 0
type:
- integer
- 'null'
- description: 'The hosting plan''s maximum number of addon domains.
* `unlimited` — The hosting plan allows unlimited addon domains.'
in: query
name: MAXADDON
required: false
schema:
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited addon domains.
enum:
- unlimited
type: string
- description: 'The hosting plan''s maximum number of FTP accounts.
* `unlimited` — The hosting plan allows for unlimited FTP accounts.'
in: query
name: MAXFTP
required: false
schema:
example: 2
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows for unlimited FTP accounts.
enum:
- unlimited
type: string
- description: 'The hosting plan''s maximum number of mailing lists.
* `unlimited` — The hosting plan allows an unlimited number of mailing lists.'
in: query
name: MAXLST
required: false
schema:
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows an unlimited number of mailing lists.
enum:
- unlimited
type: string
- description: 'The hosting plan''s maximum number of parked domains (aliases).
* `unlimited` — The hosting plan allows unlimited parked domains.'
in: query
name: MAXPARK
required: false
schema:
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited parked domains.
enum:
- unlimited
type: string
- description: 'The hosing plan''s maximum number of email accounts.
* `unlimited` — The hosting plan''s can create unlimited email accounts.'
in: query
name: MAXPOP
required: false
schema:
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan's can create unlimited email accounts.
enum:
- unlimited
type: string
- description: 'The hosting plan''s maximum number of SQL databases.
* `unlimited` — The hosting plan allows unlimited SQL databases.'
in: query
name: MAXSQL
required: false
schema:
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited SQL databases.
enum:
- unlimited
type: string
- description: 'The hosting plan''s maximum number of subdomains.
* `unlimited` — The hosting plan allows unlimited subdomains.'
in: query
name: MAXSUB
required: false
schema:
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited subdomains.
enum:
- unlimited
type: string
- description: 'The hosting plan''s disk space limit.
* `unlimited` — The hosting plan has unlimited disk space.'
in: query
name: QUOTA
required: false
schema:
example: unlimited
oneOf:
- format: megabytes
minimum: 0
type: integer
- description: The hosting plan has unlimited disk space.
enum:
- unlimited
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
pkg:
description: A list of hosting plan settings.
properties:
BWLIMIT:
description: 'The hosting plan''s bandwidth limit, in megabytes (MB).
* `unlimited` — The hosting plan allows unlimited bandwidth.'
example: unlimited
oneOf:
- format: megabytes
minimum: 0
type: integer
- description: The hosting plan allows unlimited bandwidth.
enum:
- unlimited
type: string
CGI:
description: 'Whether CGI is enabled for the hosting plan.
* `1` — Enabled.
* `0` — Disabled.'
enum:
- 1
- 0
example: 1
type: integer
CPMOD:
description: The hosting plan's cPanel interface theme.
example: jupiter
type: string
DIGESTAUTH:
description: 'Whether the hosting plan enables Digest Authentication.
* `y` — Enable.
* `n` — Disable.'
enum:
- y
- n
example: y
type: string
FEATURELIST:
description: 'The hosting plan''s
[feature list](https://go.cpanel.net/whmdocsFeatureManager).'
example: myfeaturelist
type: string
FRONTPAGE:
default: 0
deprecated: true
description: 'Whether Microsoft® FrontPage Extensions are enabled for the account.
**Note:**
cPanel & WHM ignores all FrontPage settings and parameters.'
enum:
- 0
example: 0
type: integer
HASSHELL:
description: 'Whether shell access is enabled for the hosting plan.
* `y` — Enabled. * `n` — Disabled.'
enum:
- y
- n
example: n
type: string
IP:
description: 'Whether the hosting plan grants accounts a dedicated IP address.
* `y` — Dedicated IP address.
* `n` — Shared IP address.'
enum:
- y
- n
example: n
type: string
LANG:
description: The hosting plan's locale.
example: en
format: ISO-3166-1 (alpha-2)
type: string
MAXADDON:
description: 'The hosting plan''s maximum number of addon domains.
* `unlimited` — The hosting plan allows unlimited addon domains.'
example: 1
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited addon domains.
enum:
- unlimited
type: string
MAXFTP:
description: 'The hosting plan''s maximum number of FTP accounts.
* `unlimited` — The hosting plan allows for unlimited FTP accounts.'
example: unlimited
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows for unlimited FTP accounts.
enum:
- unlimited
type: string
MAXLST:
description: 'The hosting plan''s maximum number of mailing lists.
* `unlimited` — The hosting plan allows an unlimited number of mailing lists.'
example: 5
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows an unlimited number of mailing lists.
enum:
- unlimited
type: string
MAXPARK:
description: 'The hosting plan''s maximum number of parked domains.
* `unlimited` — The hosting plan allows unlimited parked domains.'
example: 1
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited parked domains.
enum:
- unlimited
type: string
MAXPOP:
description: 'The hosting plan''s maximum number of email accounts.
* `unlimited` — The hosting plan''s can create unlimited email accounts.'
example: 20
oneOf:
- minimum: 0
type: integer
- description: The hosting plan's can create unlimited email accounts.
enum:
- unlimited
type: string
MAXSQL:
description: 'The hosting plan''s maximum number of SQL databases.
* `unlimited` — The hosting plan allows unlimited SQL databases.'
example: 1
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited SQL databases.
enum:
- unlimited
type: string
MAXSUB:
description: 'The hosting plan''s maximum number of subdomains.
* `unlimited` — The hosting plan allows unlimited subdomains.'
example: 5
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited subdomains.
enum:
- unlimited
type: string
MAX_DEFER_FAIL_PERCENTAGE:
description: 'The
[percentage of failed or deferred email messages](https://go.cpanel.net/howtopreventspam)
that the hosting plan can send per hour before outgoing mail is rate-limited.
* `unlimited` — The hosting plan allows unlimited email messages.'
example: 10
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited email messages.
enum:
- unlimited
type: string
MAX_EMAILACCT_QUOTA:
description: 'The maximum size that the account can define when it
creates an email account.
* `unlimited` — The hosting plan allows an unlimited email account quota size.'
example: unlimited
oneOf:
- format: megabytes
minimum: 0
type: integer
- description: The hosting plan allows an unlimited email account quota size.
enum:
- unlimited
type: string
MAX_EMAIL_PER_HOUR:
description: 'The [maximum number of emails](https://go.cpanel.net/howtopreventspam)
that the hosting plan can send in one hour.
* `unlimited` — The hosting plan allows unlimited emails per hour.'
example: 100
oneOf:
- minimum: 0
type: integer
- description: The hosting plan allows unlimited emails per hour.
enum:
- unlimited
type: string
QUOTA:
description: 'The hosting plan''s disk space limit.
* `unlimited` — The hosting plan has unlimited disk space.'
example: 100
oneOf:
- format: megabytes
minimum: 0
type: integer
- description: The hosting plan has unlimited disk space.
enum:
- unlimited
type: string
_PACKAGE_EXTENSIONS:
description: A list of one or more of the hosting plan's package extensions.
example: ext1 ext2 ext3
type: string
type: object
type: object
metadata:
properties:
command:
description: The method name called.
example: matchpkgs
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` – Success.
* `0` – Failed. Check the `reason` field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return filtered hosting plans
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n matchpkgs\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/matchpkgs?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/read_featurelist:
get:
deprecated: true
description: '**DEPRECATED:** Use `get_featurelist_data` instead.
This function reads a feature list and returns a hash that maps feature IDs to values indicating whether each feature is enabled.
**Notes:**
* The function requires the `featurelist` parameter to specify which feature list to read.
* Access is controlled based on user permissions. Resellers can only access their own feature lists.'
operationId: FeatureLists-read_featurelist
parameters:
- description: The name of the feature list to read.
example: default
in: query
name: featurelist
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
featurelist:
description: The name of the feature list that was read.
example: default
type: string
features:
additionalProperties:
description: Feature enabled status. `1` indicates enabled, `0` indicates disabled.
enum:
- 0
- 1
type: integer
description: A map of feature IDs to their enabled status.
example:
addondomains: 1
changemx: 1
webmail: 0
ssl: 1
type: object
type: object
metadata:
properties:
command:
description: The method name called.
example: read_featurelist
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
examples:
success:
value:
metadata:
command: read_featurelist
reason: OK
result: 1
version: 1
data:
featurelist: default
features:
addondomains: 1
changemx: 1
webmail: 1
ssl: 1
error_no_featurelist:
value:
metadata:
command: read_featurelist
reason: No featurelist name specified.
result: 0
version: 1
error_access_denied:
value:
metadata:
command: read_featurelist
reason: 'Unable to access featurelist specified: "unauthorized_list"'
result: 0
version: 1
error_not_found:
value:
metadata:
command: read_featurelist
reason: 'Specified featurelist does not exist: "nonexistent"'
result: 0
version: 1
description: HTTP Request was successful.
summary: (Deprecated) Read feature list settings
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n read_featurelist \\\n featurelist='default'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/read_featurelist?api.version=1&featurelist=default
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.0'
/remove_override_features_for_user:
get:
description: This function removes feature overrides from a cPanel account.
operationId: Accounts-remove_override_features_for_user
parameters:
- content:
application/json:
schema:
example:
- sslinstall
- videotut
items:
type: string
type: array
description: 'An array that contains the features'' names.
**Note:**
* Call WHM API 1''s `get_feature_names` function to view available features.'
in: query
name: features
required: true
- description: The user's username.
in: query
name: user
required: true
schema:
example: username
format: username
type: string
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: remove_override_features_for_user
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Remove cPanel account feature list overrides
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n remove_override_features_for_user \\\n user='username' \\\n features='[\"sslinstall\",\"videotut\"]'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/remove_override_features_for_user?api.version=1&user=username&features=%5b%22sslinstall%22%2c%22videotut%22%5d
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '56'
/update_featurelist:
get:
description: This function creates or updates a feature list.
operationId: FeatureLists-update_featurelist
parameters:
- description: The feature list's name.
in: query
name: featurelist
required: true
schema:
example: TheBlackLagoon
type: string
- description: "Whether to include the feature in the feature list.\n\n**Notes:**\n\n This parameter's name is the feature's name. If you do not specify any features, the system will disable all features in the feature list."
in: query
name: feature name
required: false
schema:
enum:
- 0
- 1
example: 1
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
featurelist:
description: The feature list's name. A valid string.
example: TheBlackLagoon
type: string
invalid_features:
description: An array of invalid feature names. This array includes the invalid feature return.
items:
properties:
invalid feature:
description: "Whether the feature exists in the feature list.\n\n**Note:**\n\n The feature's name is the return's name.\n- 1 The feature exists in the feature list.\n- 0 The feature does not exist in the feature list."
enum:
- 0
- 1
example: 1
type: integer
type: object
type: array
updated_features:
description: hash of features in the feature list. This hash includes the feature name return.
properties:
autoresponders: {}
feature name:
description: "Whether the feature exists in the feature list.\n\n**Note:**\n\n The feature's name is the return's name.\n- 1 The feature exists in the feature list.\n- 0 The feature does not exist in the feature list."
enum:
- 0
- 1
example: 1
type: integer
type: object
type: object
metadata:
properties:
command:
description: The method name called.
example: update_featurelist
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update feature list
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n update_featurelist \\\n featurelist='TheBlackLagoon'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/update_featurelist?api.version=1&featurelist=TheBlackLagoon
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/verify_user_has_feature:
get:
description: This function checks whether a user has access to a feature on a feature list.
operationId: Accounts-verify_user_has_feature
parameters:
- description: 'The feature''s ID.
**Note:**
Call WHM API 1''s `get_feature_names` function to view available features.'
in: query
name: feature
required: true
schema:
example: sslinstall
type: string
- description: The cPanel account username.
in: query
name: user
required: true
schema:
example: username
format: username
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
has_feature:
description: 'Whether the user can access the feature.
* `1` — The user can access the feature.
* `0` — The user **cannot** access the feature.
**Note:**
This function returns a `1` value for any feature that does **not** exist in
a [feature list](https://go.cpanel.net/whmdocsFeatureManager). This is because
the system presumes users have access to features that exist outside of the
system''s feature lists.'
enum:
- 0
- 1
example: 1
type: integer
query_feature:
description: The queried feature's ID.
example: sslinstall
type: string
type: object
metadata:
properties:
command:
description: The method name called.
example: verify_user_has_feature
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return cPanel account feature access
tags:
- Packages
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n verify_user_has_feature \\\n user='username' \\\n feature='sslinstall'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/verify_user_has_feature?api.version=1&user=username&feature=sslinstall
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '56'
components:
schemas:
Role:
anyOf:
- properties:
match:
description: 'Whether to require all roles in the roles parameter to match the server''s roles.
* `all` - Require the server to match all roles in the roles parameter to display the feature. (AND condition)
* `any` - Require the server to match any role in the roles parameter to display the feature. (OR condition)'
enum:
- any
example: any
type: string
roles:
description: The array of role names.
example:
- MailLocal
- MailSend
items:
type: string
type: array
type: object
- example: MailSend
type: string
description: 'The feature''s server role.
**Warning:**
The server creates this parameter automatically. Do **not** edit this parameter''s value. We do **not** support customizations to this parameter.
**Note:**
* The icon only appears in the interface if the server configuration uses this role.
* For more information about roles and server configurations, read our [How to Use Server Profiles](https://go.cpanel.net/howtouseserverprofiles) documentation.'
Image:
description: An individual WHM feature.
properties:
acl:
description: 'The feature''s Access Control Lists (ACLs).
**Note:**
* Only WHM users who possess the specified ACLs can view or use the item.
* System administrators can configure users'' ACLs in WHM''s [*Edit Reseller Nameservers and Privileges*](https://go.cpanel.net/whmdocsEditResellerNameserversandPrivileges) interface (*WHM >> Home >> Resellers >> Edit Reseller Nameservers and Privileges*).
* For a complete list of available ACLs, read our [Guide to WHM Plugins - ACL Reference Chart](https://go.cpanel.net/ACLReferenceChart) documentation.'
example: ACL=all
type:
- string
- 'null'
description:
description: 'The feature''s description that displays when the feature appears on the WHM Home interface.
**Note:**
You can localize this string to display it in the user''s preferred language in the WHM interface. For more information, read our [Guide to Locales](https://go.cpanel.net/guide-to-locales) documentation.'
example: View and manage reseller accounts on your server. Resellers manage other [asis,cPanel] accounts and can access [asis,cPanel].
type: string
dnsonly_ok:
description: 'The group''s status for [cPanel DNSOnly](https://go.cpanel.net/cpanel-dnsonly)™ servers.
* `dns` - The group appears on cPanel DNSOnly servers.
* `` - The group does not appear on cPanel DNSOnly servers.'
enum:
- dns
example: dns
type:
- string
- 'null'
file:
description: 'The icon file to display for the group.
**Note:**
* Icons for any WHM plugins exist separately from the server''s theme. For more information, read our [Guide to WHM Plugins - Plugin Files](https://go.cpanel.net/whmpluginfiles) documentation.
* A valid `.png` or `.svg` image file, relative to the theme''s icon directory.'
example: feature_name.png
type: string
group:
description: The group in which the item appears. This is a value of an existing group object.
example: group_name
type: string
imgtype:
description: 'The feature''s image type.
* `icon` - The only possible value.'
enum:
- icon
example: icon
type: string
itemdesc:
description: 'The feature''s display name.
**Note:**
* You can localize this string to display it in the user''s preferred language in the WHM interface. For more information, read our [Guide to Locales](https://go.cpanel.net/guide-to-locales) documentation.
* This should be a [Template Toolkit](https://go.cpanel.net/tmpltoolkit) directive.'
example: $LANG{'Feature Name'}
type: string
itemorder:
description: 'The feature''s display order within its group.
**Note:**
Lower values appear earlier in the group.'
example: 1
minimum: 1
type: integer
key:
description: 'A key to uniquely identify WHM interfaces and their associated assets for the [cPanel Analytics](https://go.cpanel.net/analytics) program.
**Note:**
Generally, this value matches the `file` parameter''s value without the file''s extension.'
example: feature_name
type: string
minimum_accounts_needed:
description: The minimum number of accounts required to display the feature icon.
example: 2
minimum: 1
type: integer
multiuser_required:
description: 'Whether the server allows for the creation of more than a single user.
* `1` — Display the feature icon.
* `0` — Do **not** display the feature icon.
**Note:**
You **cannot** use this parameter on servers with a [cPanel Solo License](https://go.cpanel.net/cpanel-solo-license).'
enum:
- 1
example: 1
type: integer
role:
$ref: '#/components/schemas/Role'
searchtext:
description: A list search terms for the feature, space delimited.
example: search keywords
type: string
service:
$ref: '#/components/schemas/Service'
subitems:
items:
$ref: '#/components/schemas/Subitem'
type: array
subtype:
description: 'The icon type to use.
* `img` - The only possible value.'
enum:
- img
example: img
type: string
target:
description: 'The area of the interface in which the feature appears.
A valid HTML `` target attribute.'
example: _blank
type: string
type:
description: 'The object''s type.
* `image` - The only possible value.'
enum:
- image
example: image
type: string
url:
description: The feature's interface location. This path is relative to the `/usr/local/cpanel/` directory.
example: /example_plugin/feature_name
format: url-path
type: string
required:
- type
- acl
- description
- dnsonly_ok
- file
- group
- itemorder
- url
type: object
Service:
description: 'The [cPanel Service Daemon](https://go.cpanel.net/ThecPanelWHMServiceDaemons) that monitors the feature.
**Warning:**
The server creates this parameter automatically. Do **not** edit this parameter''s value. We do not support customizations to this parameter.
**Note:**
* This icon only appears on servers with the service enabled.
* For a complete list of service daemons, read our [cPanel Service Daemons](https://go.cpanel.net/ThecPanelWHMServiceDaemons) documentation.'
example: mysql
oneOf:
- properties:
match:
description: 'Whether to require all services in the services parameter to match enabled services on the server.
* `all` - Require the server to match **all** services under the `services` key to display the feature. (AND condition)
* `any` - Require the server to match any service under the `services` key to display the feature. (OR condition)'
enum:
- any
example: any
type: string
services:
description: An array of services.
example:
- mysql
- ftp
items:
type: string
type: array
type: object
- example: mysql
type: string
Raw:
description: Raw data for template directives.
properties:
itemdesc:
description: A valid [Template Toolkit](https://go.cpanel.net/tmpltoolkit) directive.
example: '[% PROCESS ''menu/plugins_list.tmpl'' target=''mainFrame'' -%]'
type: string
type:
description: 'The object''s type.
* `raw` - The only possible value. Raw data for template directives.'
enum:
- raw
example: raw
type: string
required:
- type
- itemdesc
type: object
Group:
description: A group of features.
properties:
acl:
description: 'The group''s Access Control Lists (ACLs).
**Note:**
* Only WHM users who possess the specified ACLs can view or use the item.
* System administrators can configure users'' ACLs in WHM''s [*Edit Reseller Nameservers and Privileges*](https://go.cpanel.net/whmdocsEditResellerNameserversandPrivileges) interface (*WHM >> Home >> Resellers >> Edit Reseller Nameservers and Privileges*).
* For a complete list of available ACLs, read our [Guide to WHM Plugins - ACL Reference Chart](https://go.cpanel.net/ACLReferenceChart) documentation.'
example: ACL=all
type:
- string
- 'null'
dnsonly_ok:
description: 'The group''s status for [cPanel DNSOnly](https://go.cpanel.net/cpanel-dnsonly)™ servers.
* `dns` - The group appears on cPanel DNSOnly servers.
* `` - The group does not appear on cPanel DNSOnly servers.'
enum:
- dns
example: dns
type:
- string
- 'null'
file:
description: 'The icon file to display for the group.
**Note:**
* Icons for any WHM plugins exist separately from the server''s theme. For more information, read our [Guide to WHM Plugins - Plugin Files](https://go.cpanel.net/whmpluginfiles) documentation.
* A valid `.png` or `.svg` image file, relative to the theme''s icon directory.'
example: feature_name.png
type: string
group:
description: The group name.
example: group_name
type: string
groupdesc:
description: 'The group''s display name.
**Note:**
You can localize this string to display it in the user''s preferred language in the WHM interface. For more information, read our [Guide to Locales](https://go.cpanel.net/guide-to-locales) documentation'
example: $LANG{'Group Name'}
type: string
grouporder:
description: 'The group''s display order in the WHM interface.
**Note:**
Lower values appear at the top of the interface'
example: 1
minimum: 1
type: integer
imgtype:
description: 'The group''s image type.
* `icon` - The only possible value.'
enum:
- icon
example: icon
type: string
items:
items:
$ref: '#/components/schemas/Image'
type: array
key:
description: 'A key to uniquely identify WHM interfaces and their associated assets for the [cPanel Analytics](https://go.cpanel.net/analytics) program.
**Note:**
Generally, this value matches the `file` parameter''s value without the file''s extension.'
example: feature_name
type: string
searchtext:
description: A list of the group's search terms, space delimited.
example: search keywords
type: string
subtype:
description: 'The icon type to use.
* `img` - The only possible value.'
enum:
- img
example: img
type: string
target:
description: 'The area of the interface in which the feature appears.
A valid HTML `` target attribute.'
example: _blank
type: string
type:
description: The object's type.
example: group
type: string
required:
- type
- acl
- dnsonly_ok
- file
- group
- groupdesc
- grouporder
type: object
Subitem:
description: A subsection of an individual WHM feature.
properties:
acl:
description: 'The subitem''s Access Control Lists (ACLs).
**Note:**
* Only WHM users who possess the specified ACLs can view or use the item.
* System administrators can configure users'' ACLs in WHM''s [*Edit Reseller Nameservers and Privileges*](https://go.cpanel.net/whmdocsEditResellerNameserversandPrivileges) interface (*WHM >> Home >> Resellers >> Edit Reseller Nameservers and Privileges*).
* For a complete list of available ACLs, read our [Guide to WHM Plugins - ACL Reference Chart](https://go.cpanel.net/ACLReferenceChart) documentation.'
example: ACL=all
type:
- string
- 'null'
breadcrumb:
description: 'A subitem''s parent feature''s location.
* The system uses this value to generate breadcrumbs at the top of each WHM interface.
* The subitem''s parent feature''s `url` value.'
example: /example_plugin/feature_name
format: url-path
type: string
dnsonly_ok:
description: 'The subitem''s status for [cPanel DNSOnly](https://go.cpanel.net/cpanel-dnsonly)™ servers.
* `dns` - The subitem appears on cPanel DNSOnly servers.
* `` - The subitem does not appear on cPanel DNSOnly servers.'
enum:
- dns
example: dns
type:
- string
- 'null'
file:
description: 'The icon file to display for the subitem.
**Note:**
* Icons for any WHM plugins exist separately from the server''s theme. For more information, read our [Guide to WHM Plugins - Plugin Files](https://go.cpanel.net/whmpluginfiles) documentation.
* A valid `.png` or `.svg` image file, relative to the theme''s icon directory.'
example: feature_name.png
type: string
group:
description: The group in which the subitem appears. This is a value of an existing group object.
example: group_name
type: string
itemdesc:
description: 'The subitem''s display name.
**Note:**
* You can localize this string to display it in the user''s preferred language in the WHM interface. For more information, read our [Guide to Locales](https://go.cpanel.net/guide-to-locales) documentation.'
example: $LANG{'Feature Name'}
type: string
key:
description: 'A key to uniquely identify WHM interfaces and their associated assets for the [cPanel Analytics](https://go.cpanel.net/analytics) program.
**Note:**
Generally, this value matches the `file` parameter''s value without the file''s extension.'
example: feature_name
type: string
parent:
description: The subitem's parent feature's display order in the WHM interface. This is the parent feature's `itemorder` value.
example: 1
minimum: 1
type: integer
searchtext:
description: A list search terms for the subitem, space delimited.
example: search keywords
type: string
target:
description: 'The area of the interface in which the subitem displays.
A valid HTML `` target attribute.'
example: _blank
type: string
type:
description: 'The object''s type.
* `subitem` - The only possible value.'
enum:
- subitem
example: subitem
type: string
url:
description: The subitem's interface location. This path is relative to the `/usr/local/cpanel/` directory.
example: /example_plugin/feature_name
format: url-path
type: string
required:
- type
- acl
- breadcrumb
- dnsonly_ok
- file
- group
- parent
- url
type: object
securitySchemes:
BasicAuth:
scheme: basic
type: http
externalDocs:
url: https://cpanel.net/developers/
x-tagGroups:
- name: Account Restoration
tags:
- Restore Account
- Restore Queue Management
- Restore Queue Reporting
- name: Accounts
tags:
- Account Creation
- Account Enhancements
- Account Management
- Bandwidth and Disk Quotas
- Domain Information
- Passwords
- Styles
- Suspensions
- name: API Development Tools
tags:
- API Execution
- API Statistics
- API Token Management
- Applications
- Session
- name: Authentication
tags:
- Authentication Providers
- External Authentication
- Login URL
- SSH Keys and Connections
- Two-Factor Authentication
- name: Backups
tags:
- Backup Destination
- Backup or Restore
- Backup Settings
- Legacy Migration
- name: Commerce Integration
tags:
- Market Integration
- Sitejet
- name: cPanel Market
tags:
- Product Management
- Provider Management
- name: cPanel Support Tickets
tags:
- Support Access
- Ticket Management
- name: Customizations
tags:
- Brand
- Customizations
- name: Databases
tags:
- Manage MySQL Server
- MySQL Databases
- PostgreSQL Databases
- Remote MySQL Databases
- name: DNS
tags:
- DNS Cluster Settings
- DNS Security
- DNS Zones
- Domain Management
- Domain Management
- Resolvers
- Service Records
- name: Hosting Plans
tags:
- Feature Access
- Feature Lists
- Hosting Plan Extensions
- Hosting Plans
- name: InProductSurvey
tags:
- InProductSurvey
- name: Integrations
tags:
- API Authentication
- Links
- Scripts Hooks
- name: IP Address Management
tags:
- IPv4 Address Settings
- IPv6 Address Settings
- Network Address Translation
- name: Login Security (cPHulk)
tags:
- Management
- Reporting
- Settings
- name: Logs
tags:
- Web Log Retention
- name: Mail
tags:
- cPanel Account Mail Management
- Mail DNS Settings
- Mail Server Settings
- Spam Management
- Spam Protection (Greylisting)
- name: Monitoring
tags:
- 360 Monitoring
- name: NGINX Manager
tags:
- NGINX Manager
- name: Resellers
tags:
- Account Enhancement Limit
- Account Limits
- Account Permissions
- Account Settings
- Reseller Account Management
- name: Security
tags:
- WHM Access
- name: Server Administration
tags:
- Configuration Clusters
- Configurations
- Connected Applications
- Connections
- cPanel Analytics
- License Management
- Notifications
- Plugin-Based Features
- Security
- Server Nodes
- Server Profiles
- Services
- System Information
- Updates
- name: SSL Certificates
tags:
- Auto-Generated Certificates
- cPanel Account Settings
- SSL Server Settings
- name: System Package Management
tags:
- Install or Uninstall Package
- List Package Information
- Package Manager Settings
- name: Transfers
tags:
- cPanel Account Transfer
- Transfer Configuration
- Transfer Monitoring
- name: UserData
tags:
- UserData
- name: Web Server Configuration
tags:
- EasyApache Settings
- PHP
- PHP-FPM
- name: Web Server Security (ModSecurity)
tags:
- Rule Settings
- Rule Vendor Settings
- Server Settings