---
title: "Get Draft"
method: GET
path: "/api/chats/{chat_id}/draft/{suggestion_id}"
tags: ["chats"]
---

# Get Draft

`GET /api/chats/{chat_id}/draft/{suggestion_id}`

## 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}/draft/{suggestion_id}`
- Auth: none declared

Read a draft's current state.

Cheap by design - one row read, no pipeline work - because the client polls
this for the whole life of the draft.

## Path parameters

- `chat_id` string, uuid, required
- `suggestion_id` string, uuid, required

## Headers

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

## Response `200`

Successful Response

- DraftResponse: A draft's current state. ``status`` is one of: - ``pending`` - the pipeline is still running; poll again. - ``ready`` - terminal. ``candidate_text`` holds the draft, and an EMPTY string means the responder ABSTAINED (TOS-2651): it had nothing substantive to say. Abstention is a SUCCESS - render nothing and show no error. A draft is offered as the user's own words, so a fluent but off-target line is worse than no draft at all. - ``failed`` - terminal. The pipeline errored; ``error`` says how.
  - `suggestion_id` string, uuid, required
  - `status` string, required
  - `candidate_text` string
  - `error` string, 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/ce2c2ce318b1?raw)
