---
title: "End Session"
method: POST
path: "/voice/v1/sessions/{session_id}/end"
tags: ["protocol"]
---

# End Session

`POST /voice/v1/sessions/{session_id}/end`

Finalize the session and start asynchronous processing. After this call no further audio uploads are accepted. The server collects and orders all uploaded chunks, commits the session, and queues it for transcription and template extraction. Poll `GET /voice/v1/sessions/{session_id}` (or use a webhook) to retrieve results once processing completes.

## Path parameters

- `session_id` string, required

## Request body

- EndSessionRequest
  - `audio_files_sent` integer — Optional number of audio chunks/files the client sent, used for reconciliation logging.

## Response `202`

Session ended, processing started

- EndSessionResponse
  - `session_id` string
  - `status` string
  - `message` string
  - `audio_files_received` integer
  - `audio_files` string[]

## Other responses

- `400` — Session already ended
- `404` — Session not found

---

[API](https://skmtc.net/eka/apis/eka-developer-apis.md) · [All operations](https://skmtc.net/eka/apis/eka-developer-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/eka/eka-developer-apis/revisions/9ea23456f722/schema)
