---
title: "Get Sweep Run"
method: GET
path: "/internal/evals/rollout-consistency/sweeps/{sweep_id}/runs/{run_id}"
tags: ["internal"]
---

# Get Sweep Run

`GET /internal/evals/rollout-consistency/sweeps/{sweep_id}/runs/{run_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/internal/evals/rollout-consistency/sweeps/{sweep_id}/runs/{run_id}`
- Auth: none declared

One run that belongs to this sweep, unscoped, for the side-by-side modal.

404 unless `item_id` is an item of this sweep that named the run — the same id on another
company's history, or a sibling item that reused the run for a different file, is not this
click's business. Findings come back with citation boxes so the PDF pane can highlight them.
Only this collateral's findings: a run can carry more than one upload, and boxes on another
file are coordinates in different bytes. Suppressed and obsolete risks are omitted — matching
the customer surface — and `suppressed_by_rule_id` is not in the payload, because this modal
has no suppression UI.

**This is the whole analysis, not a summary of it.** The modal draws the product's own risk
cards, requirement citations and all, so everything they render is served here rather than
fetched from the customer routes: those answer for the caller's company, and staff comparing
two runs of a tenant's collateral are not in it. One request per pane, no masquerade.

## Path parameters

- `sweep_id` string, uuid, required
- `run_id` string, uuid, required

## Query parameters

- `item_id` string, uuid, required

## Response `200`

Successful Response

- SweepRunSnapshot: One run that belongs to this sweep, with the bytes and findings the modal needs.
  - `run_id` string, uuid, required
  - `run_type` string, required
  - `filename` string, nullable, required
  - `upload_id` string, uuid, nullable, required
  - `run_time` string, date-time, nullable, required
  - `risks` SweepRunRisk[], required
    - `risk_id` string, uuid, required
    - `document_id` string, uuid, required
    - `short_text` string, required
    - `explanation` string, required
    - `remediation` string, nullable, required
    - `severity` string, nullable, required
    - `source_clause` string, nullable, required
    - `document_clause` string, nullable, required
    - `status` string, nullable, required
    - `ignore_comment` string, nullable, required
    - `created_by_user_id` string, uuid, nullable, required
    - `created` string, date-time, nullable, required
    - `citations` DocumentRiskCitation[], required
      - `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
    - `run_id` string, uuid, required
  - `risks_truncated` boolean, required
  - `requirement_citations` RiskRequirementCitations[]
    - `risk_id` string, uuid, required
    - `requirements` RequirementRiskCitation[]
      - `requirement_id` string, uuid, required
      - `revision_id` string, uuid, required
      - `requirement_text` string, required
      - `section_label` string, nullable
      - `title` string, nullable
      - `source_page` integer, nullable
      - `judging_guidance` string, nullable
      - `collateral_types` MarketingCollateralType[], nullable
      - `matched_trigger_terms` string[]
      - `citation` RequirementCitation, required: Where the requirement itself sits in the standards document it came from. A serialized `GroundedSpan` plus the exact version its boxes were measured against. The version is the load-bearing half: the boxes are coordinates in the bytes the decomposition read, so resolving the document any other way draws the highlight in the wrong place on a standard that has since been re-uploaded.
        - `guideline_file_id` string, uuid, required
        - `guideline_filename` string, nullable
        - `guideline_upload_id` string, uuid, nullable
        - `grounding` object, nullable
      - `source` 'model' | 'deduped': How a link between a risk and a requirement came to exist. `MODEL` is the ordinary case: the batch judge named this requirement's number. `DEDUPED` marks a link inherited when two findings about the same passage were merged — the risk on screen is the survivor, and without this the merged finding's requirement would look like one the model never cited. A reader deciding whether the citation is trustworthy needs the difference, because a deduped link is one step further from what the model actually said.

## 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)
