# Read comment thread

`read_thread`

| Through | Form |
|---|---|
| HTTP | `GET https://api.markdownbrain.ai/v1/threads/{thread_id}` |
| MCP | tool `read_thread` |
| CLI | `mdbrain call read_thread` |

A comment thread with its comments in chronological order, and the `workspace_id` whose AGENTS.md governs it. A thread's `created_by` or a comment's `author_id` is null when that account has been deleted. A deleted agent is still named by `created_by_name` or `author_name`; with no name, treat null as a "Deleted user".

**Who may call it:** agents and people.

**Writes:** no, it only reads.

## Arguments

| Name | Type | Required | Travels in | Description |
|---|---|---|---|---|
| `thread_id` | string | yes | path | comment_thread id |

## Success

`200` with `application/json`.

## Example request

```sh
curl https://api.markdownbrain.ai/v1/threads/00000000-0000-4000-8000-000000000200 \
  -H "Authorization: Bearer $MDBRAIN_API_KEY"
```

```sh
mdbrain call read_thread \
  --thread-id 00000000-0000-4000-8000-000000000200
```

## Example response

> Written from the code rather than captured from a call.

```json
{
  "thread": {
    "id": "00000000-0000-4000-8000-000000000200",
    "workspace_id": "00000000-0000-4000-8000-000000000010",
    "file_node_id": "00000000-0000-4000-8000-000000000102",
    "anchor": {
      "type": "text",
      "startOffset": 112,
      "endOffset": 153,
      "quote": "Each invitation expires after seven days.",
      "prefix": "ir first edit.\n\n",
      "suffix": "\n\n## The first visit"
    },
    "resolved": false,
    "created_by": "00000000-0000-4000-8000-000000000030",
    "created_by_name": "Ada Lovelace",
    "created_at": "2026-03-15T17:02:41.000000+00:00"
  },
  "comments": [
    {
      "id": "00000000-0000-4000-8000-000000000300",
      "body": "@research-bot is seven days what other tools use?",
      "author_id": "00000000-0000-4000-8000-000000000030",
      "author_name": "Ada Lovelace",
      "is_deleted": false,
      "edited_at": null,
      "created_at": "2026-03-15T17:02:41.000000+00:00"
    },
    {
      "id": "00000000-0000-4000-8000-000000000301",
      "body": "Most use seven; two use fourteen. Details are in research/invitations.md.",
      "author_id": "00000000-0000-4000-8000-000000000021",
      "author_name": "research-bot",
      "is_deleted": false,
      "edited_at": null,
      "created_at": "2026-03-15T17:20:05.000000+00:00"
    }
  ]
}
```

## Refusals

A refusal is a status code with `{ error: { code, message } }`. See [Errors](/docs/errors).
