---
title: "Stop Talk Session"
method: DELETE
path: "/speakers/talk-sessions/{session_id}"
tags: ["voice-sessions"]
---

# Stop Talk Session

`DELETE /speakers/talk-sessions/{session_id}`

## Request

- Base URL: `https://api.verdun.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.verdun.ai/speakers/talk-sessions/{session_id}`
- Auth: HTTP bearer

Stop a session. Idempotent: a client that both closes the socket and
sends this is doing the right thing twice, not making an error.

## Path parameters

- `session_id` string, required

## Response `200`

Successful Response

- StopVoiceSessionResponse: What a stopped session cost. No audio is retained - only these facts.
  - `session_id` string, uuid, required: The session that was stopped, or was already stopped.
  - `ended_at` string, date-time, nullable: When the session closed. Null while a stop is still in progress - the row is only stamped once the device stream is actually shut.
  - `end_reason` string, nullable: Why it stopped. Exhaustive set - see VoiceSessionEndReason.
  - `duration_ms` integer, nullable: Time the stream was live.
  - `bytes_sent` integer: Bytes accepted by the device socket. NOT a delivery confirmation: transmit.cgi answers only at stream end, so no mid-stream acknowledgement exists to verify.

## Other responses

- `422`: Validation Error

---

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