---
title: "List comments"
method: GET
path: "/public-video-review/{link_id}/comments"
tags: ["Public - Comments"]
---

# List comments

`GET /public-video-review/{link_id}/comments`

Returns the list of video comments with pagination.

## Authentication

| Parameter | Type | Description |
|-----------|------|-------------|
| `link_id` | path | Review link identifier |
| `token` | query | User session token |

The `token` is required to access comments. This same token can be used to edit or delete comments that were created with it. The token can be the same value as `link_id` or a unique identifier generated by the application.

**Example:** `550e8400-e29b-41d4-a716-446655440000`

## Behavior

- Returns main comments with their nested replies
- Supports pagination via `page` and `limit`
- Allows filtering by `status` (open/resolved)
- If the link has `show_resolved: false`, only open comments are returned

## Response Structure

Comments are returned in hierarchical format, where each main comment contains a `replies` array with its responses.

## Path parameters

- `link_id` string, uuid, required

## Query parameters

- `token` string, uuid, required
- `page` string
- `limit` string
- `status` 'open' | 'resolved'

## Response `200`

Comment list returned successfully

- PaginatedCommentsResponse
  - `data` CommentWithRepliesResponse[] — List of main comments with their nested replies.
    - `id` string, uuid — Comment unique UUID.
    - `video_id` string, uuid — UUID of the video the comment belongs to.
    - `user_id` string, uuid, nullable — UUID of the user who created the comment (available only in private API).
    - `user_name` string — Name of the user who created the comment.
    - `text` string — Comment text.
    - `status` 'open' | 'resolved' — Current comment status.
    - `time` integer — Video timestamp in seconds.
    - `reply_to` string, uuid, nullable — Parent comment UUID (null for main comments).
    - `avatar` string, uri, nullable — User avatar URL (available only in private API when user has an avatar).
    - `created_at` string, date-time — Comment creation date and time.
    - `updated_at` string, date-time — Last update date and time.
    - `replies` CommentResponse[] — List of replies linked to this comment.
      - `id` string, uuid — Comment unique UUID.
      - `video_id` string, uuid — UUID of the video the comment belongs to.
      - `user_id` string, uuid, nullable — UUID of the user who created the comment (available only in private API).
      - `user_name` string — Name of the user who created the comment.
      - `text` string — Comment text.
      - `status` 'open' | 'resolved' — Current comment status.
      - `time` integer — Video timestamp in seconds.
      - `reply_to` string, uuid, nullable — Parent comment UUID (null for main comments).
      - `avatar` string, uri, nullable — User avatar URL (available only in private API when user has an avatar).
      - `created_at` string, date-time — Comment creation date and time.
      - `updated_at` string, date-time — Last update date and time.
  - `hasNextPage` boolean — Indicates if there is a next page of results.
  - `totalPages` integer — Total number of available pages.
  - `page` integer — Current page number.
  - `limit` integer — Number of items per page.
  - `totalItens` integer — Total number of main comments (does not include replies in count).

## Other responses

- `401` — Invalid or missing token
- `403` — Review link expired or inactive

---

[API](https://skmtc.net/pandavideo/apis/api-v2.md) · [All operations](https://skmtc.net/pandavideo/apis/api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pandavideo/api-v2/revisions/4fbd3c623ca9/schema)
