---
title: "Get Sweep Guideline"
method: GET
path: "/internal/evals/rollout-consistency/sweeps/{sweep_id}/guidelines/{file_id}"
tags: ["internal"]
---

# Get Sweep Guideline

`GET /internal/evals/rollout-consistency/sweeps/{sweep_id}/guidelines/{file_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}/guidelines/{file_id}`
- Auth: none declared

The standards document a worklist rule came from, with its live obligations.

404 unless this file has requirements for the *swept* company — an unscoped read that took
the caller's word for a file_id would let one company's dashboard open another's library.
Live revisions only, including ones already switched off, so the modal can say a rule is Off.
Superseded (a newer generation retired it) is excluded: act on the current generation instead.

## Path parameters

- `sweep_id` string, uuid, required
- `file_id` string, uuid, required

## Query parameters

- `focus_requirement_id` string, uuid, nullable

## Response `200`

Successful Response

- SweepGuidelineDocument: The standards document a low-signal (or drift) rule came from, and its live obligations.
  - `file_id` string, uuid, required
  - `filename` string, nullable, required
  - `rules` SweepGuidelineRule[], required
    - `requirement_id` string, uuid, required
    - `revision_id` string, uuid, required
    - `revision_number` integer, required
    - `state` 'active' | 'disabled' | 'archived' | 'superseded' | 'proposed', required: Whether a requirement is in the working library, and if not, why not. All of them are recorded as revisions, so every one is reversible and readable. ARCHIVED and SUPERSEDED are deliberately distinct: ARCHIVED is a person deciding this obligation does not apply to them, SUPERSEDED is a newer decomposition of the same guideline taking over. A regeneration must never overwrite the first with the second — that would erase a human decision.
    - `requirement_text` string, required
    - `judging_guidance` string, nullable, required
    - `trigger_terms` string[], required
    - `provenance` RequirementProvenance, required: Where in the standards document this obligation came from. The point of the whole panel: a reviewer deciding whether a rule is worth keeping has to read what it was extracted *from*, not just what the model wrote. `source_text` is the paragraph the grounding pass located; it is a lexical best guess and never a quotation, which `match_kind` qualifies and the surface says out loud. `score` is deliberately **not** here. It reaches 1.0 exactly when the paraphrase dropped the discriminating word, so it is highest when it is least trustworthy — surfacing it, or ordering anything by it, reads as confidence while measuring the opposite.
      - `guideline_file_id` string, uuid, nullable, required
      - `guideline_filename` string, nullable, required
      - `guideline_upload_id` string, uuid, nullable, required
      - `section_label` string, nullable, required
      - `title` string, nullable, required
      - `source_page` integer, nullable, required
      - `source_text` string, nullable, required
      - `matched_terms` string[], required
      - `match_kind` string, nullable, required
      - `boxes` object[], required
  - `rules_truncated` boolean, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-02** `425d5b8a3c17`: 1 warning
  - added the new `proposed` enum value to the `rules/items/state` response property for the response status `200`

[Operation history](https://skmtc.dev/kobaltlabs/apis/fastapi/changes/internal/evals/rollout-consistency/sweeps/:sweep_id/guidelines/:file_id/get.md)

---

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