Login/Register
Installatron Plugin
API Documentation

Migrate Install

POST /browser/{id}/migrate

Migrate an externally-installed application from a remote location to this account and import it into Installatron.

Migration is a two-step operation: first the install's files and database will be copied from the remote location to the user's account and reconfigured to work from this new location, and secondly it will be imported into Installatron.

Note: this API was previously part of the import API. The old migration API will continue to work.

Parameters


API

/browser/{id}/migrate
API endpoint.

{id} is keyword ID of the application to migrate. For example,
wordpress
or
magento
.

Use the GET /browser API to retrieve a list of available applications or see Apps Table for a complete list of installer IDs.
POST
Method.

Required parameters

url
string
The destination URL, in the user's account, where the source application will be copied to.
source_url
string
The source application's URL.

For example,
http://remotewebsite.com/blog
.
source_path
string
The source application's account information.

Supported protocols:
  • ftp
  • ftps
  • sftp
  • ssh
  • app
    (WordPress only)

Examples:
  • sftp://user:pass@website.com
  • sftp://user:pass@website.com/public_html
  • sftp://user:pass@website.com/public_html/blog


The
app://
protocol is a feature of Installatron that allows you to migrate a WordPress application by providing only the app's administrative username, and either the app's administrative password or, if you have the Installatron Migration Assistant WordPress plugin installed for on this app, its Connection ID. With this information alone, Installatron is able to migrate the application to the destination
url
.

Optional parameters

source_url_ip
string
If a different IP address must be temporarily used to connect to the URL, use this argument to provide the correct IP.
(eg.
123.123.123.123
)

Note that url_ip is not cached by Installatron. If it is required in order to access a resource then it must be included each time.

default is the IP address the source domain's public DNS resolves to
source_path_key
string
An optional SSH key file.

default is no SSH key
disallow_wordpress_multisite
boolean
(WordPress only)
true
to block migration of multi-site WordPress applications.

default is to not block multi-site WordPress applications
url_ip
string
If a different IP address must be temporarily used to connect to the URL, use this argument to provide the correct IP.
(eg.
123.123.123.123
)

Note that url_ip is not cached by Installatron. If it is required in order to access a resource then it must be included each time.

default is the IP address configured in the control panel for the website
notification
array of strings
Array of email notifications that the owner of this app will receive, or an empty array to send no notifications.

Available notifications:
  • backup
  • backup_error
  • clone
  • clone_error
  • install
  • install_error
  • plugin_update
  • plugin_update_available
  • plugin_update_error
  • restore
  • restore_error
  • sync
  • sync_error
  • template
  • template_error
  • update
  • update_available
  • update_error
(eg.
["update_available","update","update_error"]
)
(eg.
[]
for no notifications)

default is all notification types enabled
user
string
The system or control panel username the task is to be performed on or for.

default is the owner of the URL identified by the url parameter

Optional automatic backup parameters

autobk
enum
The automatic backup configuration.
  • none
    = Auto-backups are disabled.
  • schedule
    = Use the admin-defined backup schedule referenced by the autobk_schedule parameter.
  • custom
    = Use the backup schedule defined by the combined autobk_daily, autobk_weekly, and autobk_monthly parameters.


default is
none
autobk_schedule
string
(Only when autobk is
schedule
)
Internal ID of backup schedule that will be used for this app's backing up.
(eg.
1234567890abcdefghij1234567890ab
)

Schedules are created by an admin or reseller account in Installatron administration > Schedules and a schedule ID can be found by either editing the schedule from there (the ID is the first value displayed on the edit page), or by using the GET /set/backup_schedules API.

default is no value
autobk_daily
integer
(Only when autobk is
custom
)
The number of daily backups to maintain.

default is
0
autobk_weekly
integer
(Only when autobk is
custom
)
The number of weekly backups to maintain.

default is
0
autobk_monthly
integer
(Only when autobk is
custom
)
The number of monthly backups to maintain.

default is
0

Optional remote backup parameters

bkloc
string
The default backup location that will be associated with this application.

Set to
local
to use the user's webhosting account as the default backup location.

Set to a backup location ID to use that backup location. Use the GET /set/backup_locations API to find backup location IDs.

Set to a remote resource URI to use that as a backup location. Supported protocols:
  • dropbox
    Dropbox
    (eg.
    dropbox3://AccountId:RefreshToken@vhfs35tzjvyhukc
    )
    Note: Dropbox backup locations should be added via the UI because you will be required to provide Oauth access.
  • file
    local filesystem
    (eg.
    file://localhost/backup_test
    )
    Note: Only available for the server administrator account. Resellers and users cannot use this protocol.
    The example URI would essentially place the backups in the
    /backup_test
    folder of the server's root partition.
  • ftp
    password protected FTP
    (eg.
    ftp://abcDEF:ghiJKL@website.com:21/backup_test
    )
  • ftps
    FTP Secure Sockets Layer
    (eg.
    ftps://abcDEF:ghiJKL@website.com:22/backup_test
    )
  • sftp
    Secure FTP
    (eg.
    sftp://abcDEF:ghiJKL@website.com:22/backup_test
    )
  • gdrive
    Google Drive
    (eg.
    gdrive://google:RefreshToken@drive.google.com
    )
    Note: Google Drive backup locations should be added via the UI because you will be required to provide Oauth access.
  • rackspace
    Rackspace Technology
    (eg.
    rackspace://AccountId:SecretKey@Container
    )
  • s3
    Amazon S3 and S3-compatible services
    (eg.
    s3://AccessKey:SecretKey@Endpoint/Region/Bucket/Folder
    )
    (eg.
    s3://123ABC:12abAB@s3.us-east-1.amazonaws.com/us-east-1/s3.myhost.com/testprefix
    )
  • webdav
    Web Distributed Authoring and Versioning
    (eg.
    webdav://User:Pass@Endpoint/Folder
    )


default is
local

Optional database parameters

Include these
db_*
parameters for the application to use a specific database.

* These are required parameters if you are providing a database.
db_host
string
*
The database server.
db_name
string
*
A pre-created database name.
db_user
string
*
A pre-created database username. This user must have full privileges access to the db_name database.
db_pass
string
*
The password of the pre-created database user.
db_prefix
string
Prefix added to database table names.

defaults for the prefix behavior are configured in Installatron Admin > Features
db_host_ip
string
If a different MySQL host value must be temporarily used to connect to the database, use this argument to provide the temporary address. Installed application files will be written with the db_host value, but Installatron will use db_host_ip while installing. Typically omitted.
(eg.
123.123.123.123
)

default is to access db_host directly

Special parameters

background
boolean
Determines whether a task is run as a foreground or background process.
  • false
    = No backgrounding (the task will complete before returning to your script or prompt).
  • true
    = Return to your script after preliminary error checking is completed (disk space, PHP requirements, etc) and then perform the rest of the task on a different process.
Use the GET /tasks API to query the status of a background task.

default is
false
dryrun
enum
Perform a test run of this API call: run the tests, check connections to the database server and remote locations, but don't actually perform this task itself. This is just a test-run to make sure that when it is run for real that there is nothing to stop it from working.
  • none
    = No dry run.
  • all
    = Check all input values and test all connections.
  • input
    = Check only the input values.


default is
none

Response


Response

status
int
HTTP status code describing the result of the request.

200
for Success.
All other numbers represent errors which are described in the errcode output below.
result
boolean
true
= Success.
false
= Failure.
errcode
string
status code 200
complete_dryrun
dryrun was enabled and finished without error.
status code 400
empty_argument_bkloc
Automatic Backup set to default location but no default location is available.
empty_argument_user
No user parameter was provided (required when operating as reseller or root).
empty_argument_source_path
The source application's path value was empty.
empty_argument_source_url
The source application's url value was empty.
invalid_argument_autobk_custom_daily
Daily Automatic Backup schedule is too frequent.
invalid_argument_autobk_custom_weekly
Weekly Automatic Backup schedule is too frequent.
invalid_argument_autobk_custom_monthly
Monthly Automatic Backup schedule is too frequent.
invalid_argument_autobk_schedule
The backup schedule ID provided is not valid.
invalid_argument_bkloc
Backup location invalid or does not exist.
invalid_argument_disallow_wordpress_multisite
Parameter disallow_wordpress_multisite was set "true" but this is a WordPress Multi-Site app.
invalid_argument_source_path
An invalid value was provided for the source application's path parameter.
invalid_argument_source_path_key
Defined key for the connection source_path_key is empty, is malformed, or is not owned by either UID {myid} or UID 0.
invalid_argument_source_url
An invalid value was provided for the source application's url parameter.
invalid_argument_url
The provided URL was not formatted correctly.
invalid_connection_id
(With the "wordpress" protocol selected) Installatron's WordPress Migration Assistant plugin plugin is locked. To unlock the plugin: login to the source app's administrative backend; deactivate the and then Reactivate the Migration Assistant plugin; then re-activate the same plugin.
invalid_worker_plugin
(With the "wordpress" protocol selected) Installatron's WordPress Migration Assistant plugin failed to connect. Validate the input values and try again.
status code 403
invalid_argument_user
User specified is not authorized to access this data.
status code 404
application_not_found
The application was not found in the Browser API.
user_not_found
The specified user could not be found in the system control panel.
status code 500
failed_database_create
Failed to create database and database-user pair.
failed_filesystem_host
Unable to reach the remote host.
failed_filesystem_login
The SFTP/FTP/SFTP server rejected the login.
failed_filesystem_ondemand
(Only when when enablePath is defined in /usr/local/instalatron/etc/panel.php) The path was invalid.
failed_filesystem_permission
Insufficient user permissions to the path provided.
failed_worker_plugin
(With the "wordpress" protocol selected) Installatron's WordPress Migration Assistant plugin could not be automatically installed. Install and activate the Migration Assistant plugin from the source WordPress app's plugin marketplace, and try the migration again
failed_worker_plugin_upload
(With the "wordpress" protocol selected) Installatron's WordPress Migration Assistant plugin could not be uploaded to the source app's plugins folder.
errfield
enum
If the cause of an error was an incorrect field value then this will show the ID of the field.
(eg.
login
,
passwd
,
email
)
message
string
Message describing the result of the request. Do not rely on this to determine the success or failure of the request.
data


id
string
Internal ID for this install.
(eg.
1234567890abcdefghij12345
)
agent
string
Version of Installatron that installed or imported this install.
(eg.
10.0.0
)
application
string
Type of application this is, referenced by its internal application ID.
(eg.
wordpress
,
drupal
,
magento
)

See Apps Table for a complete list of installer IDs.
autobk
enum
The automatic backup configuration.
  • none
    = Auto-backups are disabled.
  • schedule
    = Use the admin-defined backup schedule referenced by the autobk_schedule parameter.
  • custom
    = Use the backup schedule defined by the combined autobk_daily, autobk_weekly, and autobk_monthly parameters.


default is
none
autobk_schedule
string
(Only when autobk is
schedule
)
Internal ID of backup schedule that will be used for this app's backing up.
(eg.
1234567890abcdefghij1234567890ab
)

Schedules are created by an admin or reseller account in Installatron administration > Schedules and a schedule ID can be found by either editing the schedule from there (the ID is the first value displayed on the edit page), or by using the GET /set/backup_schedules API.

default is no value
autoup
enum
Automatic update configuration.
  • none
    = Never update.
  • all
    = Always update.
  • minor
    = Update to new minor versions.


default is
minor
autoup_backup
enum
Automatically create a backup and automatically restore the backup if the update fails.
  • none
    = Never backup.
  • all
    = Always backup.


default is
all
autoup_plugins
enum
(WordPress only) Automatic plugin update configuration.
  • none
    = Never update.
  • all
    = Always update.
  • custom
    = Per-plugin control over what will and won't be auto-updated.


default is
all
autoup_themes
enum
(WordPress only) Automatic themes update configuration.
  • none
    = Never update.
  • all
    = Always update.
  • custom
    = Per-theme control over what will and won't be auto-updated.


default is
all
bkloc
string
Location of new backups for this app.
  • local
    for the user's account
  • Or the internal ID of a remote backup location. (eg.
    1234567890abcdefghij12345
    )
cache_files
(internal use only)
cache_numbackups
(internal use only)
cache_preview
(internal use only)
cache_table
(internal use only)
cache_time
(internal use only)
db_host
string
IP address or hostname of the database server used by this app.
(eg.
localhost
,
127.0.0.1
, or a remote IP/hostname)
db_type
enum
Type of database used by this app.
(eg.
mysql
,
pgsql
)
db_name
string
Name of the database used by this app.
db_user
string
Name of the database-user used by this app.
db_pass
string
Name of the database-user's password used by this app.
db_prefix
string
Name of the database table prefix used by the tables of this app.
(eg.
wp_
,
dw8q_
)
login
string
A custom field value of this installer, in this case the administrative user's username.
(eg.
admin
)
email
string
An example custom field value of this installer, in this case the administrative user's email address.
(eg.
username@mydomain.com
)
language
enum
Language used by this install.
(eg.
en
,
no
)

See the GET /browser/{id} API to find a full list of languages supported by this version of this application.
sitetitle
string
A custom field value of this website, in this case the website's title.
(eg.
My Family Blog
)
sitetagline
string
A custom field value of this website, in this case the website's tagline.
(eg.
The personal blog of the family Smith.
)
limitloginattempts
boolean
A custom field value of this website, in this case
yes
indicates this optional (WordPress only) plugin is enabled.
twofactor
boolean
A custom field value of this website, in this case
yes
indicates this optional (WordPress only) plugin is enabled.
exclude_files
array of strings
Array of files and folders the user has selected to be excluded from backups and clones of this app.

eg.
"exclude_files": [
  "wp-content/cache"
],
file
string
Path to Installatron's data file for this application.
(eg.
/home/username/.appdata/current/1234567890abcdefghij12345
)
files
array of strings
Array of files and folders that Installatron knows to be associated with this app.

eg.
"tables": [
  "index.php",
  "license.txt",
  ".htaccess",
  ".maintenance",
  "readme.html",
  "wp-activate.php",
  "wp-admin",
  "wp-app.php",
  "wp-blog-header.php",
  "wp-comments-post.php",
  "wp-config.php",
  "wp-config-local.php",
  "wp-config-sample.php",
  "wp-content",
  "wp-cron.php",
  "wp-includes",
  "wp-links-opml.php",
  "wp-load.php",
  "wp-login.php",
  "wp-mail.php",
  "wp-settings.php",
  "wp-signup.php",
  "wp-trackback.php",
  "xmlrpc.php"
],
incomplete
boolean
Indicates when the application is incomplete/broken.
(eg.
false
for the application is complete,
true
for an install, migration, or clone failed to create this application successfully*

*In this case we recommend that you uninstall this broken install and try the task again, or restore a backup)
link_admin
string
Path, relative to the install's main URL, to the app's administrative backend.
(eg.
wp-admin
)
notification
array of strings
Array of email notifications that the owner of this app will receive. An empty array means no notifications.

Available notifications:
  • backup
  • backup_error
  • clone
  • clone_error
  • install
  • install_error
  • plugin_update
  • plugin_update_available
  • plugin_update_error
  • restore
  • restore_error
  • sync
  • sync_error
  • template
  • template_error
  • update
  • update_available
  • update_error
(eg.
["update_available","update","update_error"]
)
(eg.
[]
for no notifications)

default is all notification types enabled
parent
string
Internal ID of the application this app was staged from.
(eg.
1234567890abcdefghij12345
)

default is empty
path
string
Location of this install's files.

(eg.
/home/username/public_html/blog
)
(eg.
/var/www/vhosts/mydomain.com
)
(eg.
c:\inetpub\vhosts\mydomain.com
)
plugins
array of structures
(WordPress only) Array of information about the plugins used by this application and whether auto-updating is enabled.

eg.
"plugins": [
  {
    "id": "akismet",
    "version": "5.3.6",
    "activated": false,
    "autoup": "all"
  },
  {
    "id": "limit-login-attempts-reloaded",
    "version": "2.26.18",
    "activated": true,
    "autoup": "all"
  }
],


See the GET /installs/plugins API for more information.
stage
string
Internal ID of the app that will be selected as the default stage when then app is synced.
(eg.
1234567890abcdefghij12345
)

default is empty
tables
array of strings
Array of all database tables Installatron knows to be associated with this app.

eg.
"tables": [
  "wp_commentmeta",
  "wp_comments",
  "wp_links",
  "wp_options",
  "wp_postmeta",
  "wp_posts",
  "wp_term_relationships",
  "wp_term_taxonomy",
  "wp_termmeta",
  "wp_terms",
  "wp_usermeta",
  "wp_users"
],
themes
array structure
(WordPress only) Array of information about the themes used by this application and whether auto-updating is enabled.

eg.
"themes": [
  {
    "id": "twentytwentythree",
    "version": "1.6",
    "active": false,
    "autoup": "all"
  },
  {
    "id": "twentytwentyfive",
    "version": "1.1",
    "active": false,
    "autoup": "all"
  }
],


See the GET /installs/themes API for more information.
time_created
integer
Date and time when this application was installed (as a Unix timestamp).
(eg.
1234567890
)
time_updated
integer
Date and time when this install was last updated (as a Unix timestamp).
(eg.
1234567890
)
title
string
Title of the website, used in Installatron only.
(eg.
My blog
)
url
string
Address where this website is viewed online.
(eg.
https://website.com/blog
)
url_domain
string
domain portion of the url parameter.
(eg.
website.com
)
user
string
Control panel user that owns this install.
(eg.
useraccountname
)
version
string
Application's (as currently used by this website) version.
(eg.
1.2.3
)
version_autouped
string
The version that Installatron last automatically updated the website's application to. Note that the user may have manually updated the app to a newer version since this Automatic Update happened.
(eg.
1.2.3
)
version_autouped_attempts
integer
The number of failed attempts, by Installatron, to update the website's application. Installatron will stop trying to update this application after 3 failed attempts. This count resets after a successful update.
(eg.
2
)
version_available
string
Highest version of the application that Installatron can update the application to, from the version the website is currently using.
(eg.
4.5.6
)
version_available_minor
string
Highest minor version of the application that Installatron can auto-update the application to, from the version the website is currently using.
(eg.
1.2.8
)
version_updates_available
integer
Total number of new versions available for this website's application.
(eg.
11
)

Full Examples

Example: Migrate an existing Joomla app from a remote location to the user's account and then import it

Method: curl
Installatron Product: Installatron Plugin (switch to Installatron Server)
$cpapi=https://{USER}:{PASS}@{SERVER_IP}:2083/3rdparty/installatron/index.cgi?     # cpanel
#$cpapi=https://{USER}:{PASS}@{SERVER_IP}:2087/3rdparty/installatron/index.cgi?    # whm
#$cpapi=https://{USER}:{PASS}@{SERVER_IP}:2222/CMD_PLUGINS/installatron/index.raw? # directadmin

curl -X POST $cpapi/browser/joomla/migrate \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' \
    -d '
        {
            "user": "useraccountname",
            "url": "https://www.website.com/mylocaljoomla",
            "source_url": "https://www.website.com",
            "source_path": "sftp://user:pass@website.com/domains/website.com/public_html/myremotejoomla",
            "source_url_ip": "123.123.123.123"
        }
       '
 
Response: json
{
    "result": true,
    "status": 200,
    "errcode": null,
    "errfield": null,
    "message": "The task is complete.\n"
    "data":
        {
            "id": "1234567890abcdefghij12345",
            "application": "wordpress",
            "agent": "10.0.0",
            "autobk": "schedule",
            "autobk_schedule": "1234567890abcdefghij1234567890ab",
            "autoup": "minor",
            "autoup_backup": "all",
            "autoup_plugins": "none",
            "autoup_themes": "none",
            "bkloc": "local",
            "cache_numerrors": 1,
            "cache_numwarnings": 0,
            "cache_files": 12345678,
            "cache_numbackups": 0,
            "cache_preview": 12345,
            "cache_tables": 123456,
            "cache_time": 1234567890,
            "db_host": "localhost",
            "db_type": "mysql",
            "db_name": "databasename",
            "db_user": "databaseusername",
            "db_pass": "dAtAbAsEpAs5//0rD",
            "db_prefix": "wp_",
            "login": "admin123",
            "email": "admin@website.com",
            "language": "en",
            "sitetitle": "My blog",
            "sitetagline": "Just another WordPress site",
            "limitloginattempts": "yes",
            "twofactor": "no",
            "failures": [],
            "file": "/home/useraccountname/.appdata/current/1234567890abcdefghij12345",
            "files": [
                "index.php",
                "license.txt",
                ".htaccess",
                ".maintenance",
                "readme.html",
                "wp-activate.php",
                "wp-admin",
                "wp-app.php",
                "wp-blog-header.php",
                "wp-comments-post.php",
                "wp-config.php",
                "wp-config-local.php",
                "wp-config-sample.php",
                "wp-content",
                "wp-cron.php",
                "wp-includes",
                "wp-links-opml.php",
                "wp-load.php",
                "wp-login.php",
                "wp-mail.php",
                "wp-settings.php",
                "wp-signup.php",
                "wp-trackback.php",
                "xmlrpc.php"
            ],
            "incomplete": true,
            "link_admin": "wp-admin",
            "notification": [],
            "parent": "1234567890abcdefghiparent",
            "path": "/home/useraccountname/public_html/staging",
            "plugins": [
                {
                    "id": "akismet",
                    "version": "5.3.6",
                    "activated": false,
                    "autoup": "all"
                },
                {
                    "id": "limit-login-attempts-reloaded",
                    "version": "2.26.18",
                    "activated": true,
                    "autoup": "all"
                }
            ],
            "stage": "1234567890abcdefghijstage",
            "tables": [
                "wp_commentmeta",
                "wp_comments",
                "wp_links",
                "wp_options",
                "wp_postmeta",
                "wp_posts",
                "wp_term_relationships",
                "wp_term_taxonomy",
                "wp_termmeta",
                "wp_terms",
                "wp_usermeta",
                "wp_users"
            ],
            "themes": [
                {
                    "id": "twentytwentythree",
                    "version": "1.6",
                    "active": false,
                    "autoup": "all"
                },
                {
                    "id": "twentytwentyfive",
                    "version": "1.1",
                    "active": false,
                    "autoup": "all"
                }
            ],
            "time_created": 1611356510,
            "time_updated": 1647057773,
            "title": "My blog stage",
            "url": "http://website.com/staging",
            "url_domain": "website.com",
            "user": "useraccountname",
            "version": "6.7.2",
            "version_autouped": "6.7.2",
            "version_autouped_attempts": 1,
            "version_available": "6.7.3",
            "version_updates_available": 3
        }
}

Example: Migrate an existing WordPress application using Installatron's app:// protocol and the WordPress app's administrative login

Method: curl
Installatron Product: Installatron Plugin (switch to Installatron Server)
$cpapi=https://{USER}:{PASS}@{SERVER_IP}:2083/3rdparty/installatron/index.cgi?     # cpanel
#$cpapi=https://{USER}:{PASS}@{SERVER_IP}:2087/3rdparty/installatron/index.cgi?    # whm
#$cpapi=https://{USER}:{PASS}@{SERVER_IP}:2222/CMD_PLUGINS/installatron/index.raw? # directadmin

curl -X POST $cpapi/browser/wordpress/migrate \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' \
    -d '
        {
            "user": "useraccountname",
            "url": "https://www.website.com/mylocalblog",
            "source_url": "https://www.website.com",
            "source_path": "app://wp_admin_user:wp_admin_pass",
            "source_url_ip": "123.123.123.123"
        }
       '
 
Response: json
{
    "result": true,
    "status": 200,
    "errcode": null,
    "errfield": null,
    "message": "The task is complete.\n"
    "data":
        {
            "id": "1234567890abcdefghij12345",
            "application": "wordpress",
            "agent": "10.0.0",
            "autobk": "schedule",
            "autobk_schedule": "1234567890abcdefghij1234567890ab",
            "autoup": "minor",
            "autoup_backup": "all",
            "autoup_plugins": "none",
            "autoup_themes": "none",
            "bkloc": "local",
            "cache_numerrors": 1,
            "cache_numwarnings": 0,
            "cache_files": 12345678,
            "cache_numbackups": 0,
            "cache_preview": 12345,
            "cache_tables": 123456,
            "cache_time": 1234567890,
            "db_host": "localhost",
            "db_type": "mysql",
            "db_name": "databasename",
            "db_user": "databaseusername",
            "db_pass": "dAtAbAsEpAs5//0rD",
            "db_prefix": "wp_",
            "login": "admin123",
            "email": "admin@website.com",
            "language": "en",
            "sitetitle": "My blog",
            "sitetagline": "Just another WordPress site",
            "limitloginattempts": "yes",
            "twofactor": "no",
            "failures": [],
            "file": "/home/useraccountname/.appdata/current/1234567890abcdefghij12345",
            "files": [
                "index.php",
                "license.txt",
                ".htaccess",
                ".maintenance",
                "readme.html",
                "wp-activate.php",
                "wp-admin",
                "wp-app.php",
                "wp-blog-header.php",
                "wp-comments-post.php",
                "wp-config.php",
                "wp-config-local.php",
                "wp-config-sample.php",
                "wp-content",
                "wp-cron.php",
                "wp-includes",
                "wp-links-opml.php",
                "wp-load.php",
                "wp-login.php",
                "wp-mail.php",
                "wp-settings.php",
                "wp-signup.php",
                "wp-trackback.php",
                "xmlrpc.php"
            ],
            "incomplete": true,
            "link_admin": "wp-admin",
            "notification": [],
            "parent": "1234567890abcdefghiparent",
            "path": "/home/useraccountname/public_html/staging",
            "plugins": [
                {
                    "id": "akismet",
                    "version": "5.3.6",
                    "activated": false,
                    "autoup": "all"
                },
                {
                    "id": "limit-login-attempts-reloaded",
                    "version": "2.26.18",
                    "activated": true,
                    "autoup": "all"
                }
            ],
            "stage": "1234567890abcdefghijstage",
            "tables": [
                "wp_commentmeta",
                "wp_comments",
                "wp_links",
                "wp_options",
                "wp_postmeta",
                "wp_posts",
                "wp_term_relationships",
                "wp_term_taxonomy",
                "wp_termmeta",
                "wp_terms",
                "wp_usermeta",
                "wp_users"
            ],
            "themes": [
                {
                    "id": "twentytwentythree",
                    "version": "1.6",
                    "active": false,
                    "autoup": "all"
                },
                {
                    "id": "twentytwentyfive",
                    "version": "1.1",
                    "active": false,
                    "autoup": "all"
                }
            ],
            "time_created": 1611356510,
            "time_updated": 1647057773,
            "title": "My blog stage",
            "url": "http://website.com/staging",
            "url_domain": "website.com",
            "user": "useraccountname",
            "version": "6.7.2",
            "version_autouped": "6.7.2",
            "version_autouped_attempts": 1,
            "version_available": "6.7.3",
            "version_updates_available": 3
        }
}

Example: Migrate a WordPress application using Installatron's app:// protocol and the Installatron Migration Assistant WordPress plugin

Method: curl
Installatron Product: Installatron Plugin (switch to Installatron Server)
$cpapi=https://{USER}:{PASS}@{SERVER_IP}:2083/3rdparty/installatron/index.cgi?     # cpanel
#$cpapi=https://{USER}:{PASS}@{SERVER_IP}:2087/3rdparty/installatron/index.cgi?    # whm
#$cpapi=https://{USER}:{PASS}@{SERVER_IP}:2222/CMD_PLUGINS/installatron/index.raw? # directadmin

curl -X POST $cpapi/browser/wordpress/migrate \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' \
    -d '
        {
            "user": "useraccountname",
            "url": "https://www.website.com/mylocalblog",
            "source_url": "https://www.website.com",
            "source_path": "app://wp_admin_user:connention_id",
            "source_url_ip": "123.123.123.123"
        }
       '
 
Response: json
{
    "result": true,
    "status": 200,
    "errcode": null,
    "errfield": null,
    "message": "The task is complete.\n"
    "data":
        {
            "id": "1234567890abcdefghij12345",
            "application": "wordpress",
            "agent": "10.0.0",
            "autobk": "schedule",
            "autobk_schedule": "1234567890abcdefghij1234567890ab",
            "autoup": "minor",
            "autoup_backup": "all",
            "autoup_plugins": "none",
            "autoup_themes": "none",
            "bkloc": "local",
            "cache_numerrors": 1,
            "cache_numwarnings": 0,
            "cache_files": 12345678,
            "cache_numbackups": 0,
            "cache_preview": 12345,
            "cache_tables": 123456,
            "cache_time": 1234567890,
            "db_host": "localhost",
            "db_type": "mysql",
            "db_name": "databasename",
            "db_user": "databaseusername",
            "db_pass": "dAtAbAsEpAs5//0rD",
            "db_prefix": "wp_",
            "login": "admin123",
            "email": "admin@website.com",
            "language": "en",
            "sitetitle": "My blog",
            "sitetagline": "Just another WordPress site",
            "limitloginattempts": "yes",
            "twofactor": "no",
            "failures": [],
            "file": "/home/useraccountname/.appdata/current/1234567890abcdefghij12345",
            "files": [
                "index.php",
                "license.txt",
                ".htaccess",
                ".maintenance",
                "readme.html",
                "wp-activate.php",
                "wp-admin",
                "wp-app.php",
                "wp-blog-header.php",
                "wp-comments-post.php",
                "wp-config.php",
                "wp-config-local.php",
                "wp-config-sample.php",
                "wp-content",
                "wp-cron.php",
                "wp-includes",
                "wp-links-opml.php",
                "wp-load.php",
                "wp-login.php",
                "wp-mail.php",
                "wp-settings.php",
                "wp-signup.php",
                "wp-trackback.php",
                "xmlrpc.php"
            ],
            "incomplete": true,
            "link_admin": "wp-admin",
            "notification": [],
            "parent": "1234567890abcdefghiparent",
            "path": "/home/useraccountname/public_html/staging",
            "plugins": [
                {
                    "id": "akismet",
                    "version": "5.3.6",
                    "activated": false,
                    "autoup": "all"
                },
                {
                    "id": "limit-login-attempts-reloaded",
                    "version": "2.26.18",
                    "activated": true,
                    "autoup": "all"
                }
            ],
            "stage": "1234567890abcdefghijstage",
            "tables": [
                "wp_commentmeta",
                "wp_comments",
                "wp_links",
                "wp_options",
                "wp_postmeta",
                "wp_posts",
                "wp_term_relationships",
                "wp_term_taxonomy",
                "wp_termmeta",
                "wp_terms",
                "wp_usermeta",
                "wp_users"
            ],
            "themes": [
                {
                    "id": "twentytwentythree",
                    "version": "1.6",
                    "active": false,
                    "autoup": "all"
                },
                {
                    "id": "twentytwentyfive",
                    "version": "1.1",
                    "active": false,
                    "autoup": "all"
                }
            ],
            "time_created": 1611356510,
            "time_updated": 1647057773,
            "title": "My blog stage",
            "url": "http://website.com/staging",
            "url_domain": "website.com",
            "user": "useraccountname",
            "version": "6.7.2",
            "version_autouped": "6.7.2",
            "version_autouped_attempts": 1,
            "version_available": "6.7.3",
            "version_updates_available": 3
        }
}


© 2004 - 2025 Installatron LLC. All rights reserved. Privacy Policy.