---
title: "PATCH /session/{sessionID}/message/{messageID}/part/{partID}"
method: PATCH
path: "/session/{sessionID}/message/{messageID}/part/{partID}"
---

# PATCH /session/{sessionID}/message/{messageID}/part/{partID}

`PATCH /session/{sessionID}/message/{messageID}/part/{partID}`

Update a part in a message

## Path parameters

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

## Query parameters

- `directory` string

## Request body

- 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
          - `value` string, required
          - `start` integer, required
          - `end` integer, required
        - `type` 'file', required
        - `path` string, required
      - SymbolSource
        - `text` FilePartSourceText, required
          - `value` string, required
          - `start` integer, required
          - `end` integer, required
        - `type` 'symbol', required
        - `path` string, required
        - `range` Range, required
          - `start` object, required
            - `line` number, required
            - `character` number, required
          - `end` object, required
            - `line` number, required
            - `character` number, required
        - `name` string, required
        - `kind` integer, required
      - ResourceSource
        - `text` FilePartSourceText, required
          - `value` string, required
          - `start` integer, required
          - `end` integer, 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
          - `start` number, required
      - ToolStateCompleted
        - `status` 'completed', required
        - `input` object, required
        - `output` string, required
        - `title` string, required
        - `metadata` object, required
        - `time` object, required
          - `start` number, required
          - `end` number, required
          - `compacted` number
        - `attachments` FilePart[]
          - `id` string, required
          - `sessionID` string, required
          - `messageID` string, required
          - `type` 'file', required
          - `mime` string, required
          - `filename` string
          - `url` string, required
          - `source` union
            - FileSource
              - …
            - SymbolSource
              - …
            - ResourceSource
              - …
      - ToolStateError
        - `status` 'error', required
        - `input` object, required
        - `error` string, required
        - `metadata` object
        - `time` object, required
          - `start` number, required
          - `end` number, 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

## Response `200`

Successfully updated part

- 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
          - `value` string, required
          - `start` integer, required
          - `end` integer, required
        - `type` 'file', required
        - `path` string, required
      - SymbolSource
        - `text` FilePartSourceText, required
          - `value` string, required
          - `start` integer, required
          - `end` integer, required
        - `type` 'symbol', required
        - `path` string, required
        - `range` Range, required
          - `start` object, required
            - `line` number, required
            - `character` number, required
          - `end` object, required
            - `line` number, required
            - `character` number, required
        - `name` string, required
        - `kind` integer, required
      - ResourceSource
        - `text` FilePartSourceText, required
          - `value` string, required
          - `start` integer, required
          - `end` integer, 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
          - `start` number, required
      - ToolStateCompleted
        - `status` 'completed', required
        - `input` object, required
        - `output` string, required
        - `title` string, required
        - `metadata` object, required
        - `time` object, required
          - `start` number, required
          - `end` number, required
          - `compacted` number
        - `attachments` FilePart[]
          - `id` string, required
          - `sessionID` string, required
          - `messageID` string, required
          - `type` 'file', required
          - `mime` string, required
          - `filename` string
          - `url` string, required
          - `source` union
            - FileSource
              - …
            - SymbolSource
              - …
            - ResourceSource
              - …
      - ToolStateError
        - `status` 'error', required
        - `input` object, required
        - `error` string, required
        - `metadata` object
        - `time` object, required
          - `start` number, required
          - `end` number, 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)
