---
title: "End Conversation"
method: POST
path: "/chat/{conversation_id}/end"
tags: ["Chat Widget"]
---

# End Conversation

`POST /chat/{conversation_id}/end`

End a conversation at the visitor's request (Quick Exit).

Marks the conversation completed and triggers the post-processing
pipeline. Idempotent — ending an already-completed conversation
returns ended=false.

Auth: X-Session-Token header, or a JSON body {"session_token": ...}
as a fallback for navigator.sendBeacon, which cannot set headers and
must send text/plain to avoid a CORS preflight — so the body is
parsed manually rather than via a Pydantic model.

## Path parameters

- `conversation_id` string, uuid, required

## Response `200`

Successful Response

- EndConversationResponse
  - `ended` boolean, required — True if this call ended the conversation; false if it was already completed/expired

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/openintake/apis/fastapi.md) · [All operations](https://skmtc.dev/openintake/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openintake/fastapi/revisions/4a81645b59f6/schema)
