---
title: "DELETE /templates/{template} — Delete Template"
url: https://lumean.app/de/developers/docs/api/delete-templates-template
locale: de
description: "Delete Template"
generated: 2026-10-17
operationId: template.destroy
method: DELETE
path: "/templates/{template}"
scopes: [templates.write]
spec_version: 0.0.1
---

# DELETE /templates/{template}

**Delete Template**

Deletes the key owner's template. **Irreversible**, with no confirmation step: the
template disappears from `GET /templates` and `GET /templates/browse`, requests to
`/templates/{template}` return `404`, and a new order or chunk preview with that
`template_id` returns `422`, exactly as for a template that never existed.

Orders already created from it, and their results, stay untouched and keep running
with the settings they had at creation time (orders created before late September 2026
have no snapshot and keep running with the template configuration as of its deletion).
If such orders exist, the template is kept hidden: `GET /orders/{order}` still shows it
in the `template` field — with that order's `config`.

**Required key permission:** `templates.write`.

- Benötigtes Recht: `templates.write`

## Anfrage

```bash
curl -X DELETE 'https://api.lumean.app/api/public/templates/{template}' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY'
```

## Parameter

| Feld | In | Typ | Pflicht | Beschreibung |
| --- | --- | --- | --- | --- |
| `template` | path | `string` — uuid | Pflicht | Template UUID — 36 characters, not a number. Take it from the `id` field: `POST /templates` returns it on creation, and `GET /templates` and `GET /templates/browse` list it. default: `4d3e9f8b-2c1a-4f5a-8b9c-0d1e2f3a4b5c` |

## Request-Body

Kein Body.

## Antworten

### 200 — Success. The payload is in `data`.

**Antwortfelder**

| Feld | Typ | Pflicht | Beschreibung |
| --- | --- | --- | --- |
| `success` | `boolean` | Pflicht | Success flag. Branch on the HTTP status code instead: any 2xx response carries `true` here, while an error comes back in a different shape that need not contain this field at all. |
| `message` | `string` | Pflicht | A human-readable note in the account language. Fine to show to a user; do not parse it — the wording changes without notice and is not an error code. |
| `data` | `null` — nullable | Pflicht | Always `null`: there is nothing left to return. The `200` status is the confirmation. |

**Beispiel**

```json
{
  "success": true,
  "message": "Template deleted",
  "data": null
}
```

### 401 — The key is missing, unknown, disabled or expired.

**Antwortfelder**

| Feld | Typ | Pflicht | Beschreibung |
| --- | --- | --- | --- |
| `success` | `boolean` | Pflicht | Always `false` in error responses. |
| `message` | `string` | Pflicht | Error text in the key's language (set through the `X-Locale` header). |
| `data` | `null` — nullable | Pflicht | Always `null` when the request is rejected before processing. |

**Beispiel**

```json
{
  "success": false,
  "message": "API key is missing. Provide it in the X-API-KEY header.",
  "data": null
}
```

### 403 — The key lacks the required permission, or the object belongs to another user.

**Antwortfelder**

| Feld | Typ | Pflicht | Beschreibung |
| --- | --- | --- | --- |
| `message` | `string` | Pflicht | Error overview. |

**Beispiel**

```json
{
  "success": false,
  "message": "This API key does not have permission to perform this action."
}
```

### 404 — Not found, or not reachable with this key.

**Antwortfelder**

| Feld | Typ | Pflicht | Beschreibung |
| --- | --- | --- | --- |
| `success` | `boolean` | Pflicht | Always `false` in error responses. |
| `message` | `string` | Pflicht | Error text in the key's language (set through the `X-Locale` header). |
| `reason` | `string` | — | Machine-readable reason — present on business refusals (for example, `invalid_order_status`); other errors omit it. Branch on it, not on the message text. |
| `error_code` | `string` | — | The same machine-readable code as in `reason` — a second name for the field. Arrives together with `reason`; the values always match. |

**Beispiel**

```json
{
  "success": false,
  "message": "Resource not found."
}
```

---

- Diese Seite im Browser: https://lumean.app/de/developers/docs/api/delete-templates-template
- Vollständige maschinenlesbare Referenz: https://api.lumean.app/docs/llm.md
