Self Help Documentation
accounts/modifypackage
Description
Modifies an existing 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 package’s permissions list; If you use [ 'domain' => [ 'domains', 'redirects' ] ] , the package will grant permissions only for the pages specified.Check the full API call example below for further clarification. |
Infox
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/modifypackage', 'package' => 'existingPackageName', // 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 |
{ "result": "success", "data": { "msg": "Package with name existingPackageName was modified successfully" } } |