# Resolve or reopen thread

`resolve_thread`

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

Mark a comment thread resolved (or reopen it).

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

**Writes:** yes.

## Arguments

| Name | Type | Required | Travels in | Description |
|---|---|---|---|---|
| `thread_id` | string | yes | path | The thread to resolve or reopen, by id |
| `resolved` | boolean | yes | JSON body | true to resolve the thread, false to reopen it |

## Success

`200` with `application/json`.

## Example request

```sh
curl -X POST https://api.markdownbrain.ai/v1/threads/00000000-0000-4000-8000-000000000200/resolve \
  -H "Authorization: Bearer $MDBRAIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"resolved":true}'
```

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

## Example response

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

```json
{
  "thread_id": "00000000-0000-4000-8000-000000000200",
  "resolved": true
}
```

## Refusals

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