---
title: "Set Chat Hidden Before"
method: POST
path: "/api/chats/{chat_id}/hide-earlier-messages"
tags: ["chats"]
---

# Set Chat Hidden Before

`POST /api/chats/{chat_id}/hide-earlier-messages`

## 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}/hide-earlier-messages`
- Auth: none declared

Hide, or re-show, earlier messages for the CALLING participant only.

TOS-3755. The gap this closes: archive keeps everything and revives it on
reopen, delete destroys it for the other party too, and nothing said "I do
not want to see these old messages any more".

Presentation only. Nothing is deleted, no other participant is affected,
and the agent still remembers what was hidden - the confirm copy in the UI
states that plainly, because a blank transcript whose agent recalls
everything looks like erasure and is worse than doing nothing.

``disable_mind_recall`` composes the hide with switching Mind recall off
for this conversation, which is what "Start fresh here" sends. That second
control is ``chats.mind_context_disabled`` and is genuinely independent of
"don't learn from this chat" (``chats.extraction_excluded``) - see
``turn_pipeline/recall.py``.

## Path parameters

- `chat_id` string, uuid, required

## Headers

- `x-impersonate-identity-id` string, nullable

## Request body

- HideEarlierMessagesRequest: ``before_message_id`` set = hide; omitted/null = show everything again.
  - `before_message_id` string, uuid, nullable
  - `disable_mind_recall` boolean

## Response `200`

Successful Response

- OkResponse
  - `ok` boolean

## 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/ce2c2ce318b1?raw)
