# Verify the evidence chain's integrity

Source: https://docs.usetone.ai/reference/compliance/evidenceRecords.verify

> Re-hashes every record in the requested slice and re-checks every link.

`GET /v1/compliance/evidence-records/verify`
Re-hashes every record in the requested slice and re-checks every link. An edited record fails its content hash; a deleted or reordered one breaks the chain. Long chains verify in slices — when `complete` is false, continue from `throughSeq + 1`.

Requires the `read` scope.

## Parameters

| Name | In | | Meaning |
|---|---|---|---|
| `from_seq` | query | optional | Start of the slice to verify, inclusive. Defaults to 1 — the beginning of the chain. |
| `to_seq` | query | optional | End of the slice, inclusive. Defaults to the head of the chain. |

## Response

| Field | Type | | Meaning |
|---|---|---|---|
| `brokenReason` | string | null | required | How the break manifests. Open set — handle an unrecognised value rather than throwing. Today: `content_hash_mismatch`, `record_hash_mismatch`, `link_broken`, `sequence_gap`. |
| `checked` | integer | required | How many records were verified in this call. |
| `complete` | boolean | required | True when the walk reached the requested end (or the chain head). False means more chain remains — continue with `from_seq = throughSeq + 1`. |
| `firstBrokenSeq` | string | null | required | The first position whose seal or link failed to verify. Null when the slice is intact. |
| `fromSeq` | string | required | First position verified, inclusive. |
| `throughSeq` | string | null | required | Last position verified, inclusive. Null when the slice held no records. |
| `valid` | boolean | required | Every record in the verified slice re-hashed to its stored seal and linked to its predecessor. |
| `verifiedAt` | string | required | When this verification ran, RFC 3339 UTC. |

### Example response

```json
{
  "data": {
    "brokenReason": null,
    "checked": 0,
    "complete": true,
    "firstBrokenSeq": null,
    "fromSeq": "1",
    "throughSeq": "5000",
    "valid": true,
    "verifiedAt": "2026-08-31T09:14:22Z"
  }
}
```
