---
title: "Get Requirement Checks"
method: GET
path: "/requirement-checks/by-review/{review_id}"
tags: ["requirement-checks"]
---

# Get Requirement Checks

`GET /requirement-checks/by-review/{review_id}`

## Request

- Base URL: `https://api.kobaltlabs.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.kobaltlabs.com/requirement-checks/by-review/{review_id}`
- Auth: none declared

Get all requirement checks for a review's evidence packet.

Only requirements whose section the user is allowed to review are returned;
sections owned by other teams/people are filtered out (admins/masquerade see
all). Counts reflect the filtered set.

## Path parameters

- `review_id` string, uuid, required

## Response `200`

Successful Response

- RequirementChecksListResponse: Response model for a list of requirement checks.
  - `requirements` RequirementCheckResponse[]
    - `id` string, uuid, required
    - `evidence_packet_id` string, uuid, required
    - `evidence_packet_section_id` string, uuid, nullable
    - `risk_area_name` string, nullable
    - `template_id` string, uuid, nullable
    - `template_name` string, nullable
    - `question_id` string, uuid, required
    - `question` union, required
      - FreeResponseQuestion
        - `question` string, required
        - `additional_context` string, nullable
        - `score_compliance` boolean
        - `question_id` string, required
        - `type` 'free'
      - MultipleChoiceQuestion
        - `question` string, required
        - `options` string[], required
        - `additional_context` string, nullable
        - `score_compliance` boolean
        - `question_id` string, required
        - `type` 'multiple'
      - ChooseOneQuestion
        - `question` string, required
        - `options` string[], required
        - `additional_context` string, nullable
        - `score_compliance` boolean
        - `question_id` string, required
        - `type` 'one'
    - `answer` union
      - QuestionnaireAnswerChoiceAnswer
        - `question` string, required
        - `options` string[], nullable
        - `type` 'free' | 'one' | 'multiple', required
        - `answer` ChoiceAnswerOutput[], required
          - `choice` string, required
          - `explanation` string
          - `citations` BackendModelsPydanticDraftingCitation[], required
            - `type` string, required
            - `cited_text` string, required
            - `document_index` integer, required
            - `document_title` string, required
            - `end_page_number` integer, required
            - `start_page_number` integer, required
          - `conflicting` boolean
        - `compliant` 'compliant' | 'non_compliant' | 'partially_compliant' | 'not_applicable'
        - `vendor_answer` QuestionnaireVendorAnswer
          - `answer` string
          - `choices` string[], nullable
          - `notes` string, nullable
        - `label` string, nullable
      - QuestionnaireAnswerFreeAnswer
        - `question` string, required
        - `options` string[], nullable
        - `type` 'free' | 'one' | 'multiple', required
        - `answer` FreeAnswerOutput[], required
          - `answer` string, required
          - `citations` BackendModelsPydanticDraftingCitation[], required
            - `type` string, required
            - `cited_text` string, required
            - `document_index` integer, required
            - `document_title` string, required
            - `end_page_number` integer, required
            - `start_page_number` integer, required
        - `compliant` 'compliant' | 'non_compliant' | 'partially_compliant' | 'not_applicable'
        - `vendor_answer` QuestionnaireVendorAnswer
          - `answer` string
          - `choices` string[], nullable
          - `notes` string, nullable
        - `label` string, nullable
    - `compliance` 'compliant' | 'non_compliant' | 'partially_compliant' | 'no_evidence' | 'not_applicable': Compliance status for an evidence requirement.
    - `ai_compliance` 'compliant' | 'non_compliant' | 'partially_compliant' | 'no_evidence' | 'not_applicable': Compliance status for an evidence requirement.
    - `check_label` string, nullable
    - `ai_check_label` string, nullable
    - `classified_at` string, date-time, nullable
    - `note` QuestionnaireVendorAnswer
      - `answer` string
      - `choices` string[], nullable
      - `notes` string, nullable
    - `reviewer_note` string, nullable
    - `approval_status` 'pending' | 'approved' | 'issue_created': Approval status for an evidence requirement check.
    - `issue_id` string, uuid, nullable
    - `collaborative_task_id` string, uuid, nullable
    - `closed_at` string, date-time, nullable
    - `closed_by` RequirementCloser: The user who closed out a requirement (approved it or created an issue).
      - `user_id` string, uuid, required
      - `name` string, required
      - `email` string, required
    - `feedback` RequirementCheckFeedbackResponse[]
      - `id` string, uuid, required
      - `feedback_type` 'compliance_inaccurate' | 'answer_inaccurate' | 'inherent_risk_inaccurate' | 'controls_inaccurate' | 'control_strength_inaccurate' | 'other', required
      - `note` string, nullable
      - `created_by_user_id` string, uuid, nullable
      - `created_at` string, date-time, required
    - `check_type` 'REQUIREMENT' | 'RISK_FACTOR': Discriminator for the evidence_requirement_checks polymorphic hierarchy.
    - `inherent_risk_question` union
      - FreeResponseQuestion
        - `question` string, required
        - `additional_context` string, nullable
        - `score_compliance` boolean
        - `question_id` string, required
        - `type` 'free'
      - MultipleChoiceQuestion
        - `question` string, required
        - `options` string[], required
        - `additional_context` string, nullable
        - `score_compliance` boolean
        - `question_id` string, required
        - `type` 'multiple'
      - ChooseOneQuestion
        - `question` string, required
        - `options` string[], required
        - `additional_context` string, nullable
        - `score_compliance` boolean
        - `question_id` string, required
        - `type` 'one'
    - `inherent_risk_answer` union
      - QuestionnaireAnswerChoiceAnswer
        - `question` string, required
        - `options` string[], nullable
        - `type` 'free' | 'one' | 'multiple', required
        - `answer` ChoiceAnswerOutput[], required
          - `choice` string, required
          - `explanation` string
          - `citations` BackendModelsPydanticDraftingCitation[], required
            - `type` string, required
            - `cited_text` string, required
            - `document_index` integer, required
            - `document_title` string, required
            - `end_page_number` integer, required
            - `start_page_number` integer, required
          - `conflicting` boolean
        - `compliant` 'compliant' | 'non_compliant' | 'partially_compliant' | 'not_applicable'
        - `vendor_answer` QuestionnaireVendorAnswer
          - `answer` string
          - `choices` string[], nullable
          - `notes` string, nullable
        - `label` string, nullable
      - QuestionnaireAnswerFreeAnswer
        - `question` string, required
        - `options` string[], nullable
        - `type` 'free' | 'one' | 'multiple', required
        - `answer` FreeAnswerOutput[], required
          - `answer` string, required
          - `citations` BackendModelsPydanticDraftingCitation[], required
            - `type` string, required
            - `cited_text` string, required
            - `document_index` integer, required
            - `document_title` string, required
            - `end_page_number` integer, required
            - `start_page_number` integer, required
        - `compliant` 'compliant' | 'non_compliant' | 'partially_compliant' | 'not_applicable'
        - `vendor_answer` QuestionnaireVendorAnswer
          - `answer` string
          - `choices` string[], nullable
          - `notes` string, nullable
        - `label` string, nullable
    - `suggested_inherent_risk_label` string, uuid, nullable
    - `suggested_inherent_risk_rationale` string, nullable
    - `suggested_control_strength_label` string, nullable
    - `suggested_control_strength_rationale` string, nullable
    - `manual_inherent_risk_label` string, uuid, nullable
    - `manual_control_strength_label` string, nullable
    - `agent_run_id` string, uuid, nullable
  - `total_count` integer
  - `pending_count` integer
  - `approved_count` integer
  - `issue_created_count` integer

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/kobaltlabs/apis/fastapi.md) - [All operations](https://skmtc.dev/kobaltlabs/apis/fastapi/llms.txt) - [OpenAPI document](https://skmtc.dev/kobaltlabs/apis/fastapi/revisions/8587332d5e43?raw)
