---
title: "List insight comments"
method: GET
path: "/v1/insights/{insight_id}/comments"
tags: ["InsightComments"]
deprecated: true
---

# List insight comments

`GET /v1/insights/{insight_id}/comments`

## Request

- Base URL: `https://dovetail.com/api`
- URL: `https://dovetail.com/api/v1/insights/{insight_id}/comments`
- Auth: HTTP bearer

> **Deprecated.**

Get a list of page-level and inline comments on an insight.

Pass `?include_text_range=true` to include the selected text and surrounding context for inline comments. By default the list returns comment text only.

Comments are returned in chronological order by default. Only published comments are included.

> 🚧 Permissions
>
> Please check you have the relevant permissions required to access this resource. This may include specific permissions on the object itself or its parent, or having the correct user role if you're making updates.

**Required scope:** `comment:read`

## Path parameters

- `insight_id` string, required

## Query parameters

- `page` object
  - `start_cursor` string
  - `limit` integer, nullable
- `sort` 'created_at:asc' | 'created_at:desc'
- `include_text_range` 'true' | 'false'

## Response `200`

200

- object
  - `data` object[], required
    - `id` string, required
    - `url` string: The URL of the doc this comment belongs to in the Dovetail web app.
    - `body` string, required
    - `author` object, required
      - `id` string, required
      - `name` string, required
    - `created_at` string, required
    - `updated_at` string, required
    - `comment_type` 'page' | 'inline', required: The type of comment: "page" for page-level comments, "inline" for comments on text selections.
    - `thread_id` string, required: Identifier of the comment thread. Comments that share a thread_id are replies in the same conversation.
    - `text_range` object, nullable: The selected text and surrounding context for inline comments. Present on POST, GET, PATCH, and DELETE of a single comment. On list, omitted unless `include_text_range=true`. Null for page-level comments when included.
      - `text` string, required: The selected text that this inline comment is attached to.
      - `text_before` string, nullable, required: Text context before the selection.
      - `text_after` string, nullable, required: Text context after the selection.
  - `page` object, required
    - `total_count` number, required: Total number of items matching the query.
    - `has_more` boolean, required: Whether there are more items beyond the current page.
    - `next_cursor` string, nullable, required: Cursor to pass as `page[start_cursor]` to fetch the next page. Null when there are no more results.
  - `thread` object, nullable, required: The page-level comment thread status. Null if no page-level thread exists.
    - `resolved` boolean, required
    - `resolved_at` string, nullable, required
    - `resolved_by` object, nullable, required
      - `id` string, required
      - `name` string, required

## Other responses

- `400`: 400
- `401`: 401
- `403`: 403
- `404`: 404
- `422`: 422
- `429`: 429
- `500`: 500

## Changes

- **2026-11-03** `8abea327e6b9`: 4 breaking, 1 warning, 4 info
  - added `subschema #1, subschema #2` to the `errors/items/` response property `oneOf` list for the response status `403`
  - the `errors/items/` response's property type changed from `object` to no type for status `403`
  - removed the required property `errors/items/code` from the response with the `403` status
  - removed the required property `errors/items/title` from the response with the `403` status
  - …5 more

[Operation history](https://skmtc.dev/dovetail/apis/dovetail-public-api/changes/v1/insights/:insight_id/comments/get.md)

---

[API](https://skmtc.dev/dovetail/apis/dovetail-public-api.md) - [All operations](https://skmtc.dev/dovetail/apis/dovetail-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dovetail/apis/dovetail-public-api/revisions/8abea327e6b9?raw)
