Start the import after the review: creates the project (or WordPress site / database) and runs the import steps
Request
- Base URL: https://hostingsurge.com/api/v1
- URL: https://hostingsurge.com/api/v1/migrations/{migrationId}/start
- Auth: one of:
- HTTP bearer
- API key in cookie __Host-hs_session
Path parameters
Request body
Override the name of the project/database to create
Private Git: confirm the deploy key was added (read-only) to the repository
database: the engine when it could not be detected
Variables of analysis.envToProvide to leave without a value for now: the import starts anyway and the project is created without them (Migration.envLater / envPending list them until they are set under the project's environment variables). A build that needs one fails until it is set; the import then comes back to review to enter it
vercel/netlify: a new access token when the one given at creation expired (credentials.provided false). Needed to download the deployment files unless repository is given. Encrypted, bound to this import, wiped when it ends
cpanel/sftp only: true stops every selected site's import in review (to choose its cron jobs or name first) instead of starting it as soon as its analysis is ready
cpanel with mode "whm" only: the cPanel accounts to import (analysis.accounts[].user). Each becomes its own live cPanel import that lists the sites of that account (linked back via source.importParentId); pick the sites there
IANA time zone the old server ran its cron jobs in (e.g. Europe/Stockholm) when the analysis could not tell; the schedules are converted to UTC, the time zone Hostingsurge runs cron jobs in
vercel: the same as services [{code: "blob", action: "move"}] (true) or "keep" (false), kept for older clients
vercel: set Vercel deployment protection up again here (analysis.protection; "move", the default) or leave the new project open ("keep")
php: dumps of analysis.unclaimedDumps (by name) to load into new databases for this site although none of its files names them. Each is attached to the project (DATABASE_URL when it is its first); point the site's configuration at it
vercel: the password for the protection (Vercel never shows the old one). Omitted: a random one is set; choose your own under Settings → Protection. The username is "vercel". netlify: the same as services [{code: "netlify_protection", action: "move", input: {password}}] (the username is "netlify")
true imports the app although some of its functions cannot run on Hostingsurge (analysis.unsupportedFunctions: Python, Go or Ruby functions, api/ files beside a framework build that does not serve them, Netlify Functions). Without it such an import is refused (reason "functions_unsupported"), so it never reaches its preview with endpoints that answer 404
true starts although files of the site could not be copied (analysis.files.notCopied: over 95 MB, unreadable on the old server, links, files cPanel's API cannot return …). Without it such an import is refused (reason "files_not_copied"), so nothing is ever left behind without a decision; an SFTP connection passes the choice on to the site it starts
Response
Import running (state importing)
non-secret source summary
Git-linked imports (git, and vercel/netlify/heroku from a repository): github_app: every push to the branch deploys through the organization's GitHub App installation; off: pushes do not deploy by themselves until the App covers the repository or the project's push-to-deploy webhook is added to it (audit F10)
variables left without a value when the import started (StartMigrationInput.envLater)
GET /migrations/{id}: the envLater variables the project still does not have; set them under its environment variables, then redeploy
review: the variable values read from the old host were kept for 24 hours and are gone; analyze again (with a new token) before starting
ISO-8601 timestamp
ISO-8601 timestamp
ISO-8601 timestamp
ISO-8601 timestamp
Changes
No recorded changes to this operation across all 1 revision of this API.