> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Start application

> Start a stopped application with POST /v2/apps/{app_id}/start. Returns 409 when it is already running, and it never deploys new code.

<ParamField header="Authorization" type="string" placeholder="API Key" required>
  The API key for your account. You can find this in your [account settings](https://squarecloud.app/en/account/security).
</ParamField>

Requires an API key with the `apps:control` [scope](/en/api-reference/authentication#scopes).

Starts a stopped application on its assigned cluster. If the application is already running, the request answers `409 CONTAINER_ALREADY_STARTED` instead of doing nothing, so check [Get Application Status](/en/api-reference/endpoint/apps/status) first or treat that code as success in scripts.

Starting only brings the existing files and configuration online, it does not deploy new code; use [Upload Application](/en/api-reference/endpoint/apps/upload) for a first deployment or [Commit Application](/en/api-reference/endpoint/apps/commit) to push a change first. On workspace-shared applications, the caller needs the `manager`, `maintain` or `admin` [role](/en/api-reference/endpoint/workspace/members/invite#roles).

The request is rate limited to 1 start per 3 seconds per application, and to 20 lifecycle actions per 15 seconds per user across all applications, with a short block once that cap is hit. The request is also rejected with `403 RESTORE_IN_PROGRESS` while a snapshot restore runs on the application (up to about 2 minutes): wait for the restore to finish and try again.

## Parameters

<ParamField path="app_id" type="string" placeholder="Application ID" required>
  The ID of the application. You can find this in the URL of your application's dashboard.
</ParamField>

## Response

<ResponseField name="status" type="string">
  Indicates whether the call was successful: `success` if it was, `error` if not.
</ResponseField>

<ResponseExample>
  ```json theme={"system"}
  {
      "status": "success"
  }
  ```
</ResponseExample>

## Common errors

| Code | HTTP | Meaning |
| - | - | - |
| `RESTORE_IN_PROGRESS` | 403 | A snapshot restore is running on this application; wait for it to finish (up to about 2 minutes). |
| `CONTAINER_ALREADY_STARTED` | 409 | The application is already running. |
| `ACTION_FAILED` | 409 | The cluster rejected the action, for example the application is mid-deploy. |

## Related

* CLI: [`squarecloud app start`](/en/cli-reference/apps#squarecloud-app-start)
* SDKs: [`api.apps.start()`](/en/sdks/js/managing_application) (JavaScript), [`client.apps.start()`](/en/sdks/py/managing_application) (Python), [`c.Apps.Start()`](/en/sdks/go/managing_application) (Go)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.