---
title: "List inbox thread messages"
method: GET
path: "/v1/workspaces/{workspaceId}/inbox/threads/{threadId}/messages"
tags: ["Inbox"]
---

# List inbox thread messages

`GET /v1/workspaces/{workspaceId}/inbox/threads/{threadId}/messages`

## Request

- Base URL: `https://api.maevesocial.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.maevesocial.com/v1/workspaces/{workspaceId}/inbox/threads/{threadId}/messages`
- Auth: HTTP bearer

## Path parameters

- `threadId` string, required
- `workspaceId` string, uuid, required

## Query parameters

- `limit` integer: Messages per page (max 500, default 500)
- `before` string, uuid: Message id cursor; returns messages strictly older than this message

## Response `200`

Inbox thread with messages

- object
  - `data` PublicInboxThreadMessagesDto, required
    - `thread` PublicInboxThreadDetailDto, required
      - `id` string, uuid, required
      - `platform` string, required
      - `messageType` 'comment' | 'dm' | 'review' | 'mention', required
      - `integrationId` string, uuid, required
      - `accountName` string, nullable, required
      - `accountAvatarUrl` string, nullable, required
      - `platformPermalink` string, nullable, required
      - `postPreviewCaption` string, nullable, required
      - `postPreviewMediaUrl` string, nullable, required
      - `participant` PublicInboxParticipantDto, required
        - `name` string, nullable, required
        - `handle` string, nullable, required
        - `avatarUrl` string, nullable, required
      - `status` 'open', required
      - `isResolved` boolean, required
      - `resolvedAt` string, nullable, required
      - `resolvedBy` PublicInboxResolvedByDto, required
        - `id` string, uuid, required
        - `name` string, required
        - `initials` string, required
      - `resolvedReason` string, nullable, required
      - `resolvedNote` string, nullable, required
      - `assignedTo` PublicInboxResolvedByDto, required
        - `id` string, uuid, required
        - `name` string, required
        - `initials` string, required
      - `replyWindowExpiresAt` string, nullable, required
      - `isReplyable` boolean, required
      - `capabilities` PublicInboxCapabilitiesDto, required
        - `canReply` boolean, required
        - `canHide` boolean, required
        - `canDelete` boolean, required
        - `canAttachMedia` boolean, required
      - `tags` PublicInboxTagDto[], required
        - `id` string, uuid, required
        - `name` string, required
        - `color` string, nullable, required
        - `sortOrder` number
        - `createdAt` string, nullable
        - `updatedAt` string, nullable
      - `relatedPost` PublicInboxRelatedPostDto, required
        - `id` string, uuid, required
        - `origin` 'user_created' | 'platform_import', required: Canonical content origin. platform_import posts are imported reference records and cannot be reused as normal drafts.
        - `platformPostId` string, nullable, required
        - `permalink` string, nullable, required
        - `caption` string, nullable, required
        - `sentAt` string, nullable, required
        - `calendarAt` string, nullable, required: Timestamp used for calendar display: sentAt for published content, scheduledAt for planned content.
        - `media` PublicInboxRelatedPostMediaDto[], required
          - `id` string, uuid, required
          - `url` string, required
          - `thumbnailUrl` string, nullable, required
          - `type` string, required
          - `assetOrigin` 'user_upload' | 'platform_mirror' | 'conversation', required
          - `visibility` 'media_room' | 'reference_only' | 'hidden', required
    - `messages` PublicInboxMessageDto[], required
      - `id` string, uuid, required
      - `parentMessageId` string, uuid, nullable, required
      - `direction` 'incoming' | 'outgoing' | 'internal_note', required
      - `content` string, required
      - `author` PublicInboxAuthorDto, required
        - `name` string, nullable, required
        - `handle` string, nullable, required
        - `avatarUrl` string, nullable, required
        - `isExternal` boolean, required
      - `isHidden` boolean, required
      - `isDeleted` boolean, required
      - `isResolved` boolean, required
      - `resolvedAt` string, nullable, required
      - `resolvedBy` PublicInboxResolvedByDto, required
        - `id` string, uuid, required
        - `name` string, required
        - `initials` string, required
      - `resolvedReason` string, nullable, required
      - `resolvedNote` string, nullable, required
      - `sentByUserId` string, uuid, nullable, required
      - `sendStatus` 'sending' | 'sent' | 'failed', nullable, required
      - `sendError` string, nullable, required
      - `capabilities` PublicInboxPartialCapabilitiesDto
        - `canReply` boolean
        - `canHide` boolean
        - `canDelete` boolean
        - `canAttachMedia` boolean
      - `attachments` PublicInboxAttachmentDto[], required
        - `type` string, required
        - `url` string, required
      - `conversationMedia` PublicConversationMediaDto[], required
        - `id` string, uuid, required
        - `url` string, required
        - `thumbnailUrl` string, nullable, required
        - `type` string, required
      - `platformCreatedAt` string, nullable, required
      - `createdAt` string, nullable, required
    - `hasMore` boolean, required: True when older messages exist beyond this page
    - `nextBefore` string, nullable, required: Message id to pass as `before` for the next older page
  - `meta` unknown, required

---

[API](https://skmtc.dev/maevesocial/apis/maeve-social-api.md) · [All operations](https://skmtc.dev/maevesocial/apis/maeve-social-api/llms.txt) · [OpenAPI document](https://skmtc.dev/maevesocial/apis/maeve-social-api/revisions/1b00fd7e4b15?raw)
