# List all comments on a chart

Returns a paginated list of the comments pinned to a chart, ordered by the point in time each one is pinned to, oldest first.

[endpoint]
base_url = "https://telemetry.betterstack.com"
path = "/api/v2/dashboards/{dashboard_id}/charts/{chart_id}/comments"
method = "GET"

[[path_param]]
name = "dashboard_id"
description = "The unique identifier of the dashboard."
required = true
type = "integer"

[[path_param]]
name = "chart_id"
description = "The unique identifier of the chart."
required = true
type = "integer"

[[query_param]]
name = "page"
description = "Page number for pagination."
required = false
type = "integer"
default = "1"

[[query_param]]
name = "per_page"
description = "Number of items per page (max 250)."
required = false
type = "integer"
default = "50"

[[header]]
name = "Authorization"
description = "Bearer `$TOKEN`"
required = true
type = "string"
[/endpoint]

[responses]
[[response]]
status = 200
description = "A paginated list of the comments pinned to the specified chart."
body = '''
{
  "data": [
    {
      "id": "1441",
      "type": "chart_comment",
      "attributes": {
        "chart_id": 18718,
        "content": "Deployed v2.1.0",
        "created_at": "2026-08-17T12:52:21.837Z",
        "updated_at": "2026-08-17T12:52:21.837Z",
        "dt": "2026-08-17T12:34:56.789Z",
        "plaintext_content": "Deployed v2.1.0",
        "api_authored": true
      }
    },
    {
      "id": "1442",
      "type": "chart_comment",
      "attributes": {
        "chart_id": 18718,
        "content": "Latency back to normal after the rollout.",
        "created_at": "2026-08-17T13:41:02.114Z",
        "updated_at": "2026-08-17T13:41:02.114Z",
        "dt": "2026-08-17T13:30:00.000Z",
        "plaintext_content": "Latency back to normal after the rollout.",
        "user_email": "sarah@example.com",
        "api_authored": false
      }
    }
  ],
  "pagination": {
    "first": "https://telemetry.betterstack.com/api/v2/dashboards/1234/charts/18718/comments?page=1",
    "last": "https://telemetry.betterstack.com/api/v2/dashboards/1234/charts/18718/comments?page=1",
    "prev": null,
    "next": null
  }
}
'''

[[response]]
status = 404
description = "A dashboard or chart with the specified ID was not found."
[/responses]

## Example request

```shell
[label cURL]
curl --request GET \
     --url "https://telemetry.betterstack.com/api/v2/dashboards/1234/charts/18718/comments" \
     --header "Authorization: Bearer $TOKEN"
```

## Comment attributes

- `dt` - The point on the chart's time axis the comment is pinned to, in UTC with millisecond precision.
- `content` - The comment as stored. A comment that tags a team member holds the mention as internal markup, so send this value back unchanged when you update the comment and want to keep the mention.
- `plaintext_content` - The same comment as readable text, with any mention rendered as `@Team member`. Use this one to display a comment.
- `user_email` - The team member who wrote the comment. Omitted for a comment created with an API token, which has no author.
- `api_authored` - Whether the comment was created through this API. Only these can be updated and removed with an API token, so use it to tell your own comments apart from those written in the Better Stack interface and the incident comments synced onto the chart from Uptime.
