---
title: "List messages in a conversation"
method: GET
path: "/conversations/{conversationId}/messages"
tags: ["Conversations"]
---

# List messages in a conversation

`GET /conversations/{conversationId}/messages`

## Request

- Base URL: `https://api.postplanify.com/api/v1`
- URL: `https://api.postplanify.com/api/v1/conversations/{conversationId}/messages`
- Auth: HTTP bearer

Returns the messages in a conversation. Page 1 holds the most recent messages, and each page is ordered oldest to newest so it reads like a chat. Use `page=2` and up to go further back.

## Path parameters

- `conversationId` string, uuid, required

## Query parameters

- `page` integer
- `limit` integer

## Response `200`

Paginated list of messages

- object
  - `ok` boolean
  - `data` Message[]
    - `id` string, uuid
    - `conversationId` string, uuid
    - `fromBusiness` boolean: True for messages your business sent, false for messages from the customer.
    - `type` 'TEXT' | 'IMAGE' | 'VIDEO' | 'AUDIO' | 'FILE' | 'STICKER' | 'STORY_REPLY' | 'STORY_MENTION' | 'UNKNOWN'
    - `text` string, nullable
    - `attachments` object[]: Photos, videos, audio and files sent with the message. Empty for text messages.
      - `type` string, nullable
      - `url` string, nullable
      - `mimeType` string, nullable
    - `replyToStoryUrl` string, nullable: For `STORY_REPLY` messages, the story the customer replied to.
    - `timestamp` string, date-time
  - `pagination` Pagination
    - `page` integer
    - `limit` integer
    - `total` integer
    - `has_more` boolean

## Other responses

- `403`: Workspace requires an active Growth, Premium, or Scale subscription
- `404`: Conversation not found, or you do not have access to it

---

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