---
title: "Delete a v2 conversation and purge its data + blobs"
method: DELETE
path: "/v1/conversations/{conversation_id}"
tags: ["conversations"]
---

# Delete a v2 conversation and purge its data + blobs

`DELETE /v1/conversations/{conversation_id}`

Hard-delete a conversation, its entire subtree, and its S3 blobs.

Refuses (409) a live (non-terminal) conversation — close it first.
Cross-org / missing ids collapse to 404 via the global handler.

## Path parameters

- `conversation_id` string, uuid, required

## Response `204`

Successful Response

## Other responses

- `400` — Bad request
- `401` — Authentication required
- `404` — Resource not found
- `409` — The conversation is still live. Close it before deleting; a delete never terminates an in-flight conversation implicitly.
- `422` — Validation Error

## Changes

- **2026-08-13** `9cd7291d4228` — 1 breaking
  - removed the media type `application/json` for the response with the status `409`
- **2026-08-12** `5a5597ebb2d6` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/oneloop-hq/apis/feather-api/changes/v1/conversations/:conversation_id/delete.md)

---

[API](https://skmtc.dev/oneloop-hq/apis/feather-api.md) · [All operations](https://skmtc.dev/oneloop-hq/apis/feather-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/oneloop-hq/feather-api/revisions/9cd7291d4228/schema)
