---
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
      - `format` union
        - OutputFormatText
          - `type` 'text', required
        - OutputFormatJsonSchema
          - `type` 'json_schema', required
          - `schema` JSONSchema, required
          - `retryCount` integer
      - `summary` object
        - `title` string
        - `body` string
        - `diffs` FileDiff[], required
          - `file` string, required
          - `before` string, required
          - `after` string, required
          - `additions` number, required
          - `deletions` number, required
          - `status` 'added' | 'deleted' | 'modified'
      - `agent` string, required
      - `model` object, required
        - `providerID` string, required
        - `modelID` string, required
      - `system` string
      - `tools` object
      - `variant` string
      - `excludeHistory` boolean
    - 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
        - StructuredOutputError
          - `name` 'StructuredOutputError', required
          - `data` object, required
            - `message` string, required
            - `retries` number, required
        - ContextOverflowError
          - `name` 'ContextOverflowError', required
          - `data` object, required
            - `message` string, required
            - `responseBody` string
        - APIError
          - `name` 'APIError', required
          - `data` object, required
            - `message` string, required
            - `statusCode` number
            - `isRetryable` boolean, required
            - `responseHeaders` object
            - `responseBody` string
            - `metadata` object
      - `parentID` string, required
      - `modelID` string, required
      - `providerID` string, required
      - `mode` string, required
      - `agent` string, required
      - `path` object, required
        - `cwd` string, required
        - `root` string, required
      - `summary` boolean
      - `cost` number, required
      - `tokens` object, required
        - `total` number
        - `input` number, required
        - `output` number, required
        - `reasoning` number, required
        - `cache` object, required
          - `read` number, required
          - `write` number, required
      - `structured` unknown
      - `variant` string
      - `finish` string
      - `stepCapped` boolean
      - `stuckNudged` boolean
      - `stuckAborted` boolean
  - `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
      - SubtaskPart
        - `id` string, required
        - `sessionID` string, required
        - `messageID` string, required
        - `type` 'subtask', required
        - `prompt` string, required
        - `description` string, required
        - `agent` string, required
        - `model` object
          - `providerID` string, required
          - `modelID` string, required
        - `command` string
      - 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
          - ResourceSource
            - `text` FilePartSourceText, required
              - …
            - `type` 'resource', required
            - `clientName` string, required
            - `uri` string, 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
          - `total` number
          - `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
            - `metadata` object
        - `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/cyberstrikeus/apis/cyberstrike.md) · [All operations](https://skmtc.net/cyberstrikeus/apis/cyberstrike/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cyberstrikeus/cyberstrike/versions/4e11f1aed2fd/schema)
