Self Help Documentation
accounts/wwwacct
Description
Creates a new SPanel account.
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. |
domain | string | Yes | Main domain for the account. |
username | string | Yes | Account username. between 1 and 30 alphanumeric symbols. |
password | string | Yes | The password for the account, should be at least 8 or more symbols. |
package | string | No | Name of the package to use. Note that if a package is selected, the fields below become optional. |
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 | No | Default: all (full access to account features) 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:
|
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 28 29 30 |
$endpointUrl = 'https://123.123.123.123/spanel/api.php'; $postData = [ 'token' => 'provided_auth_token', // Check API Basics for more information 'action' => 'accounts/wwwacct', 'domain' => 'testdomain.com', 'username' => 'testuser', 'password' => 'KExk80Ml5aG6M', // Optional options // 'package' => 'packagename' // Optional package field 'quota' => 10240, // 10GB disk space limit 'inodes' => 10000, // 10000 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 'redirects' 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 |
{ "result": "success", "msg": "Account Created Successfully", "createdata": "####################################################<br\/># Account Creation Complete #<br\/>####################################################<br\/>| Domain Name\t: testdomain.com <br\/>| SPanel\/FTP User\t: testuser <br\/>| SPanel\/FTP Password\t: KExk80Ml5aG6M <br\/>| Disk Quota\t: 10000MB <br\/>| Max Inodes\t: 10000 <br\/>| Max Domains\t: 1 <br\/>| Max Emails\t: Unlimited <br\/>| Max Databases\t: Unlimited <br\/>| Document Root\t: \/home\/testuser\/public_html <br\/>| IP Address\t: 123.123.123.123 <br\/>| Nameserver 1\t: ns1.serverhostname.com <br\/>| Nameserver 2\t: ns2.serverhostname.com <br\/>| SMTP\/POP3\/FTP\t: dev.serverhostname.com <br\/>####################################################", "username": "testuser", "validationRules": { "existingDomains": [ "spanel.io", "anothertest.com", "apitest.com" ], "existingUsers": [ "spanel", "testuser" ] } } |