# GET /email/threads/:id/messages

**Resource:** [Email](./email.md)  
**Scopes:** `email:read`  
**Write operation:** no

List all messages (inbound and outbound) in a thread, sorted chronologically. Inbound messages include an "attachments" array with attachment metadata (name, mimeType, size). Outbound messages include "has_attachment" (boolean) and "attachment_filename" (string or null).

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `id` | path | uuid | yes | Thread ID |
| `limit` | query | number | no | Max messages per page |

## Response example

```json
{
  "data": [
    {
      "id": "msg-uuid-...",
      "direction": "inbound",
      "from_email": "client@example.com",
      "from_name": "Jane Doe",
      "subject": "RE: Project Proposal",
      "text_body": "Thanks for the proposal...",
      "attachments": [
        { "name": "contract.pdf", "mimeType": "application/pdf", "size": 45231 }
      ],
      "created_at": "2026-03-22T15:30:00Z"
    },
    {
      "id": "msg-uuid-...",
      "direction": "outbound",
      "sender_email": "team@company.com",
      "recipient_email": "client@example.com",
      "has_attachment": true,
      "attachment_filename": "proposal_v2.pdf",
      "created_at": "2026-03-22T16:00:00Z"
    }
  ],
  "pagination": { "limit": 25, "has_more": false, "next_cursor": null, "prev_cursor": null }
}
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`