---
title: "Reopen a comment thread"
method: POST
path: "/projects/{projectId}/comment-threads/{threadId}/reopen"
tags: ["Comments"]
---

# Reopen a comment thread

`POST /projects/{projectId}/comment-threads/{threadId}/reopen`

## Request

- Base URL: `https://app.flora.ai/api/v1`
- URL: `https://app.flora.ai/api/v1/projects/{projectId}/comment-threads/{threadId}/reopen`
- Auth: HTTP bearer

Reopens a resolved comment thread. Already-open threads, and threads with no live comments, return the current thread. Guests who can comment still need thread-manage permission; otherwise the call returns `forbidden`. Missing threads and inaccessible projects return 404. Mutating public API requests support an optional Idempotency-Key header for client retries; duplicate keys within two hours return idempotency_duplicate.

## Path parameters

- `projectId` string, required: Project identifier
- `threadId` string, required: Comment thread identifier

## Response `200`

Comment thread reopened.

- object
  - `comment_thread_id` string, required: Comment thread identifier
  - `project_id` string, required: Project identifier
  - `workspace_id` string, required: Workspace identifier
  - `status` 'open' | 'resolved', required: Whether the thread is still open
  - `resolved_at` number, nullable, required: When the thread was resolved, as a Unix timestamp in milliseconds. Null while open.
  - `created_at` number, required: When the thread was created, as a Unix timestamp in milliseconds
  - `last_comment_at` number, nullable, required: When the latest live comment was created, as a Unix timestamp in milliseconds. Null when the thread has no live comments.
  - `comment_count` integer, required: Number of live comments in the thread
  - `anchor` 'canvas' | 'generation', required: Where the thread is pinned. `canvas` is a pin on the project canvas. `generation` is a review thread on a generation.
  - `generation_id` string: Public run id of the generation this review thread is pinned to. Absent on canvas threads.
  - `position` object, required
    - `x` number, required: Canvas X coordinate of the pin
    - `y` number, required: Canvas Y coordinate of the pin
    - `node_id` string: Canvas node the pin is attached to, when pinned to a node
  - `preview` object, nullable, required: The first live comment in the thread. Null when the thread has no live comments.
    - `comment_id` string, required: Comment identifier
    - `body` string, required: Plain-text comment body
    - `author` object, required
      - `type` 'user' | 'anonymous' | 'flora', required: Author kind
      - `name` string, required: Display name
      - `profile_image_url` string, uri: Author profile image URL
    - `created_at` number, required: When the comment was created, as a Unix timestamp in milliseconds
  - `messages` object[], required: Live comments in the thread, oldest first
    - `comment_id` string, required: Comment identifier
    - `body` string, required: Plain-text comment body
    - `author` object, required
      - `type` 'user' | 'anonymous' | 'flora', required: Author kind
      - `name` string, required: Display name
      - `profile_image_url` string, uri: Author profile image URL
    - `created_at` number, required: When the comment was created, as a Unix timestamp in milliseconds

## Other responses

- `400`: 400
- `401`: 401
- `402`: 402
- `403`: 403
- `404`: 404
- `409`: 409
- `429`: 429
- `500`: 500
- `503`: 503

## Changes

- **2026-10-28** `a8351619f225`: 9 warning
  - added the new `not_configured` enum value to the `error/code` response property for the response status `400`
  - added the new `not_configured` enum value to the `error/code` response property for the response status `401`
  - added the new `not_configured` enum value to the `error/code` response property for the response status `402`
  - added the new `not_configured` enum value to the `error/code` response property for the response status `403`
  - …5 more
- **2026-10-16** `e54130373b10`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/florafauna-ai/apis/flora-ai-api/changes/projects/:projectId/comment-threads/:threadId/reopen/post.md)

---

[API](https://skmtc.dev/florafauna-ai/apis/flora-ai-api.md) - [All operations](https://skmtc.dev/florafauna-ai/apis/flora-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/florafauna-ai/apis/flora-ai-api/revisions/87cfe2c4ac29?raw)
