---
title: "Verify a document's ledger chain."
method: GET
path: "/api/ledger/{documentId}/valid"
tags: ["Redaction Ledger"]
---

# Verify a document's ledger chain.

`GET /api/ledger/{documentId}/valid`

Returns whether the hash chain for the document's ledger verifies (no entry has been altered and every link is intact). Requires the `ledger:read` scope.

## Path parameters

- `documentId` string, required

## Query parameters

- `owner` string

## Headers

- `Authorization` string, required

## Response `200`

OK

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `405` — Method Not Allowed
- `413` — Content Too Large
- `415` — Unsupported Media Type
- `500` — Internal Server Error
- `503` — Service Unavailable

## Changes

- **2026-08-04** `ee79a60eea42` — 1 info
  - added the non-success response with the status `415`
- **2026-08-03** `e46672d44401` — 1 info
  - added the non-success response with the status `413`

[Change history](https://skmtc.dev/philterd/apis/philter-api/changes/api/ledger/:documentId/valid/get.md)

---

[API](https://skmtc.dev/philterd/apis/philter-api.md) · [All operations](https://skmtc.dev/philterd/apis/philter-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/philterd/philter-api/revisions/d90a12a66fa6/schema)
