---
title: "Update a thread"
method: PUT
path: "/api/projects/{projectId}/sessions/{sessionId}/threads/{threadId}"
tags: ["Threads"]
---

# Update a thread

`PUT /api/projects/{projectId}/sessions/{sessionId}/threads/{threadId}`

Update a thread. Replaces the target resource or assignment with the supplied JSON representation.

## Request body

- UpdateThreadRequest — update Thread Request payload accepted by the API.
  - `name` string — Human-readable name.
  - `phase` string — Session lifecycle phase; "review" when ready for review.

## Response `200`

Thread

- Thread — Conversation thread metadata and current execution state.
  - `id` string, required — Stable identifier for the object.
  - `name` string, required — Human-readable name.
  - `lastMessage` string — last Message value for the thread object.
  - `errorMessage` string — Detailed error message, when present.
  - `model` string — model value for the thread object.
  - `reasoning` string — reasoning value for the thread object.
  - `serviceTier` string — service Tier value for the thread object.
  - `phase` string — Session lifecycle phase; "review" when ready for review.
  - `state` string — OAuth state correlation value.
  - `pendingQuestion` boolean — pending Question value for the thread object.
  - `activeCommand` string — active Command value for the thread object.
  - `pending` boolean — pending value for the thread object.
  - `promptQueue` QueuedPrompt[] — Collection of prompt queue values.
    - `id` string, required — Stable identifier for the object.
    - `createdAt` string, date-time — Time when the object was created.
    - `runAfter` string, date-time — run After value for the queued Prompt object.
    - `prompt` string, required — prompt value for the queued Prompt object.
  - `activityStatus` ThreadActivity — thread Activity API object.
    - `status` string, required — Current status value.
    - `reason` string — reason value for the thread Activity object.
    - `completionId` string, nullable — completion Id value for the thread Activity object.
    - `queueCount` integer — queue Count value for the thread Activity object.
    - `nextRunAfter` string, date-time, nullable — next Run After value for the thread Activity object.
    - `message` string — Human-readable status or error message.
  - `metadata` unknown

## Changes

- **2026-06-03** `da5f697dfd2f` — 2 info
  - added the new optional request property `phase`
  - added the optional property `phase` to the response with the `200` status
- **2026-06-01** `90fa68eb439c` — 2 breaking, 5 warning, 1 info
  - the `activityStatus` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - removed the required property `activityStatus/status` from the response with the `200` status
  - removed the optional property `activityStatus/completionId` from the response with the `200` status
  - removed the optional property `activityStatus/message` from the response with the `200` status
  - …4 more
- **2026-05-29** `2d34481e85d7` — 1 breaking, 2 warning, 7 info
  - the `activityStatus` response's property type/format changed from ``/`` to `object`/`` for status `200`
  - removed the request property `phase`
  - removed the optional property `phase` from the response with the `200` status
  - added the optional property `activityStatus/completionId` to the response with the `200` status
  - …6 more

[Change history](https://skmtc.dev/ibuildthecloud/apis/discobot-server-api/changes/api/projects/:projectId/sessions/:sessionId/threads/:threadId/put.md)

---

[API](https://skmtc.dev/ibuildthecloud/apis/discobot-server-api.md) · [All operations](https://skmtc.dev/ibuildthecloud/apis/discobot-server-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ibuildthecloud/discobot-server-api/revisions/4de3fcd6be56/schema)
