---
title: "GET /api/message_threads/{id}"
method: GET
path: "/api/message_threads/{id}"
tags: ["Practice Management"]
---

# GET /api/message_threads/{id}

`GET /api/message_threads/{id}`

Retrieve a single message thread by ID (beta)

Work to support message threads is currently in development. This is not ready for full use.

## Path parameters

- `id` integer, required

## Query parameters

- `doctor` integer
- `practice_group` integer
- `patient` integer
- `message_type` string
- `archived` boolean
- `starred` boolean
- `unread_count` integer
- `updated_since` string

## Response `200`

OK

- DoctorMessageThread
  - `assigned_groups` integer[] — Array of user group IDs assigned to this thread
  - `archived` boolean — Whether the thread is archived
  - `first_message` integer — ID of the first message in the thread
  - `patient` integer — ID of the patient associated with this thread (if patient-facing)
  - `doctor` integer — ID of the doctor who owns this thread
  - `last_message` integer — ID of the most recent message in the thread
  - `practice_group` integer — ID of the practice group for access control
  - `created_at` string, date-time — Timestamp when the thread was created
  - `updated_at` string, date-time — Timestamp when the thread was last updated
  - `assigned_user_profiles` integer[] — Array of user profile IDs assigned to this thread
  - `message_count` integer — Total number of messages in this thread
  - `unread_count` integer — Number of unread messages in this thread
  - `last_message_at` string, date-time — Timestamp of the last message - used for sorting
  - `owners` integer[] — Array of user profile IDs who own this thread
  - `starred` boolean — Whether the thread is starred
  - `message_type` string — Type of messages in this thread. See `/api/messages` for message type descriptions
  - `id` integer — Unique identifier for the message thread
  - `subject` string — Thread subject - locked to first message subject

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Permission Denied
- `404` — Not Found
- `405` — Method Not Allowed
- `500` — Internal Server Error

---

[API](https://skmtc.net/drchrono/apis/untitled-api.md) · [All operations](https://skmtc.net/drchrono/apis/untitled-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/drchrono/untitled-api/versions/e595797fe800/schema)
