---
title: runs_evidence
description: Free tool for every attempt made for a run, with status, latency, receipt id and cost, as a receipt trail.
---

<WorksIn />

Every attempt made for a run, summarised: status, the provider's own response status, latency in
ms, the receipt id, and cost. Free and read-only. Same data as
`GET /v1/runs/{id}/attempts`, never raw provider headers or bodies. Use it to see the fallback
route a run took, one row per attempt, or to pull the receipt id for a reconciliation.

## Inputs

| Argument | Type | Required | Default | Limits | Meaning |
| --- | --- | --- | --- | --- | --- |
| `runId` | string | Yes | - | - | A run id from [`run`](/mcp-tools/run) or [`runs_list`](/mcp-tools/runs-list). |

## Example call

```json
{
  "runId": "run_807967cc4b7f468fa5d7dbcaefdee859"
}
```

## Example answer

```json
{
  "runId": "run_807967cc4b7f468fa5d7dbcaefdee859",
  "attempts": [
    {
      "attemptId": "att_hmlpc1yu86",
      "ordinal": 1,
      "status": "succeeded",
      "providerResponseStatus": "ok",
      "latencyMs": 457,
      "receiptId": "rcpt_hmlpc240c5",
      "cost": 0.005
    }
  ]
}
```

## Errors

Free and read-only; no `runs.execute` needed. A missing `runId` returns [`validation_error`](/errors/rest-errors#validation_error)
naming it. An unknown `runId` in this workspace returns [`not_found`](/errors/rest-errors#not_found) with the id you sent.

## REST and CLI

- REST: [`GET /v1/runs/{runId}/attempts`](/reference/runs/get-v1-runs-runid-attempts)
- CLI: `looot runs evidence <run-id>`

<Related />
