# List product comments

`GET https://api.cademi.com.br/api/v3/products/{product_id}/comments`

Operation ID: `products.comments.list` · API v3

Lists the top-level comments posted on a product's lessons. Replies are available through the list comment replies operation.

The collection can be filtered by lesson, user, status, and a text search term.

Required permissions: `comments.read`.

## Parameters

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `product_id` | path | string | yes |  |
| `limit` | query | integer | no |  |
| `cursor` | query | string | no |  |
| `sort` | query | string, one of `id`, `-id` | no |  |
| `lesson_id` | query | string | no |  |
| `user_id` | query | string | no |  |
| `status` | query | string, one of `pending`, `approved`, `hidden` | no |  |
| `q` | query | string | no |  |

## Responses

### 200

Returns the collection of comments.

Body: `data`: array of Comment.

Fields of Comment:

| Field | Type | Required | Description |
|---|---|---|---|
| `created_at` | string (date-time) | yes |  |
| `id` | string | yes |  |
| `lesson_id` | string | yes |  |
| `object` | string, one of `comment` | yes |  |
| `pinned` | boolean | yes |  |
| `product_id` | string | yes |  |
| `replies_count` | integer | yes |  |
| `revision` | string | yes |  |
| `status` | string, one of `pending`, `approved`, `hidden` | yes |  |
| `text` | string | yes |  |
| `updated_at` | string (date-time) | yes |  |
| `user` | object | yes |  |

### 400

The cursor is invalid or the request contains an unsupported query parameter.

Body: Error.

### 401

The credential is missing, malformed, expired, or revoked.

Body: Error.

### 403

The current credentials do not have the permission required by this operation.

Body: Error.

### 404

The product was not found or is not accessible with the current credentials.

Body: Error.

### 422

The request body or query parameters failed validation.

Body: ValidationFailed.

Full schema: https://cademi.dev/openapi/v3.json
