---
title: "Get a thread with its messages"
method: GET
path: "/v1/inboxes/{inbox_id}/threads/{thread_id}"
tags: ["Threads"]
---

# Get a thread with its messages

`GET /v1/inboxes/{inbox_id}/threads/{thread_id}`

## Request

- Base URL: `https://api.send0.dev`
- URL: `https://api.send0.dev/v1/inboxes/{inbox_id}/threads/{thread_id}`
- Auth: HTTP bearer

Messages oldest first. HTML only with `include_html=true`.

## Path parameters

- `inbox_id` string, required
- `thread_id` string, required

## Query parameters

- `include_html` string

## Response `200`

ThreadWithMessages

- ThreadWithMessages
  - `object` 'thread', required
  - `id` string, required
  - `inbox_id` string, required
  - `subject` string, required
  - `participants` string[], required
  - `message_count` integer, required
  - `labels` string[], required
  - `latest_message` object, nullable, required: The newest message, for list previews
    - `id` string, required
    - `direction` 'in' | 'out', required
    - `from` Mailbox, required
      - `name` string, nullable, required
      - `email` string, required
    - `snippet` string, required: Start of the new text (quotes and signatures removed), whitespace collapsed
  - `last_message_at` string, date-time, required
  - `created_at` string, date-time, required
  - `messages` Message[], required
    - `object` 'message', required
    - `id` string, required
    - `inbox_id` string, required
    - `thread_id` string, required
    - `direction` 'in' | 'out', required
    - `status` 'received' | 'queued' | 'sent' | 'delivered' | 'bounced' | 'complained' | 'failed', required
    - `expired` boolean, required: true once the inbox's retention period has passed: text, html, extracted_text, extracted and attachments are gone (null or empty) and the raw message can't be downloaded. Addresses, subject, status and timestamps remain until the message is deleted, 35 days after it was created.
    - `rfc_message_id` string, nullable, required
    - `in_reply_to` string[], required
    - `references` string[], required
    - `from` Mailbox, required
      - `name` string, nullable, required
      - `email` string, required
    - `to` Mailbox[], required
      - `name` string, nullable, required
      - `email` string, required
    - `cc` Mailbox[], required
      - `name` string, nullable, required
      - `email` string, required
    - `reply_to` Mailbox[], required
      - `name` string, nullable, required
      - `email` string, required
    - `subject` string, required
    - `text` string, nullable, required
    - `html` string, nullable: Only on single-message reads and threads with include_html=true
    - `extracted_text` string, nullable, required: New text only: quoted history, forwards and signatures removed
    - `extracted` object, nullable, required
      - `otp` string, nullable, required: Most likely one-time code
      - `links` string[], required
      - `action_link` string, nullable, required: Most likely verify / sign-in / reset link
    - `auth` object, nullable, required
      - `spf` string, required
      - `dkim` string, required
      - `dmarc` string, required
    - `safety` object, nullable, required
      - `prompt_injection` 'none' | 'suspected' | 'likely', required
      - `reasons` string[], required
    - `tag` string, nullable, required: Plus-address tag, e.g. task42 for bot+task42@
    - `attachments` Attachment[], required
      - `id` string, required
      - `filename` string, nullable, required
      - `content_type` string, required
      - `size` integer, required
      - `inline` boolean, required
      - `content_id` string, nullable, required
    - `size` integer, required
    - `sent_at` string, date-time, nullable, required
    - `received_at` string, date-time, nullable, required
    - `created_at` string, date-time, required

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid API key
- `403`: Not allowed (scope, policy or account state)
- `404`: Not found, or not visible to this key
- `429`: Rate limit (`rate_limited`, see Retry-After) or daily send limit reached

---

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