---
title: "Update Risk Status"
method: POST
path: "/risks/{risk_id}/status"
tags: ["risks"]
---

# Update Risk Status

`POST /risks/{risk_id}/status`

Update a risk's status and resolved flag.
If setting status to "flag" for a non-marketing run and there's no linked Issue yet,
create an Issue and link it to the DocumentRisk.

For marketing ``dismissed``, require ``dismiss_reason``; ``other`` also
requires a non-empty ``dismiss_note``. TipTap ``notes`` is the source of
truth for reviewer text: we add a single managed ``Dismissed for: {reason}``
seed line only while Notes are empty or still lead with that seed. A *fresh*
dismissal's free-text note is appended as a trailing reviewer-owned paragraph;
*editing* an existing dismissal replaces that note paragraph in place (or
removes it when cleared) — the client prefills the modal from ``dismiss_note``,
so an edit never duplicates or strands a stale note. Clearing dismiss strips
the leading seed line and the modal-note paragraph it appended (tracked 1:1 by
``dismiss_note``), keeping Notes consistent with the now-null ``dismiss_note``;
genuinely hand-authored paragraphs are preserved.

## Path parameters

- `risk_id` string, uuid, required

## Request body

- BodyUpdateRiskStatusRisksRiskIdStatusPost
  - `status_value` string, nullable
  - `resolved` boolean, nullable
  - `dismiss_reason` string, nullable
  - `dismiss_note` string, nullable

## Response `200`

Successful Response

- unknown

## 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-service-production.skmtc.workers.dev/v1/apis/kobaltlabs/fastapi/revisions/425d5b8a3c17/schema)
