---
title: "Rerun With Skill"
method: POST
path: "/v1/evaluations/rerun"
tags: ["evaluations"]
---

# Rerun With Skill

`POST /v1/evaluations/rerun`

## Request

- Base URL: `https://api.vlm.run` (the document declares no server; this is the origin it was published from)
- URL: `https://api.vlm.run/v1/evaluations/rerun`
- Auth: HTTP bearer

Re-run an evaluation with a different skill. If skill_id is omitted the source skill is optimized first. Returns the skill_id immediately while processing continues in the background. Poll the evaluation run by ID to check completion status.

## Request body

- RerunRequest: Request body for POST /evaluations/rerun. Takes an existing evaluation run and optionally a new skill ID. If ``skill_id`` is omitted the source skill is first optimized and a new skill is created automatically. The endpoint returns immediately with the skill ID while processing continues in the background.
  - `evaluation_id` string, required: Existing evaluation run ID to rerun against
  - `skill_id` string, nullable: New skill ID to evaluate. If omitted, the source skill is optimized first.
  - `evaluators` string[], nullable: Evaluators to run on the re-processed responses. When omitted, inherited from the original run's stored config (falls back to ['field_accuracy'] for legacy runs without config).
  - `infer_corrections` boolean, nullable: Use LLM to produce corrected JSON from notes-only feedback. When omitted, inherited from the original run's stored config (defaults to True for legacy runs).
  - `n_samples` integer: Number of response/correction pairs to sample when auto-optimizing.
  - `fields` string[], nullable: Restrict evaluation to these field names (top-level keys or dotted leaf-path prefixes, e.g. ['name', 'address', 'items']). When omitted, inherited from the original run's stored config (defaults to all fields for legacy runs).
  - `skip_null_expected` boolean, nullable: When true, fields where the ground-truth (expected) value is null are excluded from evaluation. When omitted, inherited from the original run's stored config (defaults to True for legacy runs).
  - `model` string, nullable: Model to use when re-running inference (e.g. 'vlmrun-orion-2:pro'). When omitted, uses the model from the original requests. If results for this model already exist on the target skill, inference is skipped and the evaluation runs directly on those existing results.

## Response `200`

Successful Response

- RerunResponse: Response for POST /evaluations/rerun — returned immediately.
  - `evaluation_id` string, required: ID of the new evaluation run
  - `skill_id` string, required: Skill ID being used for the rerun
  - `status` string: Status of the evaluation run; always 'running' on return. Poll by ID for 'completed' or 'failed'.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/vlm/apis/vlm-run-unified-server.md) · [All operations](https://skmtc.dev/vlm/apis/vlm-run-unified-server/llms.txt) · [OpenAPI document](https://skmtc.dev/vlm/apis/vlm-run-unified-server/revisions/4a68ab36546b?raw)
