---
title: "List a mailbox's threads"
method: GET
path: "/v1/mailboxes/{id}/threads"
tags: ["threads"]
---

# List a mailbox's threads

`GET /v1/mailboxes/{id}/threads`

## Request

- Base URL: `https://api.replylayer.ai`
- URL: `https://api.replylayer.ai/v1/mailboxes/{id}/threads`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Query parameters

- `before_ts` string, date-time
- `body_format` 'text' | 'html'
- `body_page` string
- `has_inbound` 'true' | 'false'
- `include_firewall_blocked` 'true' | 'false'
- `limit` string
- `since_ts` string, date-time
- `starred` 'true' | 'false'
- `view` 'summary' | 'verbose'

## Response `200`

Success

- object
  - `threads` object[], required
    - `body_preview` string, nullable
    - `first_message_at` string, date-time, required
    - `has_attachment` boolean
    - `id` string, required
    - `last_message_at` string, date-time, required
    - `message_count` integer, required
    - `participants` string[], required
    - `scan` object, nullable
      - `categories` object[], required
        - `category` string, required
        - `decision` 'allow' | 'allow_with_warning' | 'quarantine' | 'require_human_approval' | 'block', required
      - `findings` object[], required
        - `agent_instructions` string[]
        - `attachment_filename` string
        - `attachment_index` integer
        - `attachment_policy_action` 'quarantine_message' | 'metadata_only_after_rewrite' | 'derived_text_finding'
        - `category` string, required
        - `decision` 'allow' | 'allow_with_warning' | 'quarantine' | 'require_human_approval' | 'block', required
        - `expires_at` string, date-time
        - `failure_class` 'inference_error' | 'model_judgment'
        - `pii_type` 'ssn' | 'credit_card' | 'phone_number'
        - `reason` string, nullable, required
        - `retryable` boolean
        - `subtype` string
        - `warning` object
          - `affected_urls` string[], required
          - `attribution_text` string, required
          - `attribution_url` string, required
          - `learn_more` object[], required
            - `threat_type` 'MALWARE' | 'SOCIAL_ENGINEERING' | 'UNWANTED_SOFTWARE' | 'SOCIAL_ENGINEERING_EXTENDED_COVERAGE', required
            - `url` string, required
          - `qualified_wording` string, required
      - `verdict` 'clean' | 'warning' | 'review_required' | 'blocked' | 'quarantined', required
    - `starred` boolean, required
    - `subject` string, required
    - `unread_count` integer, required

## Other responses

- `400`: Validation error (code: VALIDATION_ERROR)
- `401`: Missing or invalid API key (code: UNAUTHORIZED)
- `403`: Forbidden (code: MAILBOX_ACCESS_DENIED)
- `404`: Not found
- `429`: Rate limited (code: RATE_LIMITED)
- `500`: Internal error (code: INTERNAL_ERROR)

---

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