Bring an existing application

Prompt:

Move this app here from where it runs now.

Also works:

  • "Host my existing backend on Turn Zero Cloud."

What your tool does

The move-existing-app skill brings an application built elsewhere onto Turn Zero Cloud. When you ask for that, your tool:

  • Asks you which plan the application starts on, free, standard, or pro, and calls create_application with the name and the plan, as Create the application describes.
  • Writes the manifest and calls submit_manifest with the whole document, as Declare the manifest describes.
  • Stores each key the application uses through the line store_secret returns, never as a tool argument. Store a secret describes the line.
  • Calls declare_upstream for each API the code calls on a key. An SDK reading its base URL and key from settings runs unchanged on the settings the declaration lists. Call an external API with an API key shows the calls.
  • Builds the application and calls deploy. It then runs the line the call returns, which uploads the zip, starts its deploy, and waits for it, as Build and upload the artifact describes. Where the command returned before the outcome, it makes the next call, read_status with wait_seconds, until the deploy ends.
  • Where you turned development on, it moves the version to production through promote with wait_seconds, as Promote to production describes.

What you need

  • Node.js 24 or later, and npm, installed on your computer. See What your computer needs.
  • The plan the application starts on, and the keys the application uses at its old host.

Before your AI starts

This section is for your AI tool: what it checks and gathers before it begins. You don't need to do these steps yourself.

  • Your tool connected and signed in (Connect your tool).
  • A backend written as ordinary Node.js code that exposes one server honoring PORT and responds on a health path with status 200. The Node.js Runtime package states the rules.

Steps

An existing application takes the steps of Deploy an application, with its keys stored before its first deploy.

1. Create the application and declare its manifest

Create the application and Declare the manifest give the two calls. Author the manifest shows how to write the manifest.

2. Store the keys

Store a secret stores each key without exposing its value. Call an external API with an API key declares the upstream for each API the code calls on a key.

3. Deploy

Build and upload the artifact and the steps after it build the application, deploy it, and read the outcome.

Expected result

The application runs at <label>.ai.host, as the Expected result of Deploy an application describes, and each key it uses is stored on the platform.

Refusals

Moving an application meets the refusals of the deploy, which Deploy an application lists, and of storing a key, which Store a secret lists. The three below are the ones a move meets most, where the name, the manifest, or a key comes from the old host.

Refusal Status Cause Remedy
name_taken 409 create_application: the account already has a live application with that name. Choose another name; list_applications shows the application that has it.
manifest_invalid 400 submit_manifest: the manifest does not validate, and violations lists the failing JSON paths. deploy and promote also refuse a recorded manifest that binds a setting name the platform reserves. Correct each path against The manifest and submit the whole document again.
setting_secret_missing 409 deploy or promote: a setting the manifest binds names a secret not stored at the environment's scope. The detail names the setting and the secret. A deploy or promote whose bound name is removed after the response ends failed under the same name. Store the value with store_secret, naming the application and the environment, then deploy or promote again.