---
title: "List Training Runs"
method: GET
path: "/risk-assessment/factor-assessments/{factor_assessment_id}/training-runs"
tags: ["risk-assessment"]
---

# List Training Runs

`GET /risk-assessment/factor-assessments/{factor_assessment_id}/training-runs`

## 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/risk-assessment/factor-assessments/{factor_assessment_id}/training-runs`
- Auth: none declared

## Path parameters

- `factor_assessment_id` string, uuid, required

## Response `200`

Successful Response

- TrainingRunSummary[]
  - `training_run_id` string, uuid, required
  - `factor_assessment_id` string, uuid, required
  - `status` 'pending' | 'running' | 'completed' | 'failed', required
  - `outcome` 'promoted' | 'gave_up', required: How a `RiskFactorTrainingAgentRun` ended. Both are terminal tool calls, not failures: an agent that cannot justify a rewrite is expected to GIVE_UP with questions rather than promote one.
  - `proposal_status` 'active' | 'proposed' | 'hidden' | 'inactive', required: Where one `risk_factor_versions` row stands. A factor's name and slug are permanent; its description, assessment guidance, rating rubric and applicability logic are versioned, so a rewrite never destroys the text that produced historical ratings. ACTIVE is what the next assessment run uses, and a partial unique index (`uq_risk_factor_versions_one_active`) enforces at most one per factor. HIDDEN is a training agent's working draft — created mid-run and never shown to a reviewer. PROPOSED is a draft the agent promoted and the reviewer has not yet accepted or rejected. INACTIVE covers both "superseded" and "rejected"; the two are distinguishable from the training run's outcome.
  - `created` string, date-time, required
  - `started_at` string, date-time, nullable, required
  - `finished_at` string, date-time, nullable, required
  - `experiment_count` integer, required
  - `error` string, nullable, required

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