---
title: "Delete an uploaded CSV data source."
method: DELETE
path: "/v1/uploads/{id}"
tags: ["uploads"]
---

# Delete an uploaded CSV data source.

`DELETE /v1/uploads/{id}`

## Request

- Base URL: `http://localhost:8080`
- URL: `http://localhost:8080/v1/uploads/{id}`
- Auth: one of:
  - API key in cookie `dvt_session`
  - HTTP bearer

Soft-deletes the `platform_managed` source and best-effort removes its Parquet object
from R2. Same `connection:manage` entitlement gate as `POST`/`GET /v1/uploads`.

Returns 404 when the id doesn't exist, belongs to another org, is not an uploaded
source, or has already been deleted — all indistinguishable, matching the rest of the
API's not-found posture.

## Response `204`

Deleted.

## Other responses

- `401`: Missing, invalid, or expired session.
- `403`: The caller's role does not permit this action.
- `404`: Resource does not exist.

---

[API](https://skmtc.dev/dvt/apis/dvt-rest-api.md) · [All operations](https://skmtc.dev/dvt/apis/dvt-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dvt/apis/dvt-rest-api/revisions/00016f504165?raw)
