Enterprise API

Softaculous Enterprise API

  • 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.
  • If you have a Panel written in PHP, there is a PHP SDK Class written for doing various activities like Installing Apps, Upgrading installations, etc. You can easily start using the SDK functions like install(), updgrade(), etc.
  • Softaculous Enterprise has a Admin Panel to perform Admin Functions like Adding a Domain, Deleting a Domain, etc and has a Enduser Panel to perform Enduser Functions like Install, Remove, Upgrade the scripts.

Admin Functions

  • Admin functions are accessible only from port 2006 of your Softaculous Enterprise Server. So make sure the url accessed has the port 2006.
  • Only root users and resellers can access Admin Functions.

Authenticating

KeyValueDescription
api_keyRandom StringAPI Key is 16 Characters random string provided by Installer.
api_passRandom StringAPI Key is 32 Characters random string provided by Installer.
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 Enterprise Interface.
apiserialize, json or xml (Default: serialize)Softaculous Enterprise will return the output in the format specfied.
POST (Optional)
useuser (Optional)ArrayAs 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 Enterprise Interface.
usernameUser Name to add or use. If username is already present, Softaculous will use it.
uidUID of the user.
gidGID of the user.
add_domain (Optional)ArrayAs an Admin you can create a domain of a particular user.
domainThe Domain name
usernameThe username of the User who owns the domain
pathThe web accessible folder/path where your installations will be made. It should be accessible by Softaculous over NFS. Web accessible directory should be owned by user specified.
replace_pathThis “Replace Path” will be replaced with empty in PATH to get the correct path according to scripts. According to the scripts PATH mentioned above is not correct as we are on NFS. We have to generate a new path with respect to scripts.
backup_dirBackup Directory. Softaculous will create backups in this folder. This should be accessible by Softaculous over NFS.
data_dirFull path of the Data Directory. Some scripts like Elgg, Moodle, etc need a non web accessible folder. Specify accordingly that it can be accessed by Softaculous too which is on NFS.

Admin Login Example

$url = 'http://enterprise.softaculous.com:2006/index.php?'.
			'api_key=TESTAPIKEYAPIAPI'.
			'&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);

Creating User Session Example

  • This authentication will allow admin to perform actions such as install, upgrade, remove, etc as a user.
$url = 'http://enterprise.softaculous.com/index.php?'.
			'api_key=TESTAPIKEYAPIAPI'.
			'&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'];
}

Admin acting as User Example

  • This authentication will allow admin to perform actions such as install, upgrade, remove, etc as a user.
  • User and Domain will be created if specified.
$url = 'http://enterprise.softaculous.com/index.php?'.
			'api_key=TESTAPIKEYREMOTE'.
			'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
			'&api=serialize';

$post = array('useuser' => array(
				'username' => 'username',
				'uid' => '505',
				'gid' => '505',
				),
              'add_domain' => array(
			  'domain' => 'domain.com',
			  'username' => 'username',
			  'path' => '/NFS/a/home/user/public_html',
			  'replace_path' => '/NFS/a',
			  'backup_dir' => '/NFS/a/home/user/backupdir',
			  'data_dir' => '/NFS/a/home/user/datadir'
              )
);

// 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 Domains

KeyValueDescription
AuthenticationUse the Admin Authentication method.
actlistdomainsThe value should be “listdomains” only to list the domains.

Example

// The URL
$url = 'http://enterprise.softaculous.com:2006/index.php?'.
			'api_key=TESTAPIKEYAPIAPI'.
			'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
			'&api=serialize'.
			'&act=listdomains';

// 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);

Add a Domain

KeyValueDescription
AuthenticationUse the Admin Authentication method.
actadddomainThe value should be “adddomain” only to list the domains.
POST
domainexample.comName of the domain to be added.
usernameusernameUser which owns/has access to the domain.
path/NFS/a/home/user/public_htmlIt is the web accessible folder/path where your installations will be made. It should be accessible by Softaculous over NFS. Web accessible directory should be owned by user specified.
backup_dir/NFS/a/home/user/backupsIt is the Backup Directory. Softaculous will create backups in this folder. This should be accessible by Softaculous over NFS.
replace_path/NFS/aThis “Replace Path” will be replaced with empty in PATH to get the correct path according to scripts. According to the scripts PATH mentioned above is not correct as we are on NFS. We have to generate a new path with respect to scripts.
data_dir/NFS/a/home/user/datadirFull path of the Data Directory. Some scripts like Elgg, Moodle, etc need a non web accessible folder. Specify accordingly that it can be accessed by Softaculous too which is on NFS.
savedomain1This will trigger the Softaculous to add the domain.

Example

// The URL
$url = 'http://enterprise.softaculous.com:2006/index.php?'.
			'api_key=TESTAPIKEYAPIAPI'.
			'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
			'&api=serialize'.
			'&act=adddomain';

$post = array('domain' => 'example.com',
              'username' => 'username',
              'path' => '/NFS/a/home/user/public_html',
              'replace_path' => '/NFS/a',
              'backup_dir' => '/NFS/a/home/user/backups',
              'data_dir' => '/NFS/a/home/user/datadir',
              'savedomain' => 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);

Delete a Domain

KeyValueDescription
AuthenticationUse the Admin Authentication method.
actlistdomainsThe value should be “listdomains” for softaculous to perform the action of deleting a domain
delownerownerIt is the owner of the user
deluserusernameIt is the user of the domain

Example

// The URL
$url = 'http://enterprise.softaculous.com:2006/index.php?'.
			'api_key=TESTAPIKEYAPIAPI'.
			'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
			'&api=serialize'.
			'&domain=domain.com'.
			'&delowner=root'.
			'&deluser=username';

// 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 Users

KeyValueDescription
AuthenticationUse the Admin Authentication method.
actlistuserThe value should be “listuser” only to list the domains.

Example

// The URL
$url = 'http://enterprise.softaculous.com:2006/index.php?'.
			'api_key=TESTAPIKEYAPIAPI'.
			'&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);
 
// Get response from the server
$resp = curl_exec($ch);

Add a User

KeyValueDescription
AuthenticationUse the Admin Authentication method.
actadduserThe value should be “adddomain” only to list the domains.
POST
usernameusernameuser name to be added.
user_emailuser@domain.comthe email of the user.
uid505UID of the user. It is used to change the owner of the directories extracted by Softaculous.
gid505GID of the user. If not specified UID is assumed.
num_users0the number of users reseller can add. It should be more than one. Empty in case of Regular users.
saveuser1This will trigger the softaculous to add a user.

Example

// The URL
$url = 'http://enterprise.softaculous.com:2006/index.php?'.
			'api_key=TESTAPIKEYAPIAPI'.
			'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
			'&api=serialize'.
			'&act=adduser';

$post = array('username' => 'username',
              'user_email' => 'username@domain.com',
              'uid' => '505',
              'gid' => '505',
              'num_users' => 0,
              'saveuser' => 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);

Edit Users

KeyValueDescription
AuthenticationUse the Admin Authentication method.
actlistuserThe value should be “listuser” only to list the domains.
modownerroot/resellernameThe owner of the user account.
moduserusernameThe user name to be added.
uid505UID of the user. It is used to change the owner of the directories extracted by Softaculous.
gid505GID of the user. If not specified UID is assumed.
nof (Optional)10The number of users reseller is to be allowed. It should be more than one. Empty in case of Regular users

Example

// The URL
$url = 'http://enterprise.softaculous.com:2006/index.php?'.
			'api_key=TESTAPIKEYAPIAPI'.
			'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
			'&api=serialize'.
			'&act=listuser'.
			'&modowner=root'.
			'&moduser=username'.
			'&uid=505'.
			'&gid=505';

// 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);

Delete Users

KeyValueDescription
AuthenticationUse the Admin Authentication method.
actlistuserThe value should be “listuser” only to list the domains.
deluserusernameThe user name to be added.
delownerroot/resellernameThe owner of the user account.

Example

// The URL
$url = 'http://enterprise.softaculous.com:2006/index.php?'.
			'api_key=TESTAPIKEYAPIAPI'.
			'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
			'&api=serialize'.
			'&act=listuser'.
			'&deluser=username'.
			'&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);
 
// Get response from the server
$resp = curl_exec($ch);

Enduser Functions

These are Enduser level actions which can be peformed by any enduser.

Authenticating

KeyValueDescription
api_keyRandom StringAPI Key is 16 Characters random string provided by Installer or your Host.
api_passRandom StringAPI Key is 32 Characters random string provided by Installer or your Host.
apiserialize, json or xml (Default: serialize)Softaculous Enterprise will return the output in the format specified.

Example

$url = 'http://enterprise.softaculous.com/index.php?'.
			'api_key=TESTAPIKEYAPIAPI'.
			'&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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actblank or anyAny act will do as this is available everywhere.

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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actsoftware, js, perlThe 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.
soft26 (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
softsubmit1This will trigger the install
softdomaindomain.comThis is the domain on which you wish to install the script
softdirectorywpThis is the sub-directory to install the script in. Leave it blank to install in root of the domain
softdbwp123This is the database name for the script. If the script does not require database you can leave this blank
dbusernamewp123This is the database user(Only for Softaculous Remote)
dbuserpassw1XRF28mq8This is the database password. You can generate a random password(Only for Softaculous Remote)
hostnamelocalhostThis 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_usernameadminThis is the admin account username for the installation
admin_passpassThis is the admin account password for the installation
admin_emailadmin@domain.comThis is the admin account email address for the installation
languageenLanguage for the installation. You can get the language codes from the respective install.xml
site_nameMy BlogSite Name for the installation
site_descMy WordPress BlogSite Description for the installation
dbprefixdbpref_(Optional) Table Prefix to be used for the tables created by application
noemail1(Optional) – Use this only if you do not want to send an email to the user
overwrite_existing1(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.
softproto1 – http:// 
2 – http://www
3 – https:// 
4 – https://www.
(Optional) – Protocol to be used for the installation
eu_auto_upgrade1(Optional) – Pass 1 to enable auto upgrade. Auto upgrade will be enabled only if the script supports auto upgrade.
auto_upgrade_plugins1(Optional) – Pass 1 to enable auto upgrade plugins. If script supports auto upgrade for plugin then it will be enabled.
auto_upgrade_themes1(Optional) – Pass 1 to enable auto upgrade themes. If script supports auto upgrade for theme then it will be enabled.
auto_backupdaily – Once a day 
weekly – Once a week 
monthly – Once a month
(Optional) – Enable auto backups
auto_backup_rotation0 – 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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
acteditdetailThe value should be “editdetail” for softaculous to perform the action of editing an installation.
insid26_12345The installation ID that you want to edit. It can be fetched from List Installed Script
POST
editins1This 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_urlhttp://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_dbnameusername_dbname(Optional) Database name for the installation. If not posted the Database name in existing records will be used.
edit_dbuserusername_dbuser(Optional) Database user for the installation. If not posted the Database user in existing records will be used.
edit_dbpassdbpass(Optional) Password of the database user for the installation. If not posted the password in existing records will be used.
edit_dbhostlocalhost(Optional) Database host for the installation. If not posted the Database host in existing records will be used.
eu_auto_upgrade1(Optional) 1 to Enable auto upgrade option and 0 to disable. If not posted the existing setting will not be changed.
auto_upgrade_plugins1(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_themes1(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)
noemail1(Optional) – Use this only if you do not want to send an email to the user
admin_usernameadminusername(Optional) – Use this only if the script provides admin account creation at the time of installation
admin_passadminpassword(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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actupgradeThe value should be “upgrade” for softaculous to perform the action of upgrading an installation.
insid26_12345The installation ID that you want to upgrade. It can be fetched from List Installed Script
POST
softsubmit1This 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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
acteditdetailThe value should be “editdetail” for softaculous to perform the action of editing an installation.
insid26_12345The installation ID that you want to edit. It can be fetched from List Installed Script
updateversion1The 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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actscloneThe value should be “sclone” for softaculous to perform the action of cloning an installation.
insid26_12345The installation ID that you want to clone. It can be fetched from List Installed Script
POST
softsubmit1This will trigger the upgrade
softdomaindomain.comThis is the domain on which you wish to clone the installation
softdirectorywpThis is the sub-directory to clone the installation in. Leave it blank to clone in root of the domain
softdbwp123This 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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actremoveThe value should be “remove” to perform the action of removing an installed script.
insid8 (Installation ID)Installation ID of the installed script. It can be fetched from List Installed Script
POST
removeins1This will trigger the remove install process
remove_dir1This 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_datadir1This 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_db1This 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_dbuser1This 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.
noemail1(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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actimportThe value should be “import” to perform the action of importing an installation.
soft26 (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
softdomainexample.comThis will be the domain where your script is installed. Domain should be without http:// or https://
softdirectorywp(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.
softsubmit1This 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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actsoftwareThe value should be “installations” to perform the action of listing installations.
soft26 (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
giveinfo1Pass 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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actinstallationsThe value should be “installations” to perform the action of listing installations.
showupdatestrue(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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actinstallationsThe value should be “installations” to perform the action of listing installations.
showupdatestrueThe 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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actbackupsThe value should be “backups” to perform the action of listing 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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actbackupThe value should be “backup” to perform the action of taking the backup of the installation.
insid26_5454 (Installation ID)Installation ID of the installed script. It can be fetched from List Installed Script
POST
backupins1This will trigger the backup function.
backup_dir1This is to backup the directory
backup_datadir1This is to backup the data directory
backup_db1This is to backup the database
backup_location
(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
noemail1(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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actrestoreThe value should be “restore” to perform the action of restoring the backup of the installation.
restorebackup_time_insid.tar.gz (Backup File Name)Name of the Backup File. It can be fetched from List Backups
POST
restore_ins1This will trigger the restore function.
restore_dir1This is to restore the directory
restore_datadir1This is to restorethe data directory
restore_db1This is to restore the database
noemail1(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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actbackupsThe value should be “backups” to perform the action of downloading the backup of an installation.
downloadbackup_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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actbackupsThe value should be “backups” to perform the action of downloading the backup of an installation.
removebackup_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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actsettingsThe value should be “settings” to perform the action of updating the settings of a user.
POST
editsettings1This will trigger the edit settings function
languageenglishThe language you want to set for the user.
timezone0This 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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actemailThe value should be “email” to perform the action of updating the email settings of a user.
POST
editemailsettings1This will trigger the edit email settings function
emailadmin@example.com(Optional) Pass a valid email to receive the updates, leave blank to leave the email unchanged.
ins_email1(Optional) Pass this as 1 to enable receiving email for new installations, off to disable the same.
rem_email1(Optional) Pass this as 1 to enable receiving email after removing an installation, off to disable the same.
editdetail_email1(Optional) Pass this as 1 to enable receiving email after editing an installation, off to disable the same.
backup_email1(Optional) Pass this as 1 to enable receiving email after backup of an installation, off to disable the same.
restore_email1(Optional) Pass this as 1 to enable receiving email after restore of an installation, off to disable the same.
clone_email1(Optional) Pass this as 1 to enable receiving email after cloning an installation, off to disable the same.
disable_all_notify_update1(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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actsign_onThe value should be “sign_on” to perform the action to get the sign on URL.
insid26_12345The installation ID that you want to edit. It can be fetched from List Installed Script
autoidabcdefghijklmnopqrstuvwxyz0123456789This 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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actdomainsThis will list the domains under the account that you are logged in as.
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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actadddomainThis will trigger the add domain function under the account that you are logged in as.
POST
add_domain1This will trigger the add domain function
domaindomain.comName of the domain to be added
server_hostftp.domain.com(Optional) This is the server host which will be used as the host to connect via FTP/FTPS/SFTP.
ftp_userftp_userUser to connect to the FTP/FTPS/SFTP server
ftp_passftp_passPassword for User to connect to the FTP/FTPS/SFTP server
ftp_path/public_htmlPath to the directory relative to home directory of user for installations
backup_path/backupsPath to the directory relative to home directory of user for storing backups
data_dir/datadirPath 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
port21Port number to connect to the FTP/SFTP/FTPS server. FTP default is 21.
public_key (Optional)Public KeyPath to Public Key. Specify only when sftp protocol is used
private_key (Optional)Private KeyPath to Private Key. Specify only sftp protocol is used
passphrase (Optional)PassphrasePassphrase 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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
acteditdomainThis will trigger the edit domain function under the account that you are logged in as.
did1This will will be the domain id of the domain which you want to edit. You can use the List Domainsfunction.
POST
edit_domain1This will trigger the edit domain function
domaindomain.comThis is the updated domain
server_hostftp.domain.com(Optional) This is the updated server host which will be used as the host to connect via FTP/FTPS/SFTP.
ftp_userftp_userThis is the updated FTP User
ftp_passftp_passThis is the updated FTP Pass
ftp_path/public_htmlThis is the updated FTP Path
backup_path/backupsThis is the updated backup path
data_dir/datadirThis is the updated data directory
protocol (Optional)ftp, ftps, sftp (Default: ftp)The Protocol to use for this domain
port21This is the updated port
public_key (Optional)Public KeyPath to Public Key. Specify only when sftp protocol is used
private_key (Optional)Private KeyPath to Private Key. Specify only sftp protocol is used
passphrase (Optional)PassphrasePassphrase 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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actdomainsThis will trigger the domains function under the account that you are logged in as.
delid1This will will be the domain id of the domain which you want to delete. You can use the List Domains function.
cleanins1(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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actlistuserThis will trigger the list users function.
reslenallNumber 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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actadduserThis will trigger the add user function.
POST
saveuser1This will trigger the add user function
usernametestuserThis is the username of the user you want to add. Note : Only lowercase characters are allowed in username
user_emailadmin@example.comThis is the email of the user you want to add
num_users0(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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actlistuserThis will trigger the edit user function.
nof10This will be the updated number of users to be allotted (Can be used for Reseller users only)
emailemail@xyz.comThis will be the Email ID to be set for the user
updateusernewuserThis is the new username that you want to set (Can be changed for non-reseller users only)
modusertestuserThis is the username of the user you want to edit
modownertestuserThis 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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actlistuserThis will trigger the delete user function.
delusertestuserThis will be the username of the user to be deleted
delownerrootThis 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)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actinstallationsThis will trigger the list installations function.
POST
listinstallations1This will trigger the listinstallations function
usersroot;user1;(Optional) Pass ; separated list of users to filter installations by users
scriptsWordPress;Joomla;(Optional) Pass ; separated list of scripts to filter installations by scripts
domainsexample.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)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actinstallationsThis will trigger the list installations function.
showoutdatedThis will trigger the outdated installations list function
POST
listinstallations1This will trigger the listinstallations function
usersroot;user1;(Optional) Pass ; separated list of users to filter installations by users
scriptsWordPress;Joomla;(Optional) Pass ; separated list of scripts to filter installations by scripts
domainsexample.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)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actinstallationsThis will trigger the list installations function.
POST
listinstallations1This will trigger the listinstallations function
only_realversion1This 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)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actinstallationsThis will trigger the list installations function.
POST
listinstallations1This will trigger the listinstallations function
only_realversion1This will trigger the only_realversion function to list only installations in which the version in Softaculous records do not match with actual installation version
listarray(‘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)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actins_statisticsThis will trigger the installation statistics function

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)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actaddplansThis will trigger the add plan function
POST
saveplan1This will trigger the add plan function
plannameplan1Plan name for the new plan being created
resellers_abc1(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_xyz1(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_261Use 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)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
acteditplansThis will trigger the edit plan function
planplan1This will be the plan name of the plan you want to edit
POST
saveplan1This will trigger the add plan function
plannameplan1Plan name for the new plan being created
resellers_abc1(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_xyz1(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_4131Use 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)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actplansThis is the default plans page act
deleteplan1This 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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actsoftwaresThis will trigger the enable/disable script function
POST
updatesoftUpdate SettingsThis will trigger the submit function for enabling/disabling the scripts
soft_261Use 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']);

}
Was this helpful to you?