---
title: "Get conversation messages"
method: GET
path: "/sessions/{id}/messages"
tags: ["Sessions"]
---

# Get conversation messages

`GET /sessions/{id}/messages`

Retrieve the full conversation history for a session, including
messages, tool calls, and tool results.

## Path parameters

- `id` string, required

## Response `200`

Conversation messages

- ConversationResponse
  - `data` ConversationEvent[], required
    - `id` integer, required
    - `session_id` string, required
    - `claude_session_id` string
    - `sequence` integer, required — Sequence number in conversation
    - `event_type` 'message' | 'tool_call' | 'tool_result' | 'system' | 'thinking', required — Type of conversation event
    - `created_at` string, date-time, required
    - `role` 'user' | 'assistant' | 'system' — Message role (for message events)
    - `content` string — Message content
    - `tool_id` string — Tool invocation ID (for tool events)
    - `tool_name` string — Tool name (for tool_call events)
    - `tool_input_json` string — JSON string of tool input (for tool_call events)
    - `parent_tool_use_id` string — Parent tool use ID for nested calls
    - `tool_result_for_id` string — Tool call ID this result is for
    - `tool_result_content` string — Tool result content
    - `is_completed` boolean — Whether tool call has received result
    - `approval_status` 'pending' | 'approved' | 'denied' | 'resolved', nullable — Approval status for tool calls
    - `approval_id` string, nullable — Associated approval ID

## Other responses

- `404` — Resource not found
- `500` — Internal server error

---

[API](https://skmtc.net/humanlayer/apis/humanlayer-daemon-rest-api.md) · [All operations](https://skmtc.net/humanlayer/apis/humanlayer-daemon-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/humanlayer/humanlayer-daemon-rest-api/versions/02da8cb8aa12/schema)
