---
title: "Get message"
method: GET
path: "/session/{sessionID}/message/{messageID}"
---

# Get message

`GET /session/{sessionID}/message/{messageID}`

Retrieve a specific message from a session by its message ID.

## Path parameters

- `sessionID` string, required
- `messageID` string, required

## Query parameters

- `directory` string

## Response `200`

Message

- object
  - `info` union, required
    - UserMessage
      - `id` string, required
      - `sessionID` string, required
      - `role` 'user', required
      - `time` object, required
        - `created` number, required
      - `summary` object
        - `title` string
        - `body` string
        - `diffs` FileDiff[], required
          - `file` string, required
          - `before` string, required
          - `after` string, required
          - `additions` number, required
          - `deletions` number, required
      - `agent` string, required
      - `model` object, required
        - `providerID` string, required
        - `modelID` string, required
      - `system` string
      - `tools` object
    - AssistantMessage
      - `id` string, required
      - `sessionID` string, required
      - `role` 'assistant', required
      - `time` object, required
        - `created` number, required
        - `completed` number
      - `error` union
        - ProviderAuthError
          - `name` 'ProviderAuthError', required
          - `data` object, required
            - `providerID` string, required
            - `message` string, required
        - UnknownError
          - `name` 'UnknownError', required
          - `data` object, required
            - `message` string, required
        - MessageOutputLengthError
          - `name` 'MessageOutputLengthError', required
          - `data` object, required
        - MessageAbortedError
          - `name` 'MessageAbortedError', required
          - `data` object, required
            - `message` string, required
        - APIError
          - `name` 'APIError', required
          - `data` object, required
            - `message` string, required
            - `statusCode` number
            - `isRetryable` boolean, required
            - `responseHeaders` object
            - `responseBody` string
      - `parentID` string, required
      - `modelID` string, required
      - `providerID` string, required
      - `mode` string, required
      - `path` object, required
        - `cwd` string, required
        - `root` string, required
      - `summary` boolean
      - `cost` number, required
      - `tokens` object, required
        - `input` number, required
        - `output` number, required
        - `reasoning` number, required
        - `cache` object, required
          - `read` number, required
          - `write` number, required
      - `finish` string
  - `parts` Part[], required
    - union
      - TextPart
        - `id` string, required
        - `sessionID` string, required
        - `messageID` string, required
        - `type` 'text', required
        - `text` string, required
        - `synthetic` boolean
        - `ignored` boolean
        - `time` object
          - `start` number, required
          - `end` number
        - `metadata` object
      - object
        - `id` string, required
        - `sessionID` string, required
        - `messageID` string, required
        - `type` 'subtask', required
        - `prompt` string, required
        - `description` string, required
        - `agent` string, required
      - ReasoningPart
        - `id` string, required
        - `sessionID` string, required
        - `messageID` string, required
        - `type` 'reasoning', required
        - `text` string, required
        - `metadata` object
        - `time` object, required
          - `start` number, required
          - `end` number
      - FilePart
        - `id` string, required
        - `sessionID` string, required
        - `messageID` string, required
        - `type` 'file', required
        - `mime` string, required
        - `filename` string
        - `url` string, required
        - `source` union
          - FileSource
            - `text` FilePartSourceText, required
              - …
            - `type` 'file', required
            - `path` string, required
          - SymbolSource
            - `text` FilePartSourceText, required
              - …
            - `type` 'symbol', required
            - `path` string, required
            - `range` Range, required
              - …
            - `name` string, required
            - `kind` integer, required
      - ToolPart
        - `id` string, required
        - `sessionID` string, required
        - `messageID` string, required
        - `type` 'tool', required
        - `callID` string, required
        - `tool` string, required
        - `state` union, required
          - ToolStatePending
            - `status` 'pending', required
            - `input` object, required
            - `raw` string, required
          - ToolStateRunning
            - `status` 'running', required
            - `input` object, required
            - `title` string
            - `metadata` object
            - `time` object, required
              - …
          - ToolStateCompleted
            - `status` 'completed', required
            - `input` object, required
            - `output` string, required
            - `title` string, required
            - `metadata` object, required
            - `time` object, required
              - …
            - `attachments` FilePart[]
              - …
          - ToolStateError
            - `status` 'error', required
            - `input` object, required
            - `error` string, required
            - `metadata` object
            - `time` object, required
              - …
        - `metadata` object
      - StepStartPart
        - `id` string, required
        - `sessionID` string, required
        - `messageID` string, required
        - `type` 'step-start', required
        - `snapshot` string
      - StepFinishPart
        - `id` string, required
        - `sessionID` string, required
        - `messageID` string, required
        - `type` 'step-finish', required
        - `reason` string, required
        - `snapshot` string
        - `cost` number, required
        - `tokens` object, required
          - `input` number, required
          - `output` number, required
          - `reasoning` number, required
          - `cache` object, required
            - `read` number, required
            - `write` number, required
      - SnapshotPart
        - `id` string, required
        - `sessionID` string, required
        - `messageID` string, required
        - `type` 'snapshot', required
        - `snapshot` string, required
      - PatchPart
        - `id` string, required
        - `sessionID` string, required
        - `messageID` string, required
        - `type` 'patch', required
        - `hash` string, required
        - `files` string[], required
      - AgentPart
        - `id` string, required
        - `sessionID` string, required
        - `messageID` string, required
        - `type` 'agent', required
        - `name` string, required
        - `source` object
          - `value` string, required
          - `start` integer, required
          - `end` integer, required
      - RetryPart
        - `id` string, required
        - `sessionID` string, required
        - `messageID` string, required
        - `type` 'retry', required
        - `attempt` number, required
        - `error` APIError, required
          - `name` 'APIError', required
          - `data` object, required
            - `message` string, required
            - `statusCode` number
            - `isRetryable` boolean, required
            - `responseHeaders` object
            - `responseBody` string
        - `time` object, required
          - `created` number, required
      - CompactionPart
        - `id` string, required
        - `sessionID` string, required
        - `messageID` string, required
        - `type` 'compaction', required
        - `auto` boolean, required

## Other responses

- `400` — Bad request
- `404` — Not found

---

[API](https://skmtc.net/arctic-cli/apis/arctic.md) · [All operations](https://skmtc.net/arctic-cli/apis/arctic/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/arctic-cli/arctic/versions/d64a58bed245/schema)
