> ## Documentation Index
> Fetch the complete documentation index at: https://docs.doctly.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Messages

> Retrieve a session's message history.

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.doctly.ai/api/v1/chat/sessions/{session_id}/messages \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```
</RequestExample>

**GET** `/api/v1/chat/sessions/{session_id}/messages`

Returns the session's messages in chronological order.

## Path Parameters

<ParamField path="session_id" type="string" required>
  The session ID.
</ParamField>

## Query Parameters

<ParamField query="limit" type="integer" default="100">
  Maximum number of messages to return (1–500).
</ParamField>

<ParamField query="after_id" type="integer">
  Cursor: return messages after this message ID.
</ParamField>

## Response

<ResponseField name="data" type="array">
  Array of message objects.
</ResponseField>

<ResponseField name="has_more" type="boolean">
  Whether more messages are available.
</ResponseField>

### The Message object

<ResponseField name="id" type="integer">
  Message ID.
</ResponseField>

<ResponseField name="role" type="string">
  `user` or `assistant`.
</ResponseField>

<ResponseField name="content" type="string">
  Message text (Markdown for assistant messages).
</ResponseField>

<ResponseField name="citations" type="array">
  [Citation objects](/api-reference/chat/query#the-citation-object) — empty for user messages.
</ResponseField>

<ResponseField name="status" type="string">
  Assistant messages only: `complete`, `partial` (generation was interrupted), or `error`.
</ResponseField>

<ResponseField name="created_at" type="string">
  Creation timestamp.
</ResponseField>
