Create hosting plan

This function creates a hosting plan (package).

Note:

The Access Control Lists restricts some of this function's parameters, which limit the features that WHM users can access.

SecurityBasicAuth
Request
query Parameters
name
required
string

The new hosting plan's name.

Note:

  • You cannot use the name extensions for a hosting plan.
  • You cannot modify hosting plan names after creation. Do not include details that may change over time, such as price.
Example: name=package1
_PACKAGE_EXTENSIONS
string

A space-separated list of the hosting plan's package extensions.

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.
Example: _PACKAGE_EXTENSIONS='extension1 extension2 extension3'
(integer or null) or (string or null)
Default: 1048576

The hosting plan's maximum bandwidth use, in megabytes (MB).

  • 0, unlimited, or null — The hosting plan allows unlimited bandwidth.

Note:

The 0, unlimited, and null values are only available to users that possess the corresponding unlimited ACL permission.

Example: bwlimit=1048576
cgi
integer
Default: 1

Whether CGI access is enabled for the account.

  • 1 — Enabled.
  • 0 — Disabled.

Note:

When a server profile disables the Web Server role, this parameter defaults to 0. On these servers, you cannot enable CGI access.

Enum: 1 0
Example: cgi=1
cpmod
string

The hosting plan's cPanel theme.

This parameter defaults to the server's default cPanel theme.

Example: cpmod=jupiter
digestauth
integer
Default: 0

Whether to enable Digest Authentication for accounts on the hosting plan.

  • 1 — Enable.
  • 0 — Disable.
Enum: 1 0
Example: digestauth=1
featurelist
string
Default: "default"

The hosting plan's feature list.

If you do not use this parameter, the function assigns the default feature list to the account.

Example: featurelist=feature_list
frontpage
integer
Deprecated
Default: 0

Whether Microsoft® FrontPage® Extensions are enabled for the account.

  • 1 — Enabled.
  • 0 — Disabled.

Note:

cPanel & WHM ignores all FrontPage settings and parameters.

Enum: 1 0
Example: frontpage=0
hasshell
integer
Default: 0

Whether the hosting plan allows shell access.

  • 1 — The hosting plan allows shell access.
  • 0 — The hosting plan does not allows shell access.
Enum: 1 0
Example: hasshell=1
ip
string
Default: "n"

Whether the account has a dedicated IP address.

  • y — The account possesses a dedicated IP address.
  • n — The account does not possess a dedicated IP address.
Enum: "y" "n"
Example: ip=n
language
string <ISO-3166-1 (alpha-2)>

The hosting plan's default locale, in its two-letter ISO-3166 code format.

This parameter defaults to the server's default locale.

Example: language=en
integer or string
Default: "unlimited"

The percentage of failed or deferred email messages that the hosting plan allows users to send per hour before outgoing mail is rate-limited.

  • 0 or unlimited — The hosting plan allows users ot send an unlimited number of failed or deferred messages.
Example: MAX_DEFER_FAIL_PERCENTAGE=unlimited
integer or string
Default: "unlimited"

The maximum number of emails that the hosting plan allows users to send in one hour.

  • 0 or unlimited — The hosting plan allows users to send an unlimited number of emails.
Example: MAX_EMAIL_PER_HOUR=unlimited
(integer or null) or (string or null)
Default: 1024

The hosting plan's maximum email account quota size, in megabytes (MB).

  • 0, unlimited, or null — The hosting plan allows unlimited email account quota.

Note:

The 0, unlimited, and null values are only available to users that possess the corresponding unlimited ACL permission.

Example: max_emailacct_quota=1024
(integer or null) or (string or null)
Default: 0

The hosting plan's maximum number of addon domains.

  • unlimited or null — The hosting plan allows unlimited addon domains.
Example: maxaddon=unlimited
(integer or null) or (string or null)
Default: "unlimited"

The hosting plan's maximum number of FTP accounts.

  • unlimited, or null — The hosting plan allows unlimited FTP accounts.
Example: maxftp=unlimited
(integer or null) or (string or null)
Default: "unlimited"

The hosting plan's maximum number of mailing lists.

  • unlimited, or null — The hosting plan allows unlimited mailing lists.
Example: maxlst=unlimited
(integer or null) or (string or null)
Default: 0

The hosting plan's maximum number of parked domains (aliases).

  • unlimited or null — The hosting plan allows unlimited parked domains.
Example: maxpark=unlimited
(integer or null) or (string or null)
Default: "unlimited"

The hosting plan's maximum number of email accounts.

  • unlimited, or null — The hosting plan allows unlimited email accounts.
Example: maxpop=unlimited
(integer or null) or (string or null)
Default: "unlimited"

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 can create up to five MySQL databases and up to five PostgreSQL databases.

  • unlimited, or null — The hosting allows unlimited databases.
Example: maxsql=unlimited
(integer or null) or (string or null)
Default: "unlimited"

The hosting plan's maximum number of subdomains.

  • unlimited, or null — The hosting plan allows unlimited subdomains.
Example: maxsub=unlimited
(integer or null) or (string or null)
Default: 10240

The hosting plan's disk space quota, in megabytes (MB).

  • 0, unlimited, or null — The hosting plan allows unlimited disk space.

Note:

The 0, unlimited, and null values are only available to users that possess the corresponding unlimited ACL permission.

Example: quota=10240
Responses
200

HTTP Request was successful.

Response Schema: application/json
object
object
get/addpkg
Request samples
whmapi1 --output=jsonpretty \
  addpkg \
  name='package1'
Response samples
application/json
{
  • "data": {
    • "pkg": "package1"
    },
  • "metadata": {
    • "command": "addpkg",
    • "reason": "OK",
    • "result": 1,
    • "version": 1
    }
}