---
title: "Delete an app capture and its stored files."
method: DELETE
path: "/story-projects/{projectId}/captures/{captureId}"
tags: ["Sources"]
---

# Delete an app capture and its stored files.

`DELETE /story-projects/{projectId}/captures/{captureId}`

## Request

- Base URL: `https://docs.sleeperhit.studio/api/v1`
- URL: `https://docs.sleeperhit.studio/api/v1/story-projects/{projectId}/captures/{captureId}`
- Auth: HTTP bearer

Deletes the capture and every file stored with it (the recording, its event log and stills). Cannot be undone. Free. Refused with 409 `capture_in_use` while a trailer or story film still plays it, `details.uses` naming each film and where it holds the capture (a trailer's `beats`, or a story film's `storyId`); nothing is removed.

## Response `200`

Deletion ack.

- AppCaptureDeleted
  - `id` string, required
  - `deleted` true, required

## Other responses

- `401`: Missing, malformed, revoked, or expired API key.
- `403`: API key is valid but lacks the scope, is blocked by IP allowlist, or the account is disabled.
- `404`: The named project or source does not exist or is owned by another account.
- `409`: A film still plays this capture (`capture_in_use`, `details.uses` naming each film — a trailer's beats, or a story film's `storyId`); nothing was removed.
- `429`: Rate limit for this API key + IP + route family was exceeded.
- `500`: The API failed unexpectedly. Safe to retry with the same Idempotency-Key.

---

[API](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api.md) · [All operations](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/revisions/4534f5d25540?raw)
