API

Softaculous API

Softaculous API can be used to perform various functions in Softaculous like Installing scripts, Upgrading installations, Importing installations, List Installations, Backup installations, Restore backups, List Backups, Remove installations, Delete backups, Download backups. 

Admin Functions

Authenticating

Each Control Panel has its own method of authentication. Some panels allow root/admin to access the enduser panel as the enduser over an API call. However that is beyond the scope of this guide.

Enduser

Authenticating

You need to write your authentication method in this step i.e. how the login in your control panel works. If your control panel requires cookie you can generate the cookie in this step and then pass on the cookie while making the API call.

Example

We will take an example of cPanel where the login details are passed in the URL.

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?"

PHP

$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?';

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

Make sure you use this authentication while making any API call.

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

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=home&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&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.
sets_name[]set-name(Optional) This is used when you want the user to install sets, here set-name is the name of the set created.

Example

CURL

curl -d "softsubmit=1" -d "softdomain=example.com" -d "softdirectory=wp" -d "softdb=wpdb" -d "admin_username=admin" -d "admin_pass=adminpassword" -d "admin_email=admin@example.com" -d "language=en" -d "site_name=Wordpress Site" -d "site_desc=My Blog" -d "dbprefix=dbpref_" -d "sets_name[]=set-name" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=editdetail&insid=26_12345&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&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',
              'admin_username' => 'admin',
              'admin_pass' => 'adminpassword',
              'admin_email' => 'admin@example.com',
              'language' => 'en',
              'site_name' => 'WordPress Site',
              'site_desc' => 'My Blog',
              'dbprefix' => 'dbpref_',
              'sets_name[]' => 'set-name'
);

// 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 for Major as well as for Minor update, and 2 to upgrade to only Minor version 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

CURL

curl -d "editins=1" -d "edit_dir=/path/to/installation/" -d "edit_url=http://example.com" -d "edit_dbname=wpdb" -d "edit_dbuser=dbusername" -d "edit_dbpass=dbuserpass" -d "edit_dbhost=dbhost" -d "admin_username=adminusername" -d "admin_pass=adminpassword" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=editdetail&insid=26_12345&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&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

CURL

curl -d "softsubmit=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=upgrade&insid=26_12345&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&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

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=editdetail&insid=26_12345&updateversion=1&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&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

CURL

curl -d "softsubmit=1" -d "softdomain=example.com" -d "softdirectory=wp" -d "softdb=wpdb" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=sclone&insid=26_12345&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&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);

Staging an Installed Script

KeyValueDescription
AuthentcationYou can use the Enduser Authenticating or Admin Authentication methods.
actstagingThe value should be “staging” for softaculous to perform the action of staging an installation.
insid26_12345Installation ID of the installation that you want to create staging copy for. It can be fetched from List Installed Script
POST
softsubmit1This will trigger the Staging
softdomaindomain.comThis is the domain on which you wish to create the staging
softdirectorywpThis is the sub-directory to create the staging. Leave it blank to create staging in root of the domain
softdbwp123This is the database name for the created staging installation. If the script does not require database you can leave this blank.

Example

CURL

curl -d "softsubmit=1" -d "softdomain=domain.com" -d "softdirectory=wp" -d "softdb=wpdb" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=staging&insid=26_12345&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
			'&act=staging'.
                        '&insid=26_12345';

$post = array('softsubmit' => '1',
              'softdomain' => 'domain.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 'Staging was successfully created. URL to Installation Staging installation : '.$res['__settings']['softurl'];

// Error
}else{

	echo 'Some error occured';
	print_r($res['error']);

}

// Print the entire output just incase !
print_r($res);

Push To Live (Default Options)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actpushtoliveThe value should be “pushtolive” for softaculous to perform the action of pushtolive the staging installation.
insid26_12345The installation ID that you want to pushtolive. It can be fetched from List Installed Script
POST
softsubmit1This will trigger the pushtolive function

Example

CURL

curl -d "softsubmit=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=pushtolive&insid=26_12345&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
			'&act=pushtolive'.
                       '&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'])){

	echo 'The Staging installation has been pushed successfully to live installation : '.$res['liveins']['softurl'];

// Error
}else{

	echo 'Some error occured';
	print_r($res['error']);

}

// Print the entire output just incase !
print_r($res);

Push To Live (Customize Options)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actpushtoliveThe value should be “pushtolive” for softaculous to perform the action of pushtolive the staging installation.
insid26_12345The installation ID that you want to pushtolive. It can be fetched from List Installed Script
POST
softsubmit1This will trigger the pushtolive
custom_push1This will trigger the advanced push where you can select to push files or database(full database and table structures or tables data)
overwrite_files1This will overwrite all the files of your live installation with the ones in Staging installation.
push_db1This will erase the live database and import the full database from your staging installation.
structural_change_tablesarray(‘wptd_posts’,’wptd_users’)(Optional) – This will be the array to push tables having structural changes.
datachange_tablesarray(‘wptd_posts’,’wptd_users’)(Optional) – This will be the array to push tables having data changes.
push_views1(Optional) – This will push all “views” from your staging installation to live site.

Example

CURL

curl -d "softsubmit=1" -d "custom_push=1" -d "overwrite_files=1" -d "push_db=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=pushtolive&insid=26_12345&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
			'&act=pushtolive'.
                       '&insid=26_12345';

$post = array('softsubmit' => '1',
              'custom_push' => '1', 
              'overwrite_files' => '1', //This will push the files
              'push_db' => '1', //Push full 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);
 
// 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 'The Staging installation has been pushed successfully to live 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.
insid26_12345 (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

CURL

curl -d "removeins=1" -d "remove_dir=1" -d "remove_datadir=1" -d "remove_db=1" -d "remove_dbuser=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=remove&insid=26_12345&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
			'&act=remove'.
                        '&insid=26_12345';

$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

CURL

curl -d "softsubmit=1" -d "softdomain=example.com" -d "softdirectory=wp" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=import&soft=26&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
 '&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);

Bulk Import Manual Installations

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actsyncThe value should be “sync” to perform the action of importing all installations.
POST
import_all1This will trigger the import function to import all manual installations.

Example

CURL

curl -d "import_all=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=sync&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
 '&api=serialize'.
 '&act=sync';

$post = array('import_all' => 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);

Import From Other Installer

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actsyncThe value should be “sync” to perform the action of importing all installations.
POST
approvedarray(‘cbpny97zd5kcsk4coo8gws084′,’dxw755lmeb4s4cw40o8o8kk44’)This will be the array that you’ll have to post in which you’ll have to pass all the installations key that you want to import(You will get this key in list array of particular script).
softsubmit1This will trigger the import function to import all installations from other installer.

Example

First you will need to make API call without post parameter to get all list of installations fetched from other installer.

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=sync&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
 '&api=serialize'.
 '&act=sync';

// 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);
$res = unserialize($resp);
print_r($res);

Example response:

Array
(
[title] => Softaculous - Softaculous - Import
[info] => 
[notes] => 
[list] => Array
 (
  [26] => Array
   (
	[cbpny97zd5kcsk4coo8gws084] => Array
	  (
	   [base] => cbpny97zd5kcsk4coo8gws084
	   [path] => /home/soft/.appdata/current/cbpny97zd5kcsk4coo8gws084
	   [url] => http://www.test.nuftp.com/insat2
	   [domain] => test.nuftp.com
	   [dir] => insat2
	   [softproto] => http://www.
	  )
	[dxw755lmeb4s4cw40o8o8kk44] => Array
	 (
	  [base] => dxw755lmeb4s4cw40o8o8kk44
	  [path] => /home/soft/.appdata/current/dxw755lmeb4s4cw40o8o8kk44
	  [url] => http://www.test.nuftp.com/testinstallatr
	  [domain] => test.nuftp.com
	  [dir] => testinstallatr
	  [softproto] => http://www.
	 )
    )
  )
[timenow] => 1578496674
[time_taken] => 0.038
)

You will need to pass the all list installations keys that you want to import as you can see in response you will get the list array in which you will find the installations keys for particular scripts key, here we shown example of wordpress(26).

CURL

curl -d "softsubmit=1" -d "approved[]=cbpny97zd5kcsk4coo8gws084" -d "approved[]=dxw755lmeb4s4cw40o8o8kk44" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=sync&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
   '&api=serialize'.
   '&act=sync';
$post = array( 'softsubmit' => 1, 
               'approved' =>     array('cbpny97zd5kcsk4coo8gws084','dxw755lmeb4s4cw40o8o8kk44')); 
// 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);
$res = unserialize($resp);
print_r($res);  

Import an Installation from Remote server

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
domainsource.example.comThis will be the domain where your script is installed.
server_hostftp.example.com(OPTIONAL) This is the server host which will be used as the host to connect via FTP.
protocolftpThe Protocol to use for connecting to the domain. Currently only FTP protocol is supported.
port21Port number to connect to the FTP server. FTP default is 21.
ftp_userftp_userUser to connect to the FTP server.
ftp_passftp_passPassword for User to connect to the FTP server.
ftp_path/public_htmlPath to the directory relative to home directory of user for installations.
Installed_pathwp(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.
softproto1 – http:// 
2 – http://www
3 – https:// 
4 – https://www.
(Optional) – Protocol to be used for the destination installation.

softdomaindestination.example.comThis is the destination domain on which you wish to import the script.
dest_directorywp_dest(OPTIONAL) This will be the directory under the domain where you want the installation to be imported. Leave this blank if you want to import the installation to the root of your domain.
softdbdbname(OPTIONAL) This is the database name for the script. If the script does not require database you can leave this blank
remote_submit1This will trigger the remote import function.

Example

CURL

curl -d "remote_submit=1" -d "domain=source.example.com" -d "server_host=ftp.example.com" -d "protocol=ftp" -d "21" -d "ftp_user=ftp_user" -d "ftp_pass=ftp_pass" -d "ftp_path=/public_html" -d "Installed_path=wp" -d "softdomain=destination.example.com" -d "dest_directory=wp_dest" -d "softdb=db_name" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=import&soft=26&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
			'&act=import'.
			'&soft=26';

$post = array('remote_submit' => '1',
              'domain' => 'source.example.com', // Source installation domain
              'server_host' => 'ftp.example.com', // Optional
              'protocol' => 'ftp',
              'port' => '21',
              'ftp_user' => 'ftp_user',
              'ftp_pass' => 'ftp_pass',
              'ftp_path' => '/public_html',
              'Installed_path' => 'wp', // Optional
              'softdomain' => 'destination.example.com', // Destination domain
              'dest_directory' => 'wp_dest', // Optional Directory
              'softdb' => 'dbname' // Database name (Option for scripts that do not have database name)
);

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

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=software&soft=26&giveinfo=1&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&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

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=installations&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
 '&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);
 
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
 
if(!empty($res['error'])){

     // Error
     echo 'Some error occurred';
     print_r($res['error']);

}else{
     
     print_r($res['installations']);

}

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

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=installations&showupdates=true&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&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);
 
// 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['installations']);

// Error
}else{

	echo 'Some error occured';
	print_r($res['error']);

}

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

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=backups&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&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);
 
// 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['backups']);

// Error
}else{

	echo 'Some error occured';
	print_r($res['error']);

}

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_4545 (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

CURL

curl -d "backupins=1" -d "backup_dir=1" -d "backup_datadir=1" -d "backup_db=1" -d "backup_location=2" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=backup&insid=26_4545&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&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
              'backup_location' => '2' //Pass this if you want the current backup to be stored at a different location.
		);

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

CURL

curl -d "restore_ins=1" -d "restore_dir=1" -d "restore_datadir=1" -d "restore_db=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=restore&restore=backup_time_insid.tar.gz&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&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

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=backups&download=backup_time_insid.tar.gz&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
			'&act=backups'.
			'&download=backup_time_insid.tar.gz';


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

// This will have the backup file content
print_r($resp);

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

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=backups&remove=backup_time_insid.tar.gz&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
			'&act=backups'.
			'&remove=backup_time_insid.tar.gz';


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

CURL

curl -d "editsettings=1" -d "language=english" -d "timezone=0" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=settings&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&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

CURL

curl -d "editemailsettings=1" -d "email=admin@example.com" -d "ins_email=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=email&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&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

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=sign_on&insid=26_12345&autoid=abcdefghijklmnopqrstuvwxyz0123456789&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&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']);

Task list Status

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
acteu_tasklistThe value should be “eu_tasklist” to perform the action to get the status of the task.
sskabcdefghijklmnopqrstuvwxyz0123456789The ssk is the status file.

Example

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=eu_tasklist&ssk=abcdefghijklmnopqrstuvwxyz0123456789&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
			'&act=eu_tasklist'.
			'&ssk=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);

You will get the response as follows:

Array (     
[title] => Softaculous - Task List
[status] => Array
(
[process] =>
[current_status] => Propagating the database
[sid] => 26
[name] => WordPress
[version] => 4.7.5
[softurl] => https://domain.com/
[completed] => Installation Completed
[progress] => 100
)
[no_tasks] =>
[tasks_file] =>
[timenow] => 1496828740
[time_taken] => 0.001
)

Add Remote Backup Location

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actaddbackuplocThe value should be “addbackuploc” to perform the action to add the remote backup location.
POST
addbackuploc1This will trigger the backup location addition process.
location_nameBackuploc1A reference name for the Backup Location.
server_hostexample.comServer Host where you want to store your backups.
protocolftpProtocol with which you want to connect to the server host. If empty, default protocol will be FTP.
port21Port with which you want to connect to server host. If empty, default FTP port will be 21.
ftp_userftpusernameUsername of the FTP account.
ftp_passftppasswordPassword of the FTP account.
backup_loc/backupsRelative path from FTP user’s directory where you want to store your backups.

Example

CURL

curl -d "addbackuploc=1" -d "location_name=Backuploc1" -d "server_host=example.com" -d "protocol=ftp" -d "port=21" -d "ftp_user=ftpusername" -d "ftp_pass=ftppassword" -d "backup_loc=/backups" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=addbackuploc&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
	      '&api=serialize'.
	      '&act=addbackuploc';
			
$post = array('addbackuploc' => '1',
              'location_name' => 'Backuploc1',
              'server_host' => 'example.com', // Pass the server host where you want to store the backup			  
              'protocol' => 'ftp', // Pass the protocol with which you want to connect to server host. Default is FTP.
	      'port' => '21', // Pass the port to connect with server host. Default FTP port is 21.
	      'ftp_user' => 'ftpusername',
	      'ftp_pass' => 'ftppassword',
	      'backup_loc' => '/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);

// 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 "Backup location added to server";

// Error
}else{

	echo 'Some error occurred';
	print_r($res['error']);

}

List Backup Locations

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actsettingsThe value should be “settings” to perform the action to list the backup locations added by you.

Note: This API will be available from Softaculous 4.9.4.

Example

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=settings&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
	    '&api=serialize'.
	    '&act=settings';
			
// 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);

//Display the list of backup locations
print_r($res['backup_locs']);

Edit a Remote Backup Location

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
acteditbackuplocThe value should be “editbackuploc” to perform the action to edit a particular remote backup location.
loc_id1Location ID of a remote backup location. It can be fetched from List Backup Locations.
POST
editbackuploc1This will trigger the backup location edit process.
location_nameBackuploc1A reference name for the Backup Location.
server_hostexample.comServer Host where you want to store your backups.
protocolftpProtocol with which you want to connect to the server host. If empty, default protocol will be FTP.
port21Port with which you want to connect to server host. If empty, default FTP port will be 21.
ftp_userftpusernameUsername of the FTP account.
ftp_passftppasswordPassword of the FTP account.
backup_loc/backups1Relative path from FTP user’s directory where you want to store your backups.

Example

CURL

curl -d "editbackuploc=1" -d "location_name=Backuploc1" -d "server_host=example.com" -d "protocol=ftp" -d "port=21" -d "ftp_user=ftpusername" -d "ftp_pass=ftppassword" -d "backup_loc=/backups1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=editbackuploc&loc_id=1&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
	      '&api=serialize'.
	      '&act=editbackuploc'.
	      '&loc_id=1';
			
$post = array('editbackuploc' => '1',
              'location_name' => 'Backuploc1',
              'server_host' => 'example.com', // Pass the server host where you want to store the backups			  
              'protocol' => 'ftp', // Pass the protocol with which you want to connect to server host. Default is FTP.
	      'port' => '21', // Pass the port with which you want to connect to FTP user account. Default FTP port is 21.
	      'ftp_user' => 'ftpusername',
	      'ftp_pass' => 'ftppassword',
	      'backup_loc' => '/backups1'
	      );

// 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 "Backup location editted successfully";

// Error
}else{

	echo 'Some error occured';
	print_r($res['error']);

}

Delete a Remote Backup Location

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actsettingsThe value should be “settings” to perform the action to delete a particular remote backup location from list.
del_loc_id1Location ID of a remote backup location. It can be fetched from List Backup Locations.

Example

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=settings&del_loc_id=1&api=json"

PHP

$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
	     '&api=serialize'.
	     '&act=settings'.
	     '&del_loc_id=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);

//Display list of backup locations after successfully removal of a backup location.
print_r($res['backup_locs']);

WordPress Sets

Create Set

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actmanage_setsThe value should be “manage_sets” to perform the action of creating a set.
POST
set_inputSET-NAMEThe value must be name of your set
add_sets1This will trigger the addition of set

Example

CURL

curl -d "set_input=SET-NAME" -d "add_sets=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=manage_sets&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
			'&act=manage_sets';

$post = array('set_input' => 'SET-NAME', //Name of your set
              'add_sets' => '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']);

}

Add Plugin

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actmanage_setsThe value should be “manage_sets” to perform the action of installing plugin to a set.
sets_nameSET-NAMEThe value should be name of your set
plugins1The value of plugin must be 1 to install plugin in set
add_plugins_themes_data1The add_plugins_themes_data is to add the plugin to the set.
POST
add_plugins_themes_data_slugsAn array with the plugin slugsAn array with the plugin slugs that you want to add.
add_plugins_themes_data_namesAn array with the plugin nameAn array with the plugin names that you want to add.

Example

CURL

curl -d "add_plugins_themes_data_slugs[]=loginizer" -d "add_plugins_themes_data_names[]=Loginizer" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=manage_sets&sets_name=SET-NAME&plugins=1&add_plugins_themes_data=1&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&sets_name=SET-NAME'.
                        '&plugins=1'.
                        '&add_plugins_themes_data=1'.
			'&act=manage_sets';

$post = array('add_plugins_themes_data_slugs' => array('loginizer'), //Slug name
              'add_plugins_themes_data_names' => array('Loginizer') //Plugin name
);

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

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actmanage_setsThe value should be “manage_sets” to perform the action of installing theme to a set.
sets_nameSET-NAMEThe value should be name of your set
themes1The value of themes must be 1 to install theme in set
add_plugins_themes_data1The add_plugins_themes_data is to add the theme to the set.
POST
add_plugins_themes_data_slugsAn array with the theme slugsAn array with the theme slugs that you want to add.
add_plugins_themes_data_namesAn array with the theme namesAn array with the theme names that you want to add.

Example

CURL

curl -d "add_plugins_themes_data_slugs[]=popularfx" -d "add_plugins_themes_data_names[]=PopularFx" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=manage_sets&sets_name=SET-NAME&themes=1&add_plugins_themes_data=1&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&sets_name=SET-NAME'.
                        '&themes=1'.
                        '&add_plugins_themes_data=1'.
			'&act=manage_sets';

$post = array('add_plugins_themes_data_slugs' => array('popularfx'), //Slug name
              'add_plugins_themes_data_names' => array('PopularFx') //Theme name
);

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

}

Remove Set

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actmanage_setsThe value should be “manage_sets” to perform the action of removing a set.
remove_sets1This will trigger the removal process of set.
POST
setsAn array with the set namesAn array with the set names you want to remove.

Example

CURL

curl -d "sets[]=SET-NAME" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=manage_sets&remove_sets=1&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&remove_sets=1'.
			'&act=manage_sets';

$post = array('sets' => array('SET-NAME'), //Set name

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

}

Remove Plugin from Set

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actmanage_setsThe value should be “manage_sets” to perform the action of removing plugin from set.
set_nameSET-NAMEThe value should be name of your set from which plugin is to be removed.
plugins1The value must be 1 to remove plugin from set.
plugins_themes_to_removeloginizerThe slug name of plugin

Example

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=manage_sets&set_name=SET-NAME&plugins=1&plugins_themes_to_remove=loginizer&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&set_name=SET-NAME'.
                        '&plugins=1'.
                        '&plugins_themes_to_remove=loginizer'.
			'&act=manage_sets';

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

}

Remove Theme from Set

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actmanage_setsThe value should be “manage_sets” to perform the action of removing theme from set.
set_nameSET-NAMEThe value should be name of your set from which theme is to be removed.
themes1The value must be 1 to remove theme from set.
plugins_themes_to_removepopularfxThe slug name of theme

Example

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=manage_sets&set_name=SET-NAME&themes=1&plugins_themes_to_remove=popularfx&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&set_name=SET-NAME'.
                        '&themes=1'.
                        '&plugins_themes_to_remove=popularfx'.
			'&act=manage_sets';

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

}

Install Set

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actmanage_setsThe value should be “manage_sets” to perform the action of removing a set.
softinstall_setSET-NAMEThe value should be name of your set which is to be installed.
softwebsites26_35180The installation ID that you want the set to be installed on. It can be fetched from List Installed Script

Example

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=manage_sets&softinstall_set=SET-NAME&softwebsites=26_35180&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&softinstall_set=SET-NAME'.
                        '&softwebsites=26_35180'.
			'&act=manage_sets';

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

}

Pre-Select Set

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actmanage_setsThe value should be “manage_sets” to perform the action of removing a set.
set_nameSET-NAMEThe value should be name of your set which to be pre-selected on install form
default_value1This will pre-select the set.

Example

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=manage_sets&set_name=SET-NAME&default_value=1&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&set_name=SET-NAME'.
                        '&default_value=1'.
			'&act=manage_sets';

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

}

WordPress Manager

List WordPress Installations

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actwordpressThe value should be “wordpress” to perform the action of listing wordpress installations.

Example

CURL

curl "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"

PHP

// The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
             '&api=serialize'.
             '&act=wordpress';

// 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);
 
if(!empty($res['error'])){

     // Error
     echo 'Some error occurred';
     print_r($res['error']);

}else{
     
     print_r($res);

}

Auto Login to WordPress admin panel

You can use the Auto Sign On API example to Auto Login to the WordPress admin panel via WordPress Manager.

Upgrade Installation

You can use the Upgrade an Installed Script API to upgrade the installation via WordPress Manager.

Auto Upgrade Core Settings

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to perform the action of enabling auto upgrade core settings.
POST
insid26_31793The installation ID for which you want to enable auto upgrade . It can be fetched from List WordPress Installations
auto_upgrade_core1The values for auto upgrade core settings can be:
0 – Do not upgrade
1 – Upgrade to minor version only
2- Upgrade to any latest version available (Major as well as Minor)
save1This shall enable the auto upgrade core settings

Example

CURL

curl -d "insid=26_31793" -d "auto_upgrade_core=1" -d "save=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'auto_upgrade_core' => '1',
              'save' => '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']);

}

Auto Upgrade Plugins/Themes Settings

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to perform the action of enabling auto upgrade plugin/theme settings.
POST
insid26_31793The installation ID for which you want to enable auto upgrade . It can be fetched from List WordPress Installations
auto_upgrade_plugins1The values for auto upgrade plugin setting can be:
0 – Do not upgrade
1 – Enable auto upgrade of plugin
auto_upgrade_themes1The values for auto upgrade theme setting can be:
0 – Do not upgrade
1 – Enable auto upgrade of theme
save1This shall enable the auto upgrade for plugin/theme

Example

CURL

curl -d "insid=26_31793" -d "auto_upgrade_plugins=1" -d "auto_upgrade_themes=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'auto_upgrade_plugins' => '1',
              'auto_upgrade_themes' => '1',
              'save' => '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']);

}

Enable/Disable Search Engine Visibility

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to perform the action of enabling/disabling the search engine visibility.
POST
insid26_31793The installation ID for which you want to enable/disable search engine visibility. It can be fetched from List WordPress Installations
blog_public1The values to enable/disable search engine visibility:
0 – Disable
1 – Enable
save1This shall enable/disable search engine visibility.

Example

CURL

curl -d "insid=26_31793" -d "blog_public=1" -d "save=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'blog_public' => '1',
              'save' => '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']);

}

Enable/Disable WordPress CRON

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to perform the action of enabling/disabling the WordPress cron.
POST
insid26_31793The installation ID for which you want to enable/disable the WordPress cron. It can be fetched from List WordPress Installations
disable_wp_cron0The values to enable/disable the WordPress cron:
0 – Enable
1 – Disable
save1This shall enable/disable the WordPress cron.

Example

CURL

curl -d "insid=26_31793" -d "disable_wp_cron=0" -d "save=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'disable_wp_cron' => '0',
              'save' => '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']);

}

Enable/Disable WordPress Debug Mode

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to perform the action of enabling/disabling the debug mode in WordPress.
POST
insid26_31793The installation ID for which you want to enable/disable the debug mode in WordPress. It can be fetched from List WordPress Installations
wp_debug1The values to enable/disable the debug mode in WordPress:
0 – Disable
1 – Enable
save1This shall enable/disable the debug mode in WordPress.

Example

CURL

curl -d "insid=26_31793" -d "wp_debug=0" -d "save=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'wp_debug' => '1',
              'save' => '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']);

}

Change Website URL

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to perform the action of changing the Site URL in WordPress.
POST
insid26_31793The installation ID for which you want to change the Site URL. It can be fetched from List WordPress Installations
softurlhttps://example.com/testThe value is the name of the URL
site_nameMy Blog TestThe value is the blog or site name
save_info1This shall save the changed site URL

Example

CURL

curl -d "insid=26_31793" -d "softurl=https://example.com/test" -d "site_name=My Blog Test" -d "save_info=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'softurl' => 'https://example.com/test',
              'site_name' => 'My Blog Test',
              'save_info' => '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']);

}

Change Site Name

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to perform the action of changing the Site name in WordPress.
POST
insid26_31793The installation ID for which you want to change the Site name. It can be fetched from List WordPress Installations
softurlhttps://example.com/testThe value is the name of the URL
site_nameMy Blog TestThe value is the blog or site name
save_info1This shall save the changed site name

Example

CURL

curl -d "insid=26_31793" -d "softurl=https://example.com/test" -d "site_name=My Blog Test" -d "save_info=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'softurl' => 'https://example.com/test',
              'site_name' => 'My Blog Test',
              'save_info' => '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']);

}

Change Password

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to perform the action of changing the password of any user account in WordPress.
POST
insid26_31793The installation ID for which you want to change the user password. It can be fetched from List WordPress Installations
admin_usernameadminThe value is the admin username
admin_passwordnew_passwordThe value is the new admin password
save_admin_info1This shall save the changed password

Example

CURL

curl -d "insid=26_31793" -d "admin_username=admin" -d "admin_password=new_password" -d "save_admin_info=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"

PHP

//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'admin_username' => 'admin',
              'admin_password' => 'new_password',
              'save_admin_info' => '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']);

}

Manage Plugins

Activate Plugin
KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to load WordPress Manager.
POST
insid26_31793The installation ID for which you want to activate the plugin. It can be fetched from List WordPress Installations
typepluginsThe value should be “plugins”
slugakismet/akismet.phpThe value is the plugin file path. Generally plugin folders are designed like <pluginname>/<pluginname>.php
activate1This shall activate the plugin

Example

CURL
curl -d "insid=26_31793" -d "type=plugins" -d "slug=akismet/akismet.php" -d "activate=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"
PHP
//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'type' => 'plugins',
              'slug' => 'akismet/akismet.php',
              'activate' => '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']);

}
Deactivate Plugin
KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to load WordPress Manager.
POST
insid26_31793The installation ID for which you want to deactivate the plugin. It can be fetched from List WordPress Installations
typepluginsThe value should be “plugins”
slugakismet/akismet.phpThe value is the plugin file path. Generally plugin folders are designed like <pluginname>/<pluginname>.php
deactivate1This shall deactivate the plugin

Example

CURL
curl -d "insid=26_31793" -d "type=plugins" -d "slug=akismet/akismet.php" -d "deactivate=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"
PHP
//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'type' => 'plugins',
              'slug' => 'akismet/akismet.php',
              'deactivate' => '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']);

}
Remove Plugin
KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to load WordPress Manager.
POST
insid26_31793The installation ID for which you want to remove the plugin. It can be fetched from List WordPress Installations
typepluginsThe value should be “plugins”
slugakismet/akismet.phpThe value is the plugin file path. Generally plugin folders are designed like <pluginname>/<pluginname>.php
delete1This shall remove the plugin

Example

CURL
curl -d "insid=26_31793" -d "type=plugins" -d "slug=akismet/akismet.php" -d "delete=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"
PHP
//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'type' => 'plugins',
              'slug' => 'akismet/akismet.php',
              'delete' => '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']);

}
Install Plugin
KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to load WordPress Manager.
POST
insid26_31793The installation ID for which you want to install the plugin. It can be fetched from List WordPress Installations
typepluginsThe value should be “plugins”
slugloginizerThe value is the slug for the plugin from wordpress.org to be installed.
install1This shall install the plugin

Example

CURL
curl -d "insid=26_31793" -d "type=plugins" -d "slug=loginizer" -d "install=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"
PHP
//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'type' => 'plugins',
              'slug' => 'loginizer',
              'install' => '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']);

}
Upload & Install Plugin
KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to load WordPress Manager.
upload1The value should be 1 to perform the action of upload & install plugin.
POST
insid26_31793The installation ID for which you want to install the plugin. It can be fetched from List WordPress Installations
typepluginsThe value should be “plugins”
custom_file/path/to/loginizer.1.6.7.zipThe value is the full path on your server for plugin zip file to be installed
activate1This is to activate the plugin upon installation
0 – If you do not want to activate the plugin
1- If you want to activate the plugin

Example

CURL
curl -i -X POST -H "Content-Type: multipart/form-data" -F "custom_file=@/path/to/loginizer.1.6.7.zip" -F "insid=26_31793" -F "type=plugins" -F "activate=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json&upload=1"
PHP
//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress'.
                        '&upload=1';

// Plugin zip file
$file_name_with_full_path = 'loginizer.1.6.7.zip';

// php 5.5+
if (function_exists('curl_file_create')) { 
  $cFile = curl_file_create($file_name_with_full_path);
} else { 
  $cFile = '@' . realpath($file_name_with_full_path);
}

$post = array('insid' => '26_31793',
              'type' => 'plugins',
              'activate' => '1',
              'custom_file' => $cFile
);

// 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, $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']);

}

Manage Themes

Activate Theme
KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to load WordPress Manager.
POST
insid26_31793The installation ID for which you want to activate the theme. It can be fetched from List WordPress Installations
typethemesThe value should be “themes”
slugtwentytwenty/style.cssThe value is the theme file path.
Path format – <themename>/style.css
activate1This shall activate the theme

Example

CURL
curl -d "insid=26_31793" -d "type=themes" -d "slug=twentytwenty/style.css" -d "activate=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"
PHP
//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'type' => 'themes',
              'slug' => 'twentytwenty/style.css',
              'activate' => '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']);

}
Deactivate Theme
KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to load WordPress Manager.
POST
insid26_31793The installation ID for which you want to deactivate the theme. It can be fetched from List WordPress Installations
typethemesThe value should be “themes”
slugtwentytwenty/style.cssThe value is the theme file path.
Path format – <themename>/style.css
deactivate1This shall deactivate the theme
Note: Atleast one active theme is required

Example

CURL
curl -d "insid=26_31793" -d "type=themes" -d "slug=twentytwenty/style.css" -d "deactivate=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"
PHP
//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'type' => 'themes',
              'slug' => 'twentytwenty/style.css',
              'deactivate' => '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']);

}
Remove Theme
KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to load WordPress Manager.
POST
insid26_31793The installation ID for which you want to remove the theme. It can be fetched from List WordPress Installations
typethemesThe value should be “themes”
slug twentytwenty/style.css The value is the theme file path.
Path format – <themename>/style.css
delete1This shall remove the theme

Example

CURL
curl -d "insid=26_31793" -d "type=themes" -d "slug=twentytwenty/style.css" -d "delete=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"
PHP
//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'type' => 'themes',
              'slug' => 'twentytwenty/style.css',
              'delete' => '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']);

}
Install Theme
KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to load WordPress Manager.
POST
insid26_31793The installation ID for which you want to install the theme. It can be fetched from List WordPress Installations
typethemesThe value should be “themes”
slug twentytwenty The value is the slug for the theme from wordpress.org to be installed.
install1This shall install the theme

Example

CURL
curl -d "insid=26_31793" -d "type=themes" -d "slug=twentytwenty" -d "install=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json"
PHP
//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress';

$post = array('insid' => '26_31793',
              'type' => 'themes',
              'slug' => 'twentytwenty',
              'install' => '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']);

}
Upload & Install Theme
KeyValueDescription
AuthenticationYou can use the Enduser Authenticating methods.
actwordpressThe value should be “wordpress” to load WordPress Manage.
upload1The value should be 1 to perform the action of upload & install theme.
POST
insid26_31793The installation ID for which you want to install the plugin. It can be fetched from List WordPress Installations
typethemesThe value should be “themes”
custom_file/path/to/twentytwenty.1.8.zipThe value is the full path on your server for theme zip file to be installed
activate1This is to activate the theme upon installation
0 – If you do not want to activate the theme
1- If you want to activate the theme

Example

CURL
curl -i -X POST -H "Content-Type: multipart/form-data" -F "custom_file=@/path/to/twentytwenty.1.8.zip" -F "insid=26_31793" -F "type=themes" -F "activate=1" "https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?act=wordpress&api=json&upload=1"
PHP
//The URL
$url = 'https://user:password@domain.com:2083/frontend/paper_lantern/softaculous/index.live.php?'.
			'&api=serialize'.
                        '&act=wordpress'.
                        '&upload=1';

// Theme zip file
$file_name_with_full_path = 'twentytwenty.1.8.zip';

// php 5.5+
if (function_exists('curl_file_create')) { 
  $cFile = curl_file_create($file_name_with_full_path);
} else { 
  $cFile = '@' . realpath($file_name_with_full_path);
}

$post = array('insid' => '26_31793',
              'type' => 'themes',
              'activate' => '1',
              'custom_file' => $cFile
);

// 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, $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 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

Example

CURL

curl -d "listinstallations=1" "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=installations&api=json"

PHP

// URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php?'.
			'&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
              );

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

Example

CURL

curl -d "listinstallations=1" "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=installations&show=outdated&api=json"

PHP

// URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php?'.
			'&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
              );

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

CURL

curl -d "listinstallations=1" -d "only_realversion=1" "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=installations&api=json"

PHP

// URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php?'.
			'&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

CURL

curl -d "listinstallations=1" -d "only_realversion=1" -d "list[]=username-26_68351" -d "list[]=username-26_68352" "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=installations&api=json"

PHP

// URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php?'.
			'&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

CURL

curl "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=ins_statistics&api=json"

PHP

// URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php?'.
			'&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
cpplan_CPPlanName1Use this to pass the control panel plan(s). cpplan_ is the prefix followed by the control panel plan name. For Example: cpplan_SoftRestriction.

Example

CURL

curl -d "saveplan=1" -d "planname=1" -d "cpplan_CPPlanName" -d "resellers_abc=1" -d "users_xyz=1" -d "scripts_26=1" -d "scripts_413=1" "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=addplans&api=json"

PHP

// URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php?'.
			'&api=serialize'.
			'&act=addplans';

$post = array('saveplan' => '1',
	'planname' => 'plan1',
	'resellers_abc' => '1',
	'users_xyz' => '1',
        'cpplan_CPPlanName' => '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
cpplan_CPPlanName1Use this to pass the control panel plan(s). cpplan_ is the prefix followed by the control panel plan name. For Example: cpplan_SoftRestriction.

Example

CURL

curl -d "saveplan=1" -d "planname=1" -d "cpplan_CPPlanName" -d "resellers_abc=1" -d "users_xyz=1" -d "scripts_543=1" -d "scripts_72=1" "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=editplans&plan=plan1&api=json"

PHP

// URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php?'.
			'&api=serialize'.
			'&act=editplans'.
			'&plan=plan1';


$post = array('saveplan' => '1',
	'planname' => 'plan1',
	'resellers_abc' => '1',
	'users_xyz' => '1',
        'cpplan_CPPlanName' => '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

CURL

curl "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=plans&delete=plan1&api=json"

PHP

// URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php?'.
			'&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

CURL

curl -d "updatesoft=Update Settings" -d "soft_26=1" -d "soft_18=1" -d "soft_543=1" -d "soft_11=1" -d "soft_3=1" -d "soft_34=1" -d "soft_14=1" -d "soft_470=1" "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=softwares&api=json"

PHP

// URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php?'.
			'&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']);

}

WordPress Admin Sets

Create Admin Set

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actmanage_setsThe value should be “manage_sets” to perform the action of creating a set.
POST
set_inputSET-NAMEThe value must be name of your set
add_sets1This will trigger the addition of set

Example

CURL

curl -d "set_input=SET-NAME" -d "add_sets=1" "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=manage_sets&api=json"

PHP

// URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php?'.
			'&api=serialize'.
			'&act=manage_sets';

$post = array('set_input' => 'SET-NAME', //Name of your set
              'add_sets' => '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']);

}

Add Plugin (Admin Panel)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actmanage_setsThe value should be “manage_sets” to perform the action of installing plugin to a set.
sets_nameSET-NAME_adminThe value should be name of your set and append _admin to the set name for admin sets.
plugins1The value of plugin must be 1 to install plugin in set
add_plugins_themes_data1The add_plugins_themes_data is to add the plugin to the set.
POST
add_plugins_themes_data_slugsAn array with the plugin slugsAn array with the plugin slugs that you want to add.
add_plugins_themes_data_namesAn array with the plugin nameAn array with the plugin names that you want to add

Example

CURL

curl -d "add_plugins_themes_data_slugs[]=loginizer" -d "add_plugins_themes_data_names[]=Loginizer" "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=manage_sets&sets_name=SET-NAME_admin&plugins=1&add_plugins_themes_data=1&api=json"

PHP

//The URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php'.
                        '&api=serialize'.
                        '&sets_name=SET-NAME_admin'.
                        '&plugins=1'.
                        '&add_plugins_themes_data=1'.
			'&act=manage_sets';

$post = array('add_plugins_themes_data_slugs' => array('loginizer'), //Slug name
              'add_plugins_themes_data_names' => array('Loginizer') //Plugin name
);

// 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 Theme (Admin Panel)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actmanage_setsThe value should be “manage_sets” to perform the action of installing theme to a set.
sets_nameSET-NAME_adminThe value should be name of your set and append _admin to the set name for admin sets.
themes1The value of themes must be 1 to install theme in set
add_plugins_themes_data1The add_plugins_themes_data is to add the theme to the set.
POST
add_plugins_themes_data_slugsAn array with the theme slugsAn array with the theme slugs that you want to add.
add_plugins_themes_data_namesAn array with the theme namesAn array with the theme names that you want to add

Examples

CURL

curl -d "add_plugins_themes_data_slugs[]=popularfx" -d "add_plugins_themes_data_names[]=PopularFx" "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=manage_sets&sets_name=SET-NAME_admin&themes=1&add_plugins_themes_data=1&api=json"

PHP

//The URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php'.
			'&api=serialize'.
                        '&sets_name=SET-NAME_admin'.
                        '&themes=1'.
                        '&add_plugins_themes_data=1'.
			'&act=manage_sets';

$post = array('add_plugins_themes_data_slugs' => array('popularfx'), //Slug name
              'add_plugins_themes_data_names' => array('Popularfx') //Theme name
);

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

}

Remove Set (Admin Panel)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actmanage_setsThe value should be “manage_sets” to perform the action of removing a set.
remove_sets1This will trigger the removal process of set.
POST
setsAn array with the set namesAn array with the set names you want to remove and append the _admin to the set name for admin sets.

Example

CURL

curl -d "sets[]=SET-NAME_admin" "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=manage_sets&remove_sets=1&api=json"

PHP

//The URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php'.
			'&api=serialize'.
                        '&remove_sets=1'.
			'&act=manage_sets';

$post = array('sets' => array('SET-NAME_admin'), //Set name

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

}

Remove Plugin from Set (Admin Panel)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actmanage_setsThe value should be “manage_sets” to perform the action of removing plugin from set.
set_nameSET-NAME_adminThe value should be name of your set from which plugin is to be removed and also append _admin to the set name for admin sets.
plugins1The value must be 1 to remove plugin from set.
plugins_themes_to_removeloginizerThe slug name of plugin

Example

CURL

curl "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=manage_sets&set_name=SET-NAME_admin&plugins=1&plugins_themes_to_remove=loginizer&api=json"

PHP

//The URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php'.
			'&api=serialize'.
                        '&set_name=SET-NAME_admin'.
                        '&plugins=1'.
                        '&plugins_themes_to_remove=loginizer'.
                        '&act=manage_sets';

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

}

Remove Theme from Set (Admin Panel)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actmanage_setsThe value should be “manage_sets” to perform the action of removing theme from set.
set_nameSET-NAME_adminThe value should be name of your set from which theme is to be removed and also append _admin to the set name for admin sets.
themes1The value must be 1 to remove theme from set.
plugins_themes_to_removepopularfxThe slug name of theme

Example

CURL

curl "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=manage_sets&set_name=SET-NAME_admin&themes=1&plugins_themes_to_remove=popularfx&api=json"

PHP

//The URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php'.
			'&api=serialize'.
                        '&set_name=SET-NAME_admin'.
                        '&themes=1'.
                        '&plugins_themes_to_remove=popularfx'.
			'&act=manage_sets';

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

}

Pre-Select Set (Admin Panel)

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actmanage_setsThe value should be “manage_sets” to perform the action of removing a set.
set_nameSET-NAME_adminThe value should be name of your set which to be pre-selected on install form and also append _admin to the set name for admin sets.
default_value1This will pre-select the set.

Example

CURL

curl "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=manage_sets&set_name=SET-NAME_admin&default_value=1&api=json"

PHP

//The URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php'.
			'&api=serialize'.
                        '&set_name=SET-NAME_admin'.
                        '&default_value=1'.
			'&act=manage_sets';

// 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 Custom Script

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actcustomscriptsThe value should be “customscripts” to perform the action of creating a custom script.
sactaddThe value should be “add” to add custom script.
POST
csnameCUSTOM-SCRIPT-NAMEThe value must be name of your custom script
softnamecustom-scriptThe value must be folder name of the custom script package
descDescriptionThe value must be the description of your custom script
ver1.0The value must be the version of your custom script
catCategoryThe value must be the category of your custom script. For example, Blogs, Ecommerce etc.
add_submit1This will trigger the addition of your custom script

Example

CURL

curl -d "csname=Custom Script" -d "softname=custom" -d "desc=My Custom Script" -d "ver=1.0" -d "cat=blogs" -d "add_submit=1" "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=customscripts&sact=add&api=json"

PHP

// URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php?'.
			'&api=serialize'.
			'&act=customscripts'.
                         '&sact=add';

$post = array('csname' => 'CUSTOM SCRIPT', //Name of your custom script
              'softname' => 'custom', //Name of the custom script folder
              'desc' => 'My Custom Script', //Description of custom script
              'ver' => '1.0', //Version of custom script
              'cat' => 'blogs', //Category
              'add_submit' => '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']);

}

Edit Custom Script

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actcustomscriptsThe value should be “customscripts” to perform the action of editing a custom script.
sacteditThe value should be “edit” to edit the custom script.
sid10001Here 10001 is the sid or script id of your custom script. The sid can be fetch from List Custom Scripts
POST
csnameCUSTOM-SCRIPT_NAMEThe value must be name of your custom script
softnamecustom-scriptThe value must be folder name of the custom script package
descDescriptionThe value must be the description of your custom script
ver1.0The value must be the version of your custom script
catCategoryThe value must be the category of your custom script. For example, Blogs, Ecommerce etc.
parent10002(OPTIONAL) – The value must be sid of your parent script, in case if you want to set your custom script as child. The parent sid can be fetch from List Custom Scripts
edit_submit1This will trigger the action of editing the custom script

Example

CURL

curl -d "csname=Custom Script" -d "softname=custom" -d "desc=My Custom Script" -d "ver=1.0" -d "cat=blogs" -d "parent=10002" -d "edit_submit=1" "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=customscripts&sact=edit&sid=10001&api=json"

PHP

// URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php?'.
			'&api=serialize'.
			'&act=customscripts'.
                         '&sact=edit'.
                         '&sid=10001';

$post = array('csname' => 'CUSTOM SCRIPT', //Name of your custom script
              'softname' => 'custom', //Name of the custom script folder
              'desc' => 'My Custom Script', //Description of custom script
              'ver' => '1.0', //Version of custom script
              'cat' => 'blogs', //Category
              'parent' => '10002', //Parent sid
              'edit_submit' => '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']);

}

Delete Custom Script

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actcustomscriptsThe value should be “customscripts” to perform the action of deleting a custom script.
remid10001The value should be sid of the custom script you want to delete. You can fetch the sid from List Custom Scripts

Example

CURL

curl "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=customscripts&remid=10001&api=json"

PHP

// URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php?'.
			'&api=serialize'.
			'&act=customscripts'.
                         '&remid=10001';

// 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 Custom Scripts

KeyValueDescription
AuthenticationYou can use the Enduser Authenticating or Admin Authentication methods.
actcustomscriptsThe value should be “customscripts” to perform the action of listing the custom scripts.

Example

CURL

curl "https://user:password@domain.com:2087/url/to/softaculous/index.php?act=customscripts&api=json"

PHP

// URL
$url = 'http://admin.controlpanel.com:PORT/url/to/softaculous/index.php?'.
			'&api=serialize'.
			'&act=customscripts';

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

}
Was this helpful to you?