Self Help Documentation
accounts/createpackage
Description
Creates a new SPanel package.
Parameters
Additional parameters:
Field | Type | Required | Description |
---|---|---|---|
token | string | Yes | Authorizing API token – check API Basics for more information. |
action | string | Yes | The category and function being executed. |
package | string | Yes | Package name. between 1 and 30 alphanumeric symbols. |
quota | int | No | Default: unlimited. If set, quota limit in MB Minimum limit is 100. |
inodes | int | No | Default: unlimited. If set, inodes limit in number of inodes Minimum limit is 10000. |
domains | int | No | Default: unlimited. If set, number of additional domains the user can add. Set 0 to disable additional domains. |
emails | int | No | Default: unlimited. If set, number of email accounts the user can create. Set 0 to disable email accounts creation. |
databases | int | No | Default: unlimited. If set, number of databases the user can create. Set 0 to disable databases creation. |
permissions | string|array | Yes | Permissions array or ‘all’ string for full root permissions. When using a permissions array, you can set the category sub-array to ‘all’ string to include every child page available or use an array with every page that you wish to include, for example: If you use [ 'email' => 'all' ] , all pages under email category will be included in the newly created package’s permissions list; If you use [ 'domains' => [ 'domains', 'redirects' ] ] , the newly created package will grant permissions only for the pages specified.Check the full API call example below for further clarification. |
Info
The structure and an always up-to-date list of all available user permissions can be obtained by running the user/listuserpermissions API call. The list is pulled directly from SPanel’s system in real-time.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
$endpointUrl = 'https://123.123.123.123/spanel/api.php'; $postData = [ 'token' => 'provided_auth_token', // Check API Basics for more information 'action' => 'accounts/createpackage', 'package' => 'newPackageName', // Optional options. 'quota' => 10240, // 10GB disk space limit 'inodes' => 1000, // 1000 inodes limit // 'domains' => false, // Unlimited addon domains 'emails' => 0, // No email accounts allowed 'databases' => false, // Unlimited databases //'permissions' => 'all', //Set all permissions 'permissions' => [ 'email' => 'all', //access every email page 'domain' => [ 'domains', 'redirects' ] //access only the 'domains' and 'redirect' pages ], ]; $ch = curl_init(); curl_setopt( $ch, CURLOPT_URL, $endpointUrl); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt( $ch, CURLOPT_POST, true); curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query($postData)); curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false); $jsonOutput = curl_exec( $ch ); |
Output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
{ "result": "success", "data": { "msg": "The package newPackageName has been created", "packagelist": { "newPackageName": { "packagename": "newPackageName", "disklimit": "10240", "inodeslimit": "1000", "domainslimit": "Unlimited", "emailslimit": "0", "databaseslimit": "Unlimited" }, "test": { "packagename": "test", "disklimit": "0", "inodeslimit": "0", "domainslimit": "Unlimited", "emailslimit": "Unlimited", "databaseslimit": "Unlimited" } } } } |