> For the complete documentation index, see [llms.txt](https://docs.rumi.systems/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rumi.systems/rumi-cli/commands/cloud/hetzner/deprovision.md).

# deprovision

Tear down a deployment: delete every server, then every firewall, then the network.

## Syntax

```bash
rumi cloud hetzner deprovision \
  --api-key <token> \
  --network <network> \
  [options]
```

## Options

| Option      | Short | Description                                                 | Default  |
| ----------- | ----- | ----------------------------------------------------------- | -------- |
| `--api-key` | `-k`  | The Hetzner Cloud project API token (or set `HCLOUD_TOKEN`) | Required |
| `--region`  | `-r`  | The Hetzner location the network is in                      | `fsn1`   |
| `--network` | `-n`  | Name of the network to tear down                            | Required |

## Example

```bash
rumi cloud hetzner deprovision \
  --api-key $HCLOUD_TOKEN \
  --network my-cloud
```

{% hint style="warning" %}
This permanently deletes all servers in the network (platform nodes and service workers) along with their data, every per-role and per-service firewall, and the network itself.
{% endhint %}

## Notes

* Everything is matched by the `rumi-network=<name>` label (plus the network by name), so per-service firewalls created by [launch-instance](/rumi-cli/commands/cloud/hetzner/launch-instance.md) are swept too.
* Servers are deleted first, then the command waits for them to be fully gone before deleting firewalls (a label-applied firewall cannot be deleted while still attached to a server), then the network.
* Best-effort: individual failures are logged and the teardown continues.

## See Also

* [create-network](/rumi-cli/commands/cloud/hetzner/create-network.md)
* [launch-platform](/rumi-cli/commands/cloud/hetzner/launch-platform.md)
