---
title: "Post Turn Inbox"
method: POST
path: "/api/chats/{chat_id}/turn-inbox"
tags: ["chats"]
---

# Post Turn Inbox

`POST /api/chats/{chat_id}/turn-inbox`

## Request

- Base URL: `https://app.thinqos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.thinqos.com/api/chats/{chat_id}/turn-inbox`
- Auth: none declared

Send a message into the turn that is running in this chat (TOS-7144).

The web client calls this instead of steering when it sends while a turn
is running. The message is classified against the running turn's request
and, depending on what it is and who sent it, joins that turn as a live
update, is recorded without interrupting it, or (for the turn's owner
only) hands back ``replace`` so the client steers as before. See
``services/turn_pipeline/turn_inbox.py``.

## Path parameters

- `chat_id` string, uuid, required

## Headers

- `X-Request-ID` string, nullable
- `X-Thinqos-Client` string, nullable
- `x-impersonate-identity-id` string, nullable

## Request body

- TurnInboxRequest: Body for ``POST /{chat_id}/turn-inbox`` (TOS-7144). A message sent while this chat has a turn running. ``idempotency_key`` is the client's key for the message, so a retried POST persists it once.
  - `content` string, required
  - `idempotency_key` string, nullable
  - `reply_to_message_id` string, uuid, nullable

## Response `200`

Successful Response

- TurnInboxResponse: What happened to a mid-turn message (TOS-7144). ``appended``, ``proposed``, ``ignored`` and ``stopped`` are final and the message is in the timeline (``user_message_id``). ``duplicate`` persisted nothing: the same message from the same person already reached this turn. ``replace`` (the turn's owner redirected it) and ``no_turn`` (nothing is running any more) persisted nothing: the client sends the message the ordinary way, steering first for ``replace``.
  - `disposition` 'appended' | 'proposed' | 'ignored' | 'replace' | 'stopped' | 'duplicate' | 'no_turn', required
  - `user_message_id` string, uuid, nullable

## Other responses

- `422`: Validation Error

---

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