Verify the evidence chain
const url = 'https://example.com/api/v1/evidence/chain/verify';const options = { method: 'GET', headers: {cookie: 'bl_%3Cslug%3E_session=%3Cbl_%3Cslug%3E_session%3E'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/api/v1/evidence/chain/verify \ --cookie bl_%3Cslug%3E_session=%3Cbl_%3Cslug%3E_session%3ERecomputes every hash of the chain and says whether it is unbroken, with the head and the last anchor.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”OK.
object
The chain is unbroken.
Where the chain breaks, if it does.
An anchor: the notary’s receipt for the head of the chain at seq.
object
JWS by the Trust Authority over {participant, seq, head, anchored_at}.
A qualified timestamp on the receipt (decisions #45), once the notary has stamped it.
Example generated
{ "ok": true, "entries": 1, "head": "example", "head_seq": 1, "first_broken_seq": 1, "last_anchor": { "id": "example", "seq": 1, "head": "example", "anchored_at": "2026-04-15T12:00:00Z", "receipt": "example", "qualified": "example" }}No valid session, DPoP-bound token or API key.
The body of every failed call to a management API.
object
object
Stable, machine-readable: invalid_request, unauthenticated,
forbidden, not_found, conflict, upstream_unavailable,
unavailable, internal, or a more specific code of the operation.
For people; may change between versions.
Example
{ "error": { "code": "not_found", "message": "unknown negotiation" }}The caller lacks the role this operation needs; or a change with the session cookie came from a page of another site (cross_site_request, decisions #83).
The body of every failed call to a management API.
object
object
Stable, machine-readable: invalid_request, unauthenticated,
forbidden, not_found, conflict, upstream_unavailable,
unavailable, internal, or a more specific code of the operation.
For people; may change between versions.
Example
{ "error": { "code": "not_found", "message": "unknown negotiation" }}