The API simplifies task such as Installing Scripts, Removing Scripts, Creating Domains, Deleting Domains, Adding Users, Removing Users, Editing User Details and such similar functions. There is also a PHP SDK Class written for doing various activities like Installing Apps, Upgrading installations, etc.
Admin Functions
Authenticating
Key | Value | Description |
---|
api_key | Random String | API Key is 16 Characters random string provided by Intaller or your Host. |
api_pass | Random String | API Key is 32 Characters random string provided by Intaller or your Host. |
useuser (Optional) | Username of the account. | This is Optional and can be used to perform Enduser level functions of that user e.g. installing an application, etc. |
createSession (Optional) | Username of the account. | As an Admin you can create a session of a particular user and give the returned session key to the user to give him access to the Softaculous Remote Interface. |
api | serialize, json or xml (Default: serialize) | Softaculous Remote will return the output in the format specfied. |
Admin Login Example
$url = 'http://remote.softaculous.com/index.php?'.
'api_key=TESTAPIKEYREMOTE'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// Get response from the server.
$resp = curl_exec($ch);
Admin acting as User Example
$url = 'http://remote.softaculous.com/index.php?'.
'api_key=TESTAPIKEYREMOTE'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&useuser=username'.
'&api=serialize';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// Get response from the server.
$resp = curl_exec($ch);
Creating User Session Example
$url = 'http://remote.softaculous.com/index.php?'.
'api_key=TESTAPIKEYREMOTE'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&createSession=username'.
'&api=serialize';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Error
if(!empty($res['error'])){
print_r($res['error']);
// No error
}else{
echo 'User Session Key (RSID) : '.$res['rsid'].'<br />'.
'URL : '.$res['rsid'];
}
Enduser
These are Enduser level actions which can be peformed by any enduser.
Authenticating
Key | Value | Description |
---|
api_key | Random String | API Key is 16 Characters random string provided by Intaller or your Host. |
api_pass | Random String | API Key is 32 Characters random string provided by Intaller or your Host. |
api | serialize, json or xml (Default: serialize) | Softaculous Remote will return the output in the format specfied. |
Example
$url = 'http://remote.softaculous.com/index.php?'.
'api_key=TESTAPIKEYREMOTE'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// Get response from the server.
$resp = curl_exec($ch);
List Scripts
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&act=home'.
'&api=serialize';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// Get response from the server.
$resp = curl_exec($ch);
// Unserialize data
$res = unserialize($resp);
// The Installed scripts list is in the array key 'iscripts'
print_r($res['iscripts']);
Install a Script
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | software, js, perl | The value should be “software” to install PHP script, “js” to install a JavaScript and “perl” to install a PERL script for softaculous to perform the action of installing a software. |
soft | 26 (26 is the Script ID of WordPress) | The value should be “SID” for softaculous to perform the action of installing a software. You can find the list of sid’s here |
POST |
---|
softsubmit | 1 | This will trigger the install |
softdomain | domain.com | This is the domain on which you wish to install the script |
softdirectory | wp | This is the sub-directory to install the script in. Leave it blank to install in root of the domain |
softdb | wp123 | This is the database name for the script. If the script does not require database you can leave this blank |
dbusername | wp123 | This is the database user(Only for Softaculous Remote) |
dbuserpass | w1XRF28mq8 | This is the database password. You can generate a random password(Only for Softaculous Remote) |
hostname | localhost | This is the hostname of your MySQL server. You can enter your MySQL server IP if you have MySQL on a remote server(Only for Softaculous Remote) |
admin_username | admin | This is the admin account username for the installation |
admin_pass | pass | This is the admin account password for the installation |
admin_email | admin@domain.com | This is the admin account email address for the installation |
language | en | Language for the installation. You can get the language codes from the respective install.xml |
site_name | My Blog | Site Name for the installation |
site_desc | My WordPress Blog | Site Description for the installation |
dbprefix | dbpref_ | (Optional) Table Prefix to be used for the tables created by application |
noemail | 1 | (Optional) – Use this only if you do not want to send an email to the user |
overwrite_existing | 1 | (Optional) – Use this only if you do not want Softaculous to check for existing files in installation path. If any file(s) exists they will be overwritten. |
softproto | 1 – http:// 2 – http://www. 3 – https:// 4 – https://www. | (Optional) – Protocol to be used for the installation |
eu_auto_upgrade | 1 | (Optional) – Pass 1 to enable auto upgrade. Auto upgrade will be enabled only if the script supports auto upgrade. |
auto_upgrade_plugins | 1 | (Optional) – Pass 1 to enable auto upgrade plugins. If script supports auto upgrade for plugin then it will be enabled. |
auto_upgrade_themes | 1 | (Optional) – Pass 1 to enable auto upgrade themes. If script supports auto upgrade for theme then it will be enabled. |
auto_backup | daily – Once a day weekly – Once a week monthly – Once a month | (Optional) – Enable auto backups |
auto_backup_rotation | 0 – Unlimited backup rotation 1 – backup rotation after 1 backup 4 – backup rotation after 1 backup | (Optional) – Possible values (0-10). Use this to set the value for auto backup rotation. |
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=software'.
'&soft=26';
$post = array('softsubmit' => '1',
'softdomain' => 'example.com', // Must be a valid Domain
'softdirectory' => 'wp', // Keep empty to install in Web Root
'softdb' => 'wpdb',
'dbusername' => 'dbusername',
'dbuserpass' => 'dbuserpass',
'hostname' => 'localhost',
'admin_username' => 'admin',
'admin_pass' => 'adminpassword',
'admin_email' => 'admin@example.com',
'language' => 'en',
'site_name' => 'WordPress Site',
'site_desc' => 'My Blog',
'dbprefix' => 'dbpref_'
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
Edit an Installation
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | editdetail | The value should be “editdetail” for softaculous to perform the action of editing an installation. |
insid | 26_12345 | The installation ID that you want to edit. It can be fetched from List Installed Script |
POST |
---|
editins | 1 | This will trigger the edit function |
edit_dir | /home/USERNAME/public_html | (Optional) Path to installation. If not posted the path in existing records will be used. |
edit_url | http://example.com | (Optional) URL to installation. If not posted the URL in existing records will be used. |
edit_datadir | /home/USERNAME/datadir | (Optional) Path to data directory of the installation. If not posted the data directory in existing records will be used. |
edit_dbname | username_dbname | (Optional) Database name for the installation. If not posted the Database name in existing records will be used. |
edit_dbuser | username_dbuser | (Optional) Database user for the installation. If not posted the Database user in existing records will be used. |
edit_dbpass | dbpass | (Optional) Password of the database user for the installation. If not posted the password in existing records will be used. |
edit_dbhost | localhost | (Optional) Database host for the installation. If not posted the Database host in existing records will be used. |
eu_auto_upgrade | 1 | (Optional) 1 to Enable auto upgrade option and 0 to disable. If not posted the existing setting will not be changed. |
auto_upgrade_plugins | 1 | (Optional) 1 to Enable auto upgrade plugins option and 0 to disable. If not posted the existing setting will not be changed. (Currently this option is supported only in WordPress) |
auto_upgrade_themes | 1 | (Optional) 1 to Enable auto upgrade themes option and 0 to disable. If not posted the existing setting will not be changed. (Currently this option is supported only in WordPress) |
noemail | 1 | (Optional) – Use this only if you do not want to send an email to the user |
admin_username | adminusername | (Optional) – Use this only if the script provides admin account creation at the time of installation |
admin_pass | adminpassword | (Optional) – Use this only if the script provides admin account creation at the time of installation |
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=editdetail'.
'&insid=26_12345';
$post = array('editins' => '1',
'edit_dir' => '/path/to/installation/', // Must be the path to installation
'edit_url' => 'http://example.com', // Must be the URL to installation
'edit_dbname' => 'wpdb',
'edit_dbuser' => 'dbusername',
'edit_dbpass' => 'dbuserpass',
'edit_dbhost' => 'dbhost',
'admin_username' => 'adminusername', //Provide this only if script provides as well as password needs to be reset
'admin_pass' => 'adminpassword' //Provide this only if script provides
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
// Print the entire output just incase !
print_r($res);
Upgrade an Installed Script
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | upgrade | The value should be “upgrade” for softaculous to perform the action of upgrading an installation. |
insid | 26_12345 | The installation ID that you want to upgrade. It can be fetched from List Installed Script |
POST |
---|
softsubmit | 1 | This will trigger the upgrade |
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=upgrade'.
'&insid=26_12345';
$post = array('softsubmit' => '1');
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
// There might be some task that the user has to perform
if(!empty($res['setupcontinue'])){
echo 'Please visit the following URL to complete upgrade : '.$res['setupcontinue'];
// It upgraded
}else{
echo 'Upgraded successfully. URL to Installation : '.$res['__settings']['softurl'];
}
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
// Print the entire output just incase !
print_r($res);
Update Installation Version in Softaculous Records
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | editdetail | The value should be “editdetail” for softaculous to perform the action of editing an installation. |
insid | 26_12345 | The installation ID that you want to edit. It can be fetched from List Installed Script |
updateversion | 1 | The value should be 1 so it will invoke the method to determine and update the Softaculous records with the correct version of the installation |
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=editdetail'.
'&insid=26_12345'.
'&updateversion=1';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
// Print the entire output just incase !
print_r($res);
Clone an Installed Script
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | sclone | The value should be “sclone” for softaculous to perform the action of cloning an installation. |
insid | 26_12345 | The installation ID that you want to clone. It can be fetched from List Installed Script |
POST |
---|
softsubmit | 1 | This will trigger the upgrade |
softdomain | domain.com | This is the domain on which you wish to clone the installation |
softdirectory | wp | This is the sub-directory to clone the installation in. Leave it blank to clone in root of the domain |
softdb | wp123 | This is the database name for the cloned installation. If the script does not require database you can leave this blank. |
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=sclone'.
'&insid=26_12345';
$post = array('softsubmit' => '1',
'softdomain' => 'example.com', // Must be a valid Domain
'softdirectory' => 'wp', // Keep empty to install in Web Root
'softdb' => 'wpdb'
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
echo 'Cloned successfully. URL to Installation cloned installation : '.$res['__settings']['softurl'];
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
// Print the entire output just incase !
print_r($res);
Remove an Installed Script
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | remove | The value should be “remove” to perform the action of removing an installed script. |
insid | 8 (Installation ID) | Installation ID of the installed script. It can be fetched from List Installed Script |
POST |
---|
removeins | 1 | This will trigger the remove install process |
remove_dir | 1 | This is to remove the directory where the script is installed. If you do not want to remove the directory do not pass this key in post. |
remove_datadir | 1 | This is to remove the data directory where the script is installed. If you do not want to remove the data directory do not pass this key in post. |
remove_db | 1 | This is to remove the database of the installation. If you do not want to remove the database do not pass this key in post. |
remove_dbuser | 1 | This is to remove the database user of the installation. If you do not want to remove the database user do not pass this key in post. |
noemail | 1 | (Optional) – Use this only if you do not want to send an email to the user |
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=remove'.
'&insid=8';
$post = array('removeins' => '1',
'remove_dir' => '1', // Pass this if you want the directory to be removed
'remove_datadir' => '1', // Pass this if you want the data directory to be removed
'remove_db' => '1', // Pass this if you want the database to be removed
'remove_dbuser' => '1' // Pass this if you want the database user to be removed
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
Import an Installation
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | import | The value should be “import” to perform the action of importing an installation. |
soft | 26 (26 is the Script ID of WordPress) | The value should be “SID” for softaculous to perform the action of installing a software. You can find the list of sid’s here |
POST |
---|
softdomain | example.com | This will be the domain where your script is installed. Domain should be without http:// or https:// |
softdirectory | wp | (OPTIONAL) This will be the directory under the domain where your script is installed. Leave this blank if the script is installed in the root of domain. |
softsubmit | 1 | This will trigger the import function. |
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=import'.
'&soft=26';
$post = array('softsubmit' => 1,
'softdomain' => 'example.com',
'softdirectory' => 'wp');
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
Get Script Info
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | software | The value should be “installations” to perform the action of listing installations. |
soft | 26 (26 is the Script ID of WordPress) | The value should be “SID” for softaculous to perform the action of installing a software. You can find the list of sid’s here |
giveinfo | 1 | Pass this value as 1 to get the information of the script (passed in the soft parameter) |
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=software'.
'&soft=26'.
'&giveinfo=1';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
print_r($res);
print_r($res['info']['overview']); // will have overview of the script (in HTML format)
print_r($res['info']['features']); // will have features list of the script (in HTML format)
print_r($res['info']['demo']); // will have the link to demo of the script
print_r($res['info']['ratings']); // will have the link to ratings page of the script
print_r($res['info']['support']); // will have the link to script vendor support page
print_r($res['info']['release_date']); // will have the release date of the current version of the script
print_r($res['settings']); // will have an array of the list of fields that the script will require, e.g. site_name, site_desc, language, etc
print_r($res['dbtype']); // if the value is not empty it means the script requires a database, if the value is empty it means that the script does not require a database
print_r($res['cron']); // if the value is not empty it means the script requires a CRON JOB, if the value is empty it means that the script does not require a CRON JOB
print_r($res['datadir']); // if the value is not empty it means the script requires a data directory, if the value is empty it means that the script does not require a data directory
List Installed Script
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | installations | The value should be “installations” to perform the action of listing installations. |
showupdates | true | (OPTIONAL) The value should be “true” if you want to list only installations that have an update available for softaculous to perform the action of listing installations. |
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=installations';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
List Outdated Installations/ Installations that need update
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | installations | The value should be “installations” to perform the action of listing installations. |
showupdates | true | The value should be “true” if you want to list only installations that have an update available for Softaculous to perform the action of listing installations. |
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=installations'.
'&showupdates=true';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
List Backups
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=backups';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
Backup an Installed Script
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | backup | The value should be “backup” to perform the action of taking the backup of the installation. |
insid | 26_5454 (Installation ID) | Installation ID of the installed script. It can be fetched from List Installed Script |
POST |
---|
backupins | 1 | This will trigger the backup function. |
backup_dir | 1 | This is to backup the directory |
backup_datadir | 1 | This is to backup the data directory |
backup_db | 1 | This is to backup the database |
backup_location | 2 (Location ID) | (Optional) – Location id of the backup location where you want to store your current backup. Default value will be the one saved in the installation’s settings. You can find the location id from List Backup Locations |
noemail | 1 | (Optional) – Use this only if you do not want to send an email to the user |
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=backup'.
'&insid=26_4545';
$post = array('backupins' => '1',
'backup_dir' => '1', // Pass this if you want to backup the directory
'backup_datadir' => '1', // Pass this if you want to backup the data directory
'backup_db' => '1', // Pass this if you want to backup the database
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
Restore an Installed Script
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | restore | The value should be “restore” to perform the action of restoring the backup of the installation. |
restore | backup_time_insid.tar.gz (Backup File Name) | Name of the Backup File. It can be fetched from List Backups |
POST |
---|
restore_ins | 1 | This will trigger the restore function. |
restore_dir | 1 | This is to restore the directory |
restore_datadir | 1 | This is to restorethe data directory |
restore_db | 1 | This is to restore the database |
noemail | 1 | (Optional) – Use this only if you do not want to send an email to the user |
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=restore'.
'&restore=backup_time_insid.tar.gz';
$post = array('restore_ins' => '1',
'restore_dir' => '1', // Pass this if you want to restore the directory
'restore_datadir' => '1', // Pass this if you want to restore the data directory
'restore_db' => '1', // Pass this if you want to restore the database
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
Download Backups
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | backups | The value should be “backups” to perform the action of downloading the backup of an installation. |
download | backup_time_insid.zip (Backup File Name) | Name of the Backup File. It can be fetched from List Backups |
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=backups'.
'&download=backup_time_insid.zip';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
Delete Backups
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | backups | The value should be “backups” to perform the action of downloading the backup of an installation. |
remove | backup_time_insid.zip (Backup File Name) | Name of the Backup File. It can be fetched from List Backups |
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=backups'.
'&remove=backup_time_insid.zip';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
Edit Enduser Settings
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | settings | The value should be “settings” to perform the action of updating the settings of a user. |
POST |
---|
editsettings | 1 | This will trigger the edit settings function |
language | english | The language you want to set for the user. |
timezone | 0 | This is the timezone that you want to set for the user. User 0 to set the timezone to Server Default. |
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=settings;
$post = array('editsettings' => 1,
'language' => 'english',
'timezone' => '0');
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
Edit Enduser Email Settings
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | email | The value should be “email” to perform the action of updating the email settings of a user. |
POST |
---|
editemailsettings | 1 | This will trigger the edit email settings function |
email | admin@example.com | (Optional) Pass a valid email to receive the updates, leave blank to leave the email unchanged. |
ins_email | 1 | (Optional) Pass this as 1 to enable receiving email for new installations, off to disable the same. |
rem_email | 1 | (Optional) Pass this as 1 to enable receiving email after removing an installation, off to disable the same. |
editdetail_email | 1 | (Optional) Pass this as 1 to enable receiving email after editing an installation, off to disable the same. |
backup_email | 1 | (Optional) Pass this as 1 to enable receiving email after backup of an installation, off to disable the same. |
restore_email | 1 | (Optional) Pass this as 1 to enable receiving email after restore of an installation, off to disable the same. |
clone_email | 1 | (Optional) Pass this as 1 to enable receiving email after cloning an installation, off to disable the same. |
disable_all_notify_update | 1 | (Optional) Pass this as 1 to disable receiving update available notification email, off to enable the same. |
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=email;
$post = array('editemailsettings' => 1,
'email' => 'admin@example.com',
'ins_email' => '1');
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
Auto Sign On
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | sign_on | The value should be “sign_on” to perform the action to get the sign on URL. |
insid | 26_12345 | The installation ID that you want to edit. It can be fetched from List Installed Script |
autoid | abcdefghijklmnopqrstuvwxyz0123456789 | This must be any 32 character random string. |
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=sign_on'.
'&insid=26_12345'.
'&autoid=abcdefghijklmnopqrstuvwxyz0123456789';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// Get response from the server.
$resp = curl_exec($ch);
On using this API, you will get the sign_on_url, upon accessing which the user will be logged in to the admin panel of the script. You can use the same URL to redirect the user as shown here:
$op = unserialize($resp);
header('Location: '.$op['sign_on_url']);
Domains Functions
List Domains
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=domains';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
Add Domain
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | adddomain | This will trigger the add domain function under the account that you are logged in as. |
POST |
---|
add_domain | 1 | This will trigger the add domain function |
domain | domain.com | Name of the domain to be added |
server_host | ftp.domain.com | (Optional) This is the server host which will be used as the host to connect via FTP/FTPS/SFTP. |
ftp_user | ftp_user | User to connect to the FTP/FTPS/SFTP server |
ftp_pass | ftp_pass | Password for User to connect to the FTP/FTPS/SFTP server |
ftp_path | /public_html | Path to the directory relative to home directory of user for installations |
backup_path | /backups | Path to the directory relative to home directory of user for storing backups |
data_dir | /datadir | Path to the data directory which will be used to create data directories required by some scripts like Moodle. This should not be accessible by webserver. |
protocol (Optional) | ftp, ftps, sftp (Default: ftp) | The Protocol to use for this domain |
port | 21 | Port number to connect to the FTP/SFTP/FTPS server. FTP default is 21. |
public_key (Optional) | Public Key | Path to Public Key. Specify only when sftp protocol is used |
private_key (Optional) | Private Key | Path to Private Key. Specify only sftp protocol is used |
passphrase (Optional) | Passphrase | Passphrase for Private Key. Specify only sftp protocol is used |
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=adddomain';
$post = array('add_domain' => 1,
'domain' => 'example.com',
'server_host' => 'ftp.example.com', // Optional
'ftp_user' => 'ftp_user',
'ftp_pass' => 'ftp_pass',
'ftp_path' => '/public_html',
'backup_path' => '/backups',
'data_dir' => '/datadir',
'protocol' => 'ftp',
'port' => '21');
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
Edit a Domain
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | editdomain | This will trigger the edit domain function under the account that you are logged in as. |
did | 1 | This will will be the domain id of the domain which you want to edit. You can use the List Domainsfunction. |
POST |
---|
edit_domain | 1 | This will trigger the edit domain function |
domain | domain.com | This is the updated domain |
server_host | ftp.domain.com | (Optional) This is the updated server host which will be used as the host to connect via FTP/FTPS/SFTP. |
ftp_user | ftp_user | This is the updated FTP User |
ftp_pass | ftp_pass | This is the updated FTP Pass |
ftp_path | /public_html | This is the updated FTP Path |
backup_path | /backups | This is the updated backup path |
data_dir | /datadir | This is the updated data directory |
protocol (Optional) | ftp, ftps, sftp (Default: ftp) | The Protocol to use for this domain |
port | 21 | This is the updated port |
public_key (Optional) | Public Key | Path to Public Key. Specify only when sftp protocol is used |
private_key (Optional) | Private Key | Path to Private Key. Specify only sftp protocol is used |
passphrase (Optional) | Passphrase | Passphrase for Private Key. Specify only sftp protocol is used |
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=editdomain'.
'&did=1';
$post = array('edit_domain' => 1,
'domain' => 'example.com',
'server_host' => 'ftp.example.com', // Optional
'ftp_user' => 'ftp_user',
'ftp_pass' => 'ftp_pass',
'ftp_path' => '/public_html',
'backup_path' => '/backups',
'data_dir' => '/datadir',
'protocol' => 'ftp',
'port' => '21');
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
Delete a Domain
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | domains | This will trigger the domains function under the account that you are logged in as. |
delid | 1 | This will will be the domain id of the domain which you want to delete. You can use the List Domains function. |
cleanins | 1 | (Optional) Passing this as 1 will delete all the installations under this domain. If you do not want to delete the installations for the domain being deleted leave this parameter empty. |
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=domains'.
'&delid=1'.
'&cleanins=1';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
Admin Panel API
List Users
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | listuser | This will trigger the list users function. |
reslen | all | Number of results to be returned. Default is 100. You can pass all to get the list of all existing users. |
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=listuser';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
Add User
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | adduser | This will trigger the add user function. |
POST |
---|
saveuser | 1 | This will trigger the add user function |
username | testuser | This is the username of the user you want to add. Note : Only lowercase characters are allowed in username |
user_email | admin@example.com | This is the email of the user you want to add |
num_users | 0 | (OPTIONAL) Leave this 0 if this is user is an enduser. If Reseller add the number of users they should be allowed to create |
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=adduser';
$post = array('saveuser' => 1,
'username' => 'testuser',
'user_email' => 'admin@example.com',
'num_users' => '0');
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
Edit User
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | listuser | This will trigger the edit user function. |
nof | 10 | This will be the updated number of users to be allotted (Can be used for Reseller users only) |
email | email@xyz.com | This will be the Email ID to be set for the user |
updateuser | newuser | This is the new username that you want to set (Can be changed for non-reseller users only) |
moduser | testuser | This is the username of the user you want to edit |
modowner | testuser | This is the owner of the reseller. In case of Resellers they are owned by themselves |
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&email=email@xyz.com'.
'&act=listuser'.
'&nof=10'.
'&updateuser=newuser'.
'&moduser=testuser'.
'&modowner=testuser';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
Delete User
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | listuser | This will trigger the delete user function. |
deluser | testuser | This will be the username of the user to be deleted |
delowner | root | This is the owner username of the user you want to delete. Default owner is root if the user is not created by a reseller. |
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=listuser'.
'&deluser=testuser'.
'&delowner=root';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
List Installations (Admin Panel)
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | installations | This will trigger the list installations function. |
POST |
---|
listinstallations | 1 | This will trigger the listinstallations function |
users | root;user1; | (Optional) Pass ; separated list of users to filter installations by users |
scripts | WordPress;Joomla; | (Optional) Pass ; separated list of scripts to filter installations by scripts |
domains | example.com;example2.com; | (Optional) Pass ; separated list of domains to filter installations by domains |
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=installations';
$post = array('listinstallations' => 1,
//'users' => 'root;user1;', // Pass this if you want the installation list of specific users
//'scripts' => 'WordPress;Joomla;', // Pass this if you want the installation list of specific scripts
//'domains' => 'example.com;example2.com;', // Pass this if you want the installation list of specific domains
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res)){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
List Outdated Installations (Admin Panel)
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | installations | This will trigger the list installations function. |
show | outdated | This will trigger the outdated installations list function |
POST |
---|
listinstallations | 1 | This will trigger the listinstallations function |
users | root;user1; | (Optional) Pass ; separated list of users to filter installations by users |
scripts | WordPress;Joomla; | (Optional) Pass ; separated list of scripts to filter installations by scripts |
domains | example.com;example2.com; | (Optional) Pass ; separated list of domains to filter installations by domains |
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=installations'.
'&show=outdated';
$post = array('listinstallations' => 1,
//'users' => 'root;user1;', // Pass this if you want the installation list of specific users
//'scripts' => 'WordPress;Joomla;', // Pass this if you want the installation list of specific scripts
//'domains' => 'example.com;example2.com;', // Pass this if you want the installation list of specific domains
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res)){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
List Real Version (Admin Panel)
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | installations | This will trigger the list installations function. |
POST |
---|
listinstallations | 1 | This will trigger the listinstallations function |
only_realversion | 1 | This will trigger the only_realversion function to list only installations in which the version in Softaculous records do not match with actual installation version |
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=installations';
$post = array('listinstallations' => 1, 'only_realversion' => 1);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res)){
print_r($res);
}
Update Real Version (Admin Panel)
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | installations | This will trigger the list installations function. |
POST |
---|
listinstallations | 1 | This will trigger the listinstallations function |
only_realversion | 1 | This will trigger the only_realversion function to list only installations in which the version in Softaculous records do not match with actual installation version |
list | array(‘username-26_68351’, ‘username-26_68352’) | This will contain the array list for the installations which needs to be updated in Softaculous record(you will need to pass installation id which you will get from Real Version response in List Real Version |
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=installations';
$post = array('listinstallations' => 1, 'only_realversion' => 1, 'list' => array('username-26_68351', 'username-26_68352'));
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res)){
print_r($res);
}
Installation Statistics (Admin Panel)
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=ins_statistics';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
Add Plan (ACL)
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | addplans | This will trigger the add plan function |
POST |
---|
saveplan | 1 | This will trigger the add plan function |
planname | plan1 | Plan name for the new plan being created |
resellers_abc | 1 | (Optional) Use this only if you want to add a reseller to the plan. resellers_ is the prefix for adding a reseller and abc is the name of the reseller (that should already exist). Similarly pass a separate key for each reseller you want to add to the plan. |
users_xyz | 1 | (Optional) Use this only if you want to add a user to the plan. users_ is the prefix for adding a user and xyz is the name of the user (that should already exist). Similarly pass a separate key for each user you want to add to the plan. |
scripts_26 | 1 | Use this to pass the scripts to be added to the plan. scripts_ is the prefix for adding a script and 26 is the id of the script to be added. Similarly pass a separate key for each script you want to add to the plan. Get Script ids |
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=addplans';
$post = array('saveplan' => '1',
'planname' => 'plan1',
'resellers_abc' => '1',
'users_xyz' => '1',
'scripts_26' => '1', // Add WordPress
'scripts_413' => '1' // Add Joomla
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
Edit Plan (ACL)
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | editplans | This will trigger the edit plan function |
plan | plan1 | This will be the plan name of the plan you want to edit |
POST |
---|
saveplan | 1 | This will trigger the add plan function |
planname | plan1 | Plan name for the new plan being created |
resellers_abc | 1 | (Optional) Use this only if you want to assign a reseller to the plan. resellers_ is the prefix for adding a reseller and abc is the name of the reseller (that should already exist). Similarly pass a separate key for each reseller you want to assign to the plan. |
users_xyz | 1 | (Optional) Use this only if you want to assign a user to the plan. users_ is the prefix for assigning a user and xyz is the name of the user (that should already exist). Similarly pass a separate key for each user you want to assign to the plan. |
scripts_413 | 1 | Use this to pass the scripts to be assigned to the plan. scripts_ is the prefix for assigning a script and 26 is the id of the script to be assigned. Similarly pass a separate key for each script you want to assign to the plan. Get Script ids |
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=editplans'.
'&plan=plan1';
$post = array('saveplan' => '1',
'planname' => 'plan1',
'resellers_abc' => '1',
'users_xyz' => '1',
'scripts_543' => '1', // Add Drupal
'scripts_72' => '1' // Add PrestaShop
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
Delete Plan (ACL)
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | plans | This is the default plans page act |
delete | plan1 | This will be the plan name of the plan you want to delete |
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=plans'.
'&delete=plan1';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
Enable / Disable Script
Key | Value | Description |
---|
Authentication | – | You can use the Enduser Authenticating or Admin Authentication methods. |
act | softwares | This will trigger the enable/disable script function |
POST |
---|
updatesoft | Update Settings | This will trigger the submit function for enabling/disabling the scripts |
soft_26 | 1 | Use it to Enable Script from Admin Panel. soft_ is the prefix for enabling a script and 26 is the id of the script to be enabled. Similarly pass a separate key for each script you want to enable. Get Script ids |
Note: If you have 10 scripts Enabled. You want to Enable 1 more script you will need to pass all 11 scripts id in the POST data for it to Enable the script. The scripts which are not posted will be disabled.
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=softwares';
$post = array('updatesoft' => 'Update Settings',
'soft_26' => 1, // WordPress
'soft_18' => 1, // Joomla 2.5
'soft_543' => 1, // Drupal 8
'soft_11' => 1, // Open Blog
'soft_3' => 1, // Serendipity
'soft_34' => 1, // Dotclear
'soft_14' => 1, // b2evolution
'soft_470' => 1 // Ghost
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}