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

# delete

```bash theme={null}
telnyx-acp delete support-agent --dry-run
telnyx-acp delete support-agent
```

| Flag | Meaning |
| - | - |
| `--yes` | Skip the confirmation. Without a terminal, `delete` needs it. |
| `--dry-run` | Print what `delete` would remove or restore, by id, and touch nothing. |

`delete` prints exactly what will change and asks once, and the answer defaults to no. Then it undoes what `deploy` set up, in order. A webhook, number or inbox that will not release stops `delete` before the function goes, with exit 1; the progress is kept under `deployed`, so a rerun resumes.

* Each wired artifact's webhook goes back to its pre-deploy value, and is left alone if something else repointed it. One already deleted outside the CLI is reported as gone and skipped. One that had no webhook before the agent, and whose API refuses a blank one (a Call Control application does), is reported as still pointing at the agent, with where to clear it, and `delete` goes on.
* Each phone number goes back where it was, and the artifacts `deploy` created for it are deleted, not restored.
* The inbox and the webhook `deploy` created for email are removed.
* The function is deleted.
* The actor type is deleted once the function's teardown has settled. `delete` retries for about two minutes. A type still there after that ends `delete` with exit 1, naming it and the `telnyx-edge actors delete <type> --yes` command; the function is gone by then, and `deployed` and `.telnyx/` are already cleared.

The project's files stay. `agent.json` keeps its numbers, channels and secret names and loses `deployed`; `.telnyx/` is removed, since the next `deploy` writes it again and registers the agent afresh. `--json` carries `generatedRemoved: ".telnyx"`. [Deploy and Operate](/docs/agents/deploy-and-operate#delete) shows the output.
