---
title: "Cancel a failed or abandoned direct-upload slot"
method: DELETE
path: "/api/v1/videos/upload"
---

# Cancel a failed or abandoned direct-upload slot

`DELETE /api/v1/videos/upload`

## Request

- Base URL: `https://everpop.app`
- URL: `https://everpop.app/api/v1/videos/upload`
- Auth: HTTP bearer

Idempotent for a versioned key after terminal cleanup. A 503 cleanup_pending response means cleanup is durably recorded and will retry automatically. Never call this after successful or ambiguously acknowledged finalization.

## Request body

- object
  - `key` string, required

## Response `200`

Cancellation accepted or the versioned key was already cleaned.

- CancelUploadEnvelope
  - `ok` unknown, required
  - `data` object, required
    - `canceled` unknown, required

## Other responses

- `401`: Missing, expired, or revoked API key.
- `402`: Subscription or plan does not allow API writes.
- `403`: The key is not a versioned upload owned by this account.
- `409`: The upload was finalized or a provider operation is still settling.
- `422`: The cancellation payload or key is invalid.
- `429`: Rate limit exceeded; obey Retry-After.
- `503`: reason=cleanup_pending: provider cleanup is durably queued and will retry automatically.

---

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