---
title: "Search Chats"
method: GET
path: "/api/search_chats"
tags: ["Chat"]
---

# Search Chats

`GET /api/search_chats`

## Request

- Base URL: `https://app.getdot.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://app.getdot.ai/api/search_chats`
- Auth: one of:
  - API key in header `X-API-KEY`
  - API key in cookie `Authorization`
  - OAuth 2 (password, token URL `/api/auth/token`)

Chats matching ``q`` across full message bodies — the palette's reach
beyond the pages the sidebar has loaded. Own chats only.

## Query parameters

- `q` string, required: Search query
- `limit` integer

## Response `200`

Successful Response

- ChatSearchResponse
  - `chats` ChatHistoryEntry[], required: Matching summaries from the caller's own conversations, including matches beyond the loaded history pages.
    - `id` string, required: Conversation ID within this workspace. Open it in the iframe using ?c=ID.
    - `first_question` string, required: First question preview, with attachment/context tags removed, up to 200 characters.
    - `date` string, nullable: Conversation creation timestamp, as stored by Dot.
    - `last_updated` string, nullable: Last conversation update timestamp, as stored by Dot.
    - `public` union: Whether the conversation is shared publicly. Legacy storage can return 0 or 1.
      - boolean
      - integer
    - `title` string, nullable: Conversation title, or null if no title has been assigned.
    - `pinned` boolean, required: Whether the conversation is a favorite for its owner.
    - `messages_length` integer, nullable: Stored message count, including assistant and tool messages.
    - `edits_length` integer, nullable: Stored count of edits in this conversation.
    - `overall_feedback` union: Aggregate conversation feedback: positive for likes, negative for dislikes, or null if absent.
      - integer
      - number
    - `labels` union: Conversation labels. SQLite metadata commonly returns a JSON-encoded array string; legacy values may be plain strings.
      - string
      - string[]
    - `agentic` boolean, required: Whether this conversation uses the multi-step agent.
    - `extra` string, nullable: Latest opaque extra URL parameter saved with this conversation by the embedding application.
    - `archived` boolean, required: Whether the conversation is archived.
    - `running` boolean, required: Whether an agentic run is currently active for this conversation.
    - `recently_completed` boolean, required: Whether a run completed recently and its completion indicator has not been dismissed.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/getdot/apis/dot-api-2.md) · [All operations](https://skmtc.dev/getdot/apis/dot-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/getdot/apis/dot-api-2/revisions/d26fe7163a7f?raw)
