---
title: "Delete an asset"
method: DELETE
path: "/app/{id}/assets/{key}"
---

# Delete an asset

`DELETE /app/{id}/assets/{key}`

## Request

- Base URL: `https://charm.ing`
- URL: `https://charm.ing/app/{id}/assets/{key}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer

Deletes one asset by key. Returns `{ok:true}` when deleted, `{ok:false}` (404) when the asset does not exist. Auth posture: `requireAppAccess` (app token, user token, render token, or claim cookie).

## Response `200`

Asset deleted. A missing asset returns 404 (not 200).

- OkResponse: Minimal success acknowledgement. `ok: true` confirms the mutation landed.
  - `ok` true, required

## Other responses

- `401`: Authentication required.
- `403`: Token does not authorize this app.
- `404`: App not found or asset not found.
- `429`: Asset write rate limit exceeded. Error kind: `too_many_requests`.

---

[API](https://skmtc.dev/charm/apis/charming-api.md) · [All operations](https://skmtc.dev/charm/apis/charming-api/llms.txt) · [OpenAPI document](https://skmtc.dev/charm/apis/charming-api/revisions/a9d06c419b3a?raw)
