---
title: "List every individual message in one thread, oldest first"
method: GET
path: "/v1/threads/{threadKey}"
tags: ["Messages"]
---

# List every individual message in one thread, oldest first

`GET /v1/threads/{threadKey}`

## Request

- Base URL: `https://api.usemektup.com`
- URL: `https://api.usemektup.com/v1/threads/{threadKey}`
- Auth: HTTP bearer

## Path parameters

- `threadKey` string, required

## Query parameters

- `mailbox` string, required
- `direction` 'inbound' | 'outbound'
- `trash` '1'
- `folder` string, uuid

## Response `200`

OK

- object
  - `messages` MessageBase[]
    - `id` string, uuid
    - `direction` 'inbound' | 'outbound'
    - `from_address` string, nullable
    - `to_address` string, nullable
    - `subject` string, nullable
    - `size_bytes` integer
    - `received_at` string, date-time
    - `read_at` string, date-time, nullable
    - `deleted_at` string, date-time, nullable
    - `flagged_at` string, date-time, nullable
    - `folder_id` string, uuid, nullable
    - `delivery_status` 'sent' | 'deferred' | 'bounced' | 'null', nullable: Only ever populated for direction=outbound. null means either too recent to have a result yet, or delivered locally to another Mektup mailbox rather than over external SMTP.
    - `delivery_detail` string, nullable: The real SMTP response text from the recipient's mail server (Mektup has no relayhost, so its own MTA does the delivery attempt directly) - not a synthesized summary.
    - `delivery_checked_at` string, date-time, nullable

## Other responses

- `400`: Invalid request

---

[API](https://skmtc.dev/usemektup/apis/mektup-api.md) · [All operations](https://skmtc.dev/usemektup/apis/mektup-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usemektup/apis/mektup-api/revisions/b64e649247e7?raw)
