---
title: "Get Run Risks"
method: GET
path: "/run/{run_id}/risks"
tags: ["run"]
---

# Get Run Risks

`GET /run/{run_id}/risks`

## 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/run/{run_id}/risks`
- Auth: none declared

Get all risks for a specific run, including those that were manually added.
Marketing runs come back in collateral reading order (see
`sort_risks_in_reading_order`); every other run type is newest-first, and
`created` is included either way so the client can sort by it.

Reviewer-only free-text (``dismiss_note`` on any run, plus the TipTap ``notes``
doc on marketing runs) is redacted for callers without write access (marketers),
mirroring the ``canWrite`` gating on the risk cards.

## Path parameters

- `run_id` string, required

## Response `200`

Successful Response

- DocumentRiskIssueResponse[]
  - `risk_id` string, uuid, required
  - `document_id` string, uuid, required
  - `short_text` string, required
  - `explanation` string, required
  - `document_clause` string, nullable
  - `source_clause` string, required
  - `remediation` string, nullable
  - `severity` 'low' | 'medium' | 'high', required
  - `status` 'reject' | 'allow' | 'flag' | 'dismissed', required
  - `dismiss_reason` 'valid_ok' | 'already_met' | 'incorrect' | 'out_of_scope' | 'pre_approved' | 'other': Why a reviewer dismissed a marketing risk (status=dismissed).
  - `dismiss_note` string, nullable
  - `made_obsolete_by` string, uuid, nullable, required
  - `ignore_comment` string, nullable, required
  - `notes` unknown
  - `citations` DocumentRiskCitation[], nullable
    - `cited_text` string, required
    - `start_page_number` integer, required
    - `end_page_number` integer, required
    - `bounding_boxes` BoundingBox[]
      - `x0` number, required
      - `y0` number, required
      - `x1` number, required
      - `y1` number, required
  - `created_by_user_id` string, uuid, nullable
  - `run_id` string, uuid, required
  - `suppressed_by_rule_id` string, uuid, nullable
  - `filename` string, nullable
  - `resolved` string, date-time, nullable
  - `issue_id` string, uuid, nullable
  - `assignee_id` string, uuid, nullable
  - `assignee_first_name` string, nullable
  - `assignee_last_name` string, nullable
  - `due_date` string, date, nullable
  - `created` string, date-time, required

## Other responses

- `422`: Validation Error

---

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