---
title: "List the comments on one question of an answer request"
method: GET
path: "/api/questionnaires/questions/{questionId}/requests/{requestId}/comments"
tags: ["Questionnaire Comments"]
---

# List the comments on one question of an answer request

`GET /api/questionnaires/questions/{questionId}/requests/{requestId}/comments`

Paginated list of the comments left on a single question within one answer request — the read behind the comment thread on the answer and review pages. Readable by the three companies named on the request (the requester, the company being asked, and the company answering on its behalf); anyone else gets 404 rather than 403, so the endpoint never confirms a request they cannot read exists. A missing question answers 404 `questionnaire_not_found`. Comments come back oldest-first. The comment author is carried on the `updatedBy*` fields, not `createdBy*`.

## Path parameters

- `questionId` string, required
- `requestId` string, required

## Query parameters

- `page` integer
- `count` integer

## Response `200`

Default Response

- object
  - `metadata` object, required
    - `success` boolean, required — True when the request succeeded.
    - `pagination` object
      - `page` number, required — Current page number (1-based).
      - `limit` number, required — Page size used for this response. Endpoint defaults vary — see each endpoint's limit parameter.
      - `total` number, required — Total number of records across all pages.
      - `totalPages` number, required — Total number of pages. Iterate until page reaches totalPages.
  - `data` object[], required
    - `id` string, required
    - `questionId` string, required
    - `questionComment` string
    - `createdAt` string
    - `updatedAt` string
    - `updatedByUserId` string
    - `updatedByUserName` string
    - `updatedByCompanyId` string
    - `updatedByCompanyName` string

## Other responses

- `400` — Default Response
- `401` — Default Response
- `403` — Default Response
- `404` — Default Response

## Changes

> 21 revisions in range; 1 not diffed.

- **2026-08-26** `b815f1f4e5bf` — 4 info
  - added the optional property `data/items/createdAt` to the response with the `200` status
  - added the optional property `data/items/updatedAt` to the response with the `200` status
  - the response property `data/items/questionId` became required for the status `200`
  - response property `data/items/questionId` list-of-types was narrowed by removing types `null` from media type `application/json` of response `200`
- **2026-08-24** `60f934498ae2` — 1 breaking, 9 info
  - removed the required property `meta` from the response with the `200` status
  - added the optional property `expected` to the response with the `400` status
  - added the optional property `expected` to the response with the `401` status
  - added the optional property `expected` to the response with the `403` status
  - …6 more
- **2026-08-20** `976ee26dacda` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/retraced/apis/api-reference/changes/api/questionnaires/questions/:questionId/requests/:requestId/comments/get.md)

---

[API](https://skmtc.dev/retraced/apis/api-reference.md) · [All operations](https://skmtc.dev/retraced/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/retraced/api-reference/revisions/1df37791a1bb/schema)
