---
title: "List Messages"
method: GET
path: "/assistant/conversations/{conversation_id}/messages"
tags: ["assistant"]
---

# List Messages

`GET /assistant/conversations/{conversation_id}/messages`

List a conversation's messages, latest first, cursor-paginated.

Pass `next_cursor` from a prior response back as `cursor` to load older messages.
Cursor pagination is stable under concurrent writes - new messages can land at the
head while the caller is scrolling back without causing duplicates or skipped rows.

## Path parameters

- `conversation_id` string, uuid4, required

## Query parameters

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

## Response `200`

Successful Response

- ConversationMessagesPage — A cursor-paginated slice of a conversation's messages, latest first. `next_cursor` is an opaque token to pass back as `cursor` on the next request. It is null when the caller has reached the start of the conversation.
  - `messages` ConversationMessageResponse[], required
    - `id` string, uuid4, required
    - `conversation_id` string, uuid4, required
    - `parent_id` string, uuid4, nullable, required
    - `role` 'user' | 'assistant', required — Author of a conversation message. `user` is sent by the human, `assistant` is generated by the Galileo Assistant runner.
    - `model` string, nullable, required
    - `context` object[], nullable, required
    - `content` string, nullable, required
    - `tool_calls` object[], nullable, required
    - `status` 'in_progress' | 'success' | 'failed', required — Runner-reported state of an assistant message turn. `content` may be NULL while `in_progress` and after `failed`. On `success`, inspect `finish_reason` for *why* the turn ended.
    - `finish_reason` 'stop' | 'interrupted' | 'max_tokens', required — Why an assistant turn ended.
    - `feedback` object, nullable, required
    - `command_result` object, nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `next_cursor` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/galileo/apis/galileo-api-server.md) · [All operations](https://skmtc.net/galileo/apis/galileo-api-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/galileo/galileo-api-server/versions/933e8c8e6366/schema)
