> For the complete documentation index, see [llms.txt](/llms.txt).
> A full single-fetch corpus is available at [llms-full.txt](/llms-full.txt).
---
title: "Rescore a run"
description: "Score a completed run again with the current scorers, without running the component again."
method: "POST"
endpoint: "/api/v1/projects/:projectId/eval/runs/:runId/rescore"
order: 18
group: "Review and rescore"
last_verified: 2026-10-08
---



`POST /api/v1/projects/:projectId/eval/runs/:runId/rescore`

Score a completed run again with the current scorers, without running the component again.


  ## Parameters

  - `projectId` _string_ **required** — The project UUID.
  - `runId` _string_ **required** — The experiment run UUID.
  - `reason` _string_ — A label for this rescore in the audit history. Default `manual_rescore`.
  - `scorer_version_ids` _string[]_ — Rescore only these scorer versions. Default: all of the run scorers.
  - `run_item_ids` _string[]_ — Rescore only these run items. Default: all items.
  - `replace_latest` _boolean_ — Replace the run current aggregate scores and gate result. Default `true`.
  - `idempotency_key` _string_ — Repeat a request with the same key to read its progress instead of queuing the jobs again.



> The response counts scoring jobs: one per item and scorer. Send the same `idempotency_key` again to read the counts as the jobs run. After they finish, `agnt5 reports ci <run-id>` prints the updated gate verdict.



  ## Request example


```bash
curl -X POST "https://api.agnt5.com/api/v1/projects/{project_id}/eval/runs/{run_id}/rescore" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: {api_key}" \
  -d '{"reason": "updated_rubric", "replace_latest": true}'
```

```javascript
fetch('https://api.agnt5.com/api/v1/projects/' + projectId + '/eval/runs/' + runId + '/rescore', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json', 'X-API-KEY': apiKey },
  body: JSON.stringify({ reason: 'updated_rubric', replace_latest: true })
})
```


  ```json {{ title: 'Response (202 Accepted)' }}
  {
    "run_id": "9b2c4d6e-...",
    "reason": "updated_rubric",
    "idempotency_key": "4325c746-...",
    "enqueued": 9,
    "already_queued": 0,
    "skipped": 0,
    "processed": 0,
    "completed": 0,
    "failed": 0
  }
  ```



