---
title: "List messages in a mailbox thread"
method: GET
path: "/v1/mailboxes/{id}/threads/{threadId}/messages"
tags: ["Mailboxes"]
---

# List messages in a mailbox thread

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

## Request

- Base URL: `https://api.samva.dev`
- URL: `https://api.samva.dev/v1/mailboxes/{id}/threads/{threadId}/messages`
- Auth: API key in header `x-api-key`

Returns the thread's message summaries, oldest first. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page. Read the bodies with `GET .../threads/{threadId}/content` or one message with `GET /v1/mailboxes/{id}/messages/{messageId}`.

## Path parameters

- `id` string, required
- `threadId` string, required

## Query parameters

- `limit` string, nullable
- `cursor` string

## Response `200`

MailboxMessagePage

- MailboxMessagePage
  - `items` MailboxMessageSummary[], required
    - `id` string, required
    - `channel` 'email', required: The channel an endpoint, thread, or message belongs to.
    - `direction` 'inbound' | 'outbound', required
    - `from` MailboxMessageSender, required
      - `actor` object, nullable
        - `kind` 'user' | 'apiKey' | 'extension' | 'externalAgent' | 'samvaAgent' | 'system', required
        - `id` string, required
        - `displayName` string, nullable
      - `displayName` string, nullable
      - `address` string, required
    - `to` string[], required
    - `subject` string, nullable, required
    - `preview` string, nullable, required
    - `hasAttachments` boolean, required
    - `occurredAt` string, required
  - `nextCursor` string, nullable, required

## Other responses

- `401`: UnauthorizedError
- `403`: ForbiddenError
- `404`: ResourceNotFoundError
- `422`: ValidationError
- `500`: InternalError
- `504`: GatewayTimeoutError

---

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