---
title: "Get Run Details"
method: GET
path: "/api/v1/optimization/runs/{run_id}/details"
tags: ["optimization"]
---

# Get Run Details

`GET /api/v1/optimization/runs/{run_id}/details`

Get a detailed GEPA improvement report for a single optimization run.

## Path parameters

- `run_id` string, required — Identifier of the optimization run to inspect.

## Response `200`

Successful Response

- OptimizationRunDetailResponse — Detailed GEPA run report for RLM improvement auditability.
  - `run` OptimizationRunResponse, required — A single optimization run record.
    - `id` string, required — Unique run identifier.
    - `status` string, required — Run status: running, completed, or failed.
    - `module_slug` string, nullable — Module slug when server-side dispatch was used.
    - `program_spec` string, required — DSPy program specification that was optimized.
    - `optimizer` string, required — Optimizer backend that was used.
    - `auto` string, nullable — Optimization intensity level.
    - `train_ratio` number — Train/validation split ratio.
    - `dataset_path` string, nullable — Path to the dataset used.
    - `reflection_profile_id` string, nullable — LLM provider profile id used for GEPA reflection/proposal, when selected.
    - `reflection_model_id` string, nullable — Model id used for GEPA reflection/proposal, when selected.
    - `raw_trace_export_path` string, nullable — Full raw trace export path, when present.
    - `distilled_trace_bundle_path` string, nullable — Distilled GEPA trace evidence bundle path, when present.
    - `prompt_snapshot_path` string, nullable — Prompt snapshot or diff artifact path, when present.
    - `train_examples` integer, nullable — Number of training examples used.
    - `validation_examples` integer, nullable — Number of validation examples used.
    - `validation_score` number, nullable — Validation score from the optimized program.
    - `output_path` string, nullable — Filesystem path where the optimized program was saved.
    - `manifest_path` string, nullable — Filesystem path to the optimization manifest.
    - `error` string, nullable — Error message when the run failed.
    - `phase` string, nullable — Current phase of the optimization run.
    - `started_at` string, required — ISO timestamp when the run started.
    - `completed_at` string, nullable — ISO timestamp when the run completed.
  - `manifest_available` boolean, required — Whether the manifest file was parsed.
  - `manifest` object, nullable — Parsed optimization manifest, when available.
  - `review_bundle` object, nullable — Parsed manifest review bundle, when available.
  - `typed_review_bundle` OptimizationReviewBundle — Typed subset of the manifest review bundle used by the optimization UI.
    - `version` integer — Review bundle schema version.
    - `holdout` OptimizationHoldoutSummary — Typed holdout validation summary from a GEPA review bundle.
      - `promotion_ready` boolean — Whether the run has external holdout validation suitable for promotion.
      - `external_validation_available` boolean — Whether a true holdout validation split was available.
      - `baseline_score` number, nullable — Baseline validation score.
      - `optimized_score` number, nullable — Optimized validation score.
      - `score_delta` number, nullable — Optimized minus baseline score.
    - `insights` OptimizationRunInsights — Normalized human-readable improvement insights for a GEPA run.
      - `selected_outcome` 'changed' | 'unchanged' | 'failed' | 'running' | 'unknown', required — Outcome of the selected GEPA artifact.
      - `summary` string, required — Short explanation of what GEPA did for this run.
      - `trace_driven_recommendations` string[] — Recommendations distilled from trace evidence.
      - `next_step` string, required — Recommended next optimization action.
  - `artifact_refs` OptimizationArtifactRef[], required — Important run artifact paths.
    - `label` string, required — Human-readable artifact label.
    - `path` string, required — Filesystem path to the artifact.
    - `kind` string, required — Artifact kind such as manifest, output, trace_bundle, or promotion_draft.
    - `exists` boolean — Whether the artifact exists on the local filesystem.
  - `score_summary` OptimizationScoreSummary, required — Score and split summary for a GEPA run.
    - `baseline_score` number, nullable — Baseline validation score, when available.
    - `optimized_score` number, nullable — Optimized validation score, when available.
    - `score_delta` number, nullable — Optimized minus baseline score, when available.
    - `train_examples` integer, nullable — Number of training examples.
    - `validation_examples` integer, nullable — Number of validation examples.
    - `train_ratio` number, nullable — Requested train/validation split ratio.
    - `split_strategy` string, nullable — Dataset split strategy recorded in the manifest.
  - `prompt_diffs` OptimizationPromptDiffItem[], required — Full before/after prompt snapshots.
    - `predictor_name` string, required — Predictor or skill component name.
    - `before_prompt` string — Prompt text before GEPA.
    - `after_prompt` string — Prompt text selected after GEPA.
    - `changed` boolean, required — Whether the selected prompt differs semantically from the original text.
  - `trace_evidence` OptimizationTraceEvidenceItem[], required — Distilled trace evidence records without raw spans.
    - `kind` string, required — Distilled bundle record kind.
    - `trace_id` string, nullable — Supporting MLflow trace id.
    - `session_id` string, nullable — MLflow/runtime session id.
    - `client_request_id` string, nullable — Client request id, when available.
    - `trace_count` integer, nullable — Trace count for summary records.
    - `span_count` integer, nullable — Number of spans in the supporting trace.
    - `failure_categories` string[] — Distilled failure categories.
    - `prompt_change_recommendations` string[] — Prompt-change recommendations distilled from trace evidence.
  - `candidate_decisions` OptimizationCandidateDecision[], required — Selected and rejected candidate decisions when available.
    - `candidate_id` string, required — Stable candidate identifier for display.
    - `status` string, required — Candidate status: selected, rejected, unavailable, or failed.
    - `summary` string, required — Human-readable decision summary.
    - `rationale` string, nullable — Why this candidate was selected or rejected.
    - `score` number, nullable — Candidate score, when available.
    - `score_delta` number, nullable — Candidate score delta, when available.
    - `artifact_path` string, nullable — Candidate artifact path, when available.
    - `missing_candidate_artifact` boolean — Whether the proposer generated ideas but no candidate artifact was persisted.
  - `insights` OptimizationRunInsights, required — Normalized human-readable improvement insights for a GEPA run.
    - `selected_outcome` 'changed' | 'unchanged' | 'failed' | 'running' | 'unknown', required — Outcome of the selected GEPA artifact.
    - `summary` string, required — Short explanation of what GEPA did for this run.
    - `trace_driven_recommendations` string[] — Recommendations distilled from trace evidence.
    - `next_step` string, required — Recommended next optimization action.
  - `optimized_artifact_text` string, nullable — Text content of the selected optimized artifact when it is safely readable.
  - `optimized_artifact_truncated` boolean — Whether optimized_artifact_text was truncated.

## Other responses

- `401` — Authentication is required or the provided token is invalid.
- `404` — Run not found.
- `422` — Validation Error

---

[API](https://skmtc.net/qredence/apis/fleet-rlm.md) · [All operations](https://skmtc.net/qredence/apis/fleet-rlm/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/qredence/fleet-rlm/versions/62e8c152aa18/schema)
