---
topic: delete
connector: "app_danger_zone · delete_app (with confirmAppName)"
api: "DELETE https://ship.embarko.ai/api/apps/{app-name}"
needs_human: "Always confirm, naming the app."
requires: [claim]
---

[← Guide home](https://embarko.ai/docs)

# Delete an app

**On this page:** With the connector, Over HTTP, Errors, What to tell the person

> Plain words unless the person is a developer. Never invent a link, name or code. [Rules](https://embarko.ai/docs/prerequisites) Needs first: [claim](https://embarko.ai/docs/claim) (over HTTP only).

Deletes the app with its deploys, env vars, domains and Showcase listing. Its name becomes free for anyone to take. There is no backup and no undo. If it had a custom domain, the person can remove that DNS record afterwards.

**Connector:** app_danger_zone · delete_app (with confirmAppName)

**Done when:** The delete call answered 204. A status check for that name then answers not_deployed, or 404 not_found when you send a token: either means it is gone.

**With the connector**

1. Confirm with the person by name. Call app_danger_zone { action: "delete_app", appName, confirmAppName } with confirmAppName equal to appName.

**Over HTTP**

1. Confirm with the person. DELETE https://ship.embarko.ai/api/apps/{app-name} with {"confirmAppName": "{app-name}"} and the token. 204 means deleted.

**Errors**

| Code | Status | Retry | What to do |
| --- | --- | --- | --- |
| `confirmation_required` | 400 | No | confirmAppName missing or different. Nothing was deleted. |

**What to tell the person**

- confirm: "This deletes {app} for good: its deploys, settings, custom domains and Showcase listing. There is no undo, and the name becomes free for anyone. Delete it?"
- done: "{app} is deleted."

**Next:** Only on an explicit yes.

**Related:** [rollback](https://embarko.ai/docs/rollback)

---

[Guide home](https://embarko.ai/docs) · JSON: add .json