---
title: "Get one answer request with its questions and saved answers"
method: GET
path: "/api/questionnaires/requests/{requestId}"
tags: ["Questionnaire request"]
---

# Get one answer request with its questions and saved answers

`GET /api/questionnaires/requests/{requestId}`

The read behind the responder's answer page and the reviewer's per-company panel: one answer request merged with the questionnaire it answers, plus every question and the responder's saved answer. Note which half of the merge wins — `id`, `status` and `dueDate` are the **questionnaire's**, while the request's own are `questionnaireRequestId` and `requestStatus`. Attachments referenced by a question or an answer carry a 24-hour signed URL. Readable by the requesting company, 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. An archived questionnaire answers 403.

## Path parameters

- `requestId` string, required

## Response `200`

Default Response

- object
  - `metadata` object, required
    - `success` boolean, required — True when the request succeeded.
  - `data` object, required
    - `id` string, required
    - `name` string, nullable
    - `description` string, nullable
    - `companyId` string, nullable
    - `status` string, nullable
    - `isRetraced` string, nullable
    - `isTemplate` number, nullable
    - `updateByUserName` string, nullable
    - `sections` object[], required
      - `id` string, required
      - `name` string, nullable
      - `description` string, nullable
      - `isRetraced` string, nullable
      - `sortOrder` number, nullable
    - `questions` object[], required
      - `id` string, required
      - `title` string, nullable
      - `description` string, nullable
      - `companyId` string, nullable
      - `sortOrder` number, nullable
      - `questionTypeId` string, nullable
      - `questionnaireSectionId` string, nullable
      - `retracedDatapointId` string, nullable
      - `type` string, nullable
      - `sectionId` string, nullable
      - `isCustom` boolean, required
      - `meta` object, required
      - `answer` string, nullable
      - `status` string, nullable
      - `isNotAvailable` number, nullable
      - `isVerified` boolean, nullable
      - `verificationMeta` unknown
      - `autoAnswered` number, nullable
      - `responseId` string, nullable
      - `requestId` string, nullable
      - `questionId` string, nullable
      - `retracedTemplateId` string, nullable
      - `commentCount` number, nullable
    - `questionnaireId` string, required
    - `questionnaireRequestId` string, required
    - `forCompanyId` string, nullable
    - `onBehalfOfCompanyId` string, nullable
    - `requestStatus` string, nullable
    - `updatedByUserName` string, nullable
    - `statistics` object, nullable
      - `totalApprovedResponses` number, nullable
      - `totalInReviewResponses` number, nullable
      - `totalDeniedResponses` number, nullable
      - `totalMissingResponses` number, nullable
      - `totalResponses` number, nullable
      - `totalQuestions` number, nullable
      - `totalComments` number, nullable
      - `approvedResponsesPercentage` number, nullable
      - `inReviewResponsesPercentage` number, nullable
      - `deniedResponsesPercentage` number, nullable
      - `missingResponsesPercentage` number, nullable
      - `responsesPercentage` number, nullable
    - `isRemoved` number, nullable
    - `requestCompany` object, required
      - `id` string, nullable
      - `name` string, nullable
    - `onBehalfOfCompany` object, required
      - `id` string, nullable
      - `name` string, nullable
    - `requestedCompany` object, required
      - `id` string, nullable
      - `name` string, nullable
    - `supplierConnected` boolean, required
    - `answeredByConnected` boolean, required

## Other responses

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

## Changes

> 22 revisions in range; 1 not diffed.

- **2026-08-31** `97e51f27dc77` — 43 breaking, 54 info
  - the response property `data/companyId` became nullable for the status `200`
  - the response property `data/description` became nullable for the status `200`
  - the response property `data/forCompanyId` became nullable for the status `200`
  - the response property `data/isRemoved` became nullable for the status `200`
  - …93 more
- **2026-08-17** `853f4e9f5103` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/retraced/apis/api-reference/changes/api/questionnaires/requests/:requestId/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/97e51f27dc77/schema)
