---
title: "Listing Comments"
method: GET
path: "/api/v2/requests/{request_id}/comments"
tags: ["Requests"]
---

# Listing Comments

`GET /api/v2/requests/{request_id}/comments`

#### Pagination

- Cursor pagination (recommended)
- Offset pagination

See [Pagination](/api-reference/introduction/pagination/).

#### Sorting

By default, comments are sorted by creation date in ascending order.

When using cursor pagination, use the following parameter to change the sort order:

| Name   | Type   | Required | Comments
| ------ | ------ | -------- | --------
| `sort` | string | no       | Possible values are "created_at" (ascending order) or "-created_at" (descending order)

When using offset pagination, use the following parameters to change the sort order:

| Name         | Type   | Required | Comments
| ------------ | ------ | -------- | --------
| `sort_by`    | string | no       | One of `created_at`, `updated_at`
| `sort_order` | string | no       | One of `asc`, `desc`

#### Allowed For

* End Users

## Query parameters

- `page[before]` string
- `page[after]` string
- `page[size]` integer
- `sort` 'created_at' | '-created_at'
- `since` string
- `role` string

## Response `200`

Success response

- TicketCommentsResponse
  - `comments` TicketCommentObject[]
    - `attachments` AttachmentObject[] — Attachments, if any. See [Attachment](/api-reference/ticketing/tickets/ticket-attachments/)
      - `content_type` string — The content type of the image. Example value: "image/png"
      - `content_url` string — A full URL where the attachment image file can be downloaded. The file may be hosted externally so take care not to inadvertently send Zendesk authentication credentials. See [Working with url properties](/documentation/ticketing/managing-tickets/working-with-url-properties)
      - `deleted` boolean — If true, the attachment has been deleted
      - `file_name` string — The name of the image file
      - `height` integer — The height of the image file in pixels. If height is unknown, returns null
      - `id` integer — Automatically assigned when created
      - `inline` boolean — If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false
      - `malware_access_override` boolean — If true, you can download an attachment flagged as malware. If false, you can't download such an attachment.
      - `malware_scan_result` string — The result of the malware scan. There is a delay between the time the attachment is uploaded and when the malware scan is completed. Usually the scan is done within a few seconds, but high load conditions can delay the scan results. Possible values: "malware_found", "malware_not_found", "failed_to_scan", "not_scanned"
      - `mapped_content_url` string — The URL the attachment image file has been mapped to
      - `size` integer — The size of the image file in bytes
      - `url` string — A URL to access the attachment details
      - `width` integer — The width of the image file in pixels. If width is unknown, returns null
      - `thumbnails` AttachmentBaseObject[] — An array of attachment objects. Note that photo thumbnails do not have thumbnails
        - `content_type` string — The content type of the image. Example value: "image/png"
        - `content_url` string — A full URL where the attachment image file can be downloaded. The file may be hosted externally so take care not to inadvertently send Zendesk authentication credentials. See [Working with url properties](/documentation/ticketing/managing-tickets/working-with-url-properties)
        - `deleted` boolean — If true, the attachment has been deleted
        - `file_name` string — The name of the image file
        - `height` integer — The height of the image file in pixels. If height is unknown, returns null
        - `id` integer — Automatically assigned when created
        - `inline` boolean — If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false
        - `malware_access_override` boolean — If true, you can download an attachment flagged as malware. If false, you can't download such an attachment.
        - `malware_scan_result` string — The result of the malware scan. There is a delay between the time the attachment is uploaded and when the malware scan is completed. Usually the scan is done within a few seconds, but high load conditions can delay the scan results. Possible values: "malware_found", "malware_not_found", "failed_to_scan", "not_scanned"
        - `mapped_content_url` string — The URL the attachment image file has been mapped to
        - `size` integer — The size of the image file in bytes
        - `url` string — A URL to access the attachment details
        - `width` integer — The width of the image file in pixels. If width is unknown, returns null
    - `audit_id` integer — The id of the ticket audit record. See [Show Audit](/api-reference/ticketing/tickets/ticket_audits/#show-audit)
    - `author_id` integer — The id of the comment author. See [Author id](#author-id)
    - `body` string — The comment string. See [Bodies](#bodies)
    - `created_at` string, date-time — The time the comment was created
    - `html_body` string — The comment formatted as HTML. See [Bodies](#bodies)
    - `id` integer — Automatically assigned when the comment is created
    - `metadata` object — System information (web client, IP address, etc.) and comment flags, if any. See [Comment flags](#comment-flags)
    - `plain_body` string — The comment presented as plain text. See [Bodies](#bodies)
    - `public` boolean — true if a public comment; false if an internal note. The initial value set on ticket creation persists for any additional comment unless you change it
    - `type` string — `Comment` or `VoiceComment`. The JSON object for adding voice comments to tickets is different. See [Adding voice comments to tickets](/documentation/ticketing/managing-tickets/adding-voice-comments-to-tickets)
    - `uploads` string[] — List of tokens received from [uploading files](/api-reference/ticketing/tickets/ticket-attachments/#upload-files) for comment attachments. The files are attached by creating or updating tickets with the tokens. See [Attaching files](/api-reference/ticketing/tickets/tickets/#attaching-files) in Tickets
    - `via` TicketAuditViaObject — Describes how the object was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
      - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
      - `source` object — For some channels a source object gives more information about how or why the ticket or event was created

## Changes

> 29 revisions in range; 1 not diffed, 1 could not be searched.

- **2025-06-13** `4085d8c72c5c` — 4 breaking
  - the `comments/items/attachments/items/allOf[#/components/schemas/AttachmentBaseObject]/height` response's property type/format changed from `string`/`` to `integer`/`` for status `200`
  - the `comments/items/attachments/items/allOf[#/components/schemas/AttachmentBaseObject]/width` response's property type/format changed from `string`/`` to `integer`/`` for status `200`
  - the `comments/items/attachments/items/allOf[#/components/schemas/AttachmentThumbnails]/thumbnails/items/height` response's property type/format changed from `string`/`` to `integer`/`` for status `200`
  - the `comments/items/attachments/items/allOf[#/components/schemas/AttachmentThumbnails]/thumbnails/items/width` response's property type/format changed from `string`/`` to `integer`/`` for status `200`
- …earlier changes not shown

[Full history](https://skmtc.dev/botbrains-io/apis/support-api/changes/api/v2/requests/:request_id/comments/get.md)

---

[API](https://skmtc.dev/botbrains-io/apis/support-api.md) · [All operations](https://skmtc.dev/botbrains-io/apis/support-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/botbrains-io/support-api/revisions/d53eac07ba68/schema)
