---
title: "Delete Thread"
method: DELETE
path: "/api/threads/{thread_id}"
tags: ["threads", "threads"]
---

# Delete Thread

`DELETE /api/threads/{thread_id}`

## Request

- Base URL: `https://api.dialogbrain.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.dialogbrain.com/api/threads/{thread_id}`
- Auth: none declared

Hard-delete ANY thread in the workspace + its user-facing child rows.

Works on any thread (livechat, telegram, voice transcript, duel, etc.),
INCLUDING threads with channel_account_id = NULL (old duel / tester
threads) — the lookup scopes on thread.workspace_id via a LEFT JOIN, not
an inner channel_account join, so NULL-account threads are deletable.

Honest behaviour: for a live synced channel (Telegram/WhatsApp) delete
clears the LOCAL copy; a new inbound can re-create the thread on next sync.
For duel/livechat/voice/test threads it's effectively permanent.

Kept intentionally (not cascaded): usage/billing, traces, voice_sessions
call history, diagnostics, outreach dedup — see _THREAD_CHILD_TABLES.

## Path parameters

- `thread_id` integer, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/dialogbrain/apis/dialogbrain-v2-api-gateway.md) · [All operations](https://skmtc.dev/dialogbrain/apis/dialogbrain-v2-api-gateway/llms.txt) · [OpenAPI document](https://skmtc.dev/dialogbrain/apis/dialogbrain-v2-api-gateway/revisions/d84e7dc9977d?raw)
