---
title: "List Record Comments"
method: GET
path: "/api/v1/entities/{entity_id}/comments"
tags: ["comments"]
---

# List Record Comments

`GET /api/v1/entities/{entity_id}/comments`

The comment thread on one record, oldest first.

## Path parameters

- `entity_id` string, uuid, required

## Query parameters

- `row_key` string, required — The record's `_row_key`.
- `app_id` string, uuid, nullable
- `embed_host_app_id` string, uuid, nullable
- `page` integer
- `page_size` integer

## Response `200`

Successful Response

- CommentList
  - `comments` CommentRead[], required
    - `id` string, uuid, required
    - `body` string, required
    - `author` CommentAuthor, required
      - `user_id` string, uuid, required
      - `name` string — Display name; blank if unresolvable.
      - `email` string — Email; blank if unresolvable.
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `reply_to` CommentQuote — The parent preview above a reply. Resolved SERVER-side, not by the client. The thread pages at DEFAULT_PAGE_SIZE, so a reply routinely loads on a page its parent is not on — a client-side lookup would render a blank quote roughly whenever a thread got long.
      - `id` string, uuid, required
      - `author_name` string — Blank if unresolvable.
      - `body_excerpt` string — Plain text, markers stripped, <= 280 chars. Empty when `is_deleted` — there is nothing left to preview.
      - `is_deleted` boolean, required — The parent was soft-deleted. The reply survives; the client renders 'Original message deleted' in place of the excerpt.
    - `mentions` CommentMention[]
      - `user_id` string, uuid, required
      - `name` string — Falls back to the stored marker text.
      - `email` string
    - `like_count` integer
    - `liked_by_me` boolean
    - `can_edit` boolean, required — Whether THIS caller may edit it. Computed server-side because the app runtime's CurrentUser carries no user id, so the widget cannot decide ownership locally.
    - `can_delete` boolean, required — Whether THIS caller may delete it.
  - `page` integer, required
  - `page_size` integer
  - `total` integer, required — Total live comments on this record.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/netter/apis/dmi-backend.md) · [All operations](https://skmtc.dev/netter/apis/dmi-backend/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/netter/dmi-backend/revisions/eed6fb164abd/schema)
