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

# Managing Pods

> Start, stop, restart, resize, and delete your pods.

## Pod Lifecycle

Pods have the following statuses:

| Status | Description |
| - | - |
| `running` | Pod is active and accessible |
| `stopped` | Pod is shut down but data is preserved |
| `creating` | Pod is being provisioned |
| `error` | Something went wrong during creation |
| `suspended` | Pod is suspended due to billing issues |

## Start / Stop / Restart

<Tabs>
  <Tab title="Dashboard">
    On the pod detail page, use the action buttons in the header to **Start**, **Stop**, or **Restart** your pod.
  </Tab>

  <Tab title="CLI">
    ```bash theme={null}
    instapods pods stop my-app
    instapods pods start my-app
    instapods pods restart my-app

    # Wait until the operation completes
    instapods pods start my-app -w
    instapods pods stop my-app -w --timeout 30
    instapods pods restart my-app -w
    ```
  </Tab>

  <Tab title="API">
    ```bash theme={null}
    curl -X POST https://app.instapods.com/api/pods/my-app/start \
      -H "Authorization: Bearer YOUR_TOKEN"

    curl -X POST https://app.instapods.com/api/pods/my-app/stop \
      -H "Authorization: Bearer YOUR_TOKEN"

    curl -X POST https://app.instapods.com/api/pods/my-app/restart \
      -H "Authorization: Bearer YOUR_TOKEN"
    ```
  </Tab>
</Tabs>

<Warning>
  Stopping a pod preserves all files but terminates running processes. Any in-memory data not written to disk will be lost.
</Warning>

## Resize

Change the CPU, memory, or disk allocation of a running pod.

<Tabs>
  <Tab title="CLI">
    ```bash theme={null}
    instapods pods resize my-app --plan build
    ```

    The `--plan` flag is required. Resources (CPU, memory, disk) are automatically set based on the target plan.
  </Tab>

  <Tab title="API">
    ```bash theme={null}
    curl -X POST https://app.instapods.com/api/pods/my-app/resize \
      -H "Authorization: Bearer YOUR_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"plan_slug": "build"}'
    ```
  </Tab>
</Tabs>

## Delete

Deleting a pod permanently removes the container and all its data.

<Tabs>
  <Tab title="Dashboard">
    Go to the pod detail page, click the delete button, and confirm.
  </Tab>

  <Tab title="CLI">
    ```bash theme={null}
    # With confirmation prompt
    instapods pods delete my-app

    # Skip confirmation
    instapods pods delete my-app -f

    # Wait until deletion completes
    instapods pods delete my-app -f -w
    ```
  </Tab>

  <Tab title="API">
    ```bash theme={null}
    curl -X DELETE https://app.instapods.com/api/pods/my-app \
      -H "Authorization: Bearer YOUR_TOKEN"
    ```
  </Tab>
</Tabs>

<Warning>
  Deletion is irreversible. All files, databases, and configurations inside the pod will be permanently destroyed. Deleted pod names are reserved for 7 days before they can be reused.
</Warning>

<Tip>
  Once the pod is gone you can no longer reach its backups from the dashboard or the API. If you might want the data later, [download a backup](/dashboard/backups#downloading-a-backup) first - and if you're handing the project to someone else, [transfer the pod](/guides/transfer-a-pod) instead of deleting and recreating it.
</Tip>

## Back Up and Restore

Every pod is backed up daily by default, and you can take a backup by hand at any time. See [Backups](/dashboard/backups).

## Convert to a Worker

A pod that runs a bot, a queue consumer or a scheduled job doesn't need a public URL. Converting it to a worker removes its URL and stops the platform health-checking an address nothing is listening on. See [Worker Pods](/guides/worker-pods).

## Transfer to Another Account

You can hand a pod, its data and its billing to a different InstaPods account. See [Transfer a Pod](/guides/transfer-a-pod).

## List Pods

<Tabs>
  <Tab title="CLI">
    ```bash theme={null}
    instapods pods list
    ```

    Output shows a table with name, preset, plan, CPU, memory, disk, status, and domain.
  </Tab>

  <Tab title="API">
    ```bash theme={null}
    curl https://app.instapods.com/api/pods \
      -H "Authorization: Bearer YOUR_TOKEN"
    ```
  </Tab>
</Tabs>

## Get Pod Details

<Tabs>
  <Tab title="CLI">
    ```bash theme={null}
    instapods pods get my-app
    ```
  </Tab>

  <Tab title="API">
    ```bash theme={null}
    curl https://app.instapods.com/api/pods/my-app \
      -H "Authorization: Bearer YOUR_TOKEN"
    ```
  </Tab>
</Tabs>

## Reload Application

Restart the application service inside the pod without restarting the container itself. Useful after deploying new code.

```bash theme={null}
instapods pods reload my-app
```

This restarts different services depending on the preset:

* **Static**: Reloads nginx
* **PHP**: Restarts nginx and PHP-FPM
* **Node.js**, **Python**, **Go**: Restarts the `app` systemd service

Reload also auto-detects and installs dependencies: a `package.json`, `requirements.txt`,
`composer.json` or `go.mod` in the app directory triggers `npm install`, `pip install`,
`composer install` or `go mod download` before the restart.

<Tip>
  `deploy`, `pods reload` and `pods restart` all end with your app running again, but they pick up
  different kinds of change. [Deploy, Reload, Restart](/guides/operations) maps what you changed to
  the command that picks it up.
</Tip>


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