---
title: "Proof bundle"
method: GET
path: "/notes/{id}/proof"
tags: ["notes"]
---

# Proof bundle

`GET /notes/{id}/proof`

## Request

- Base URL: `https://freshjots.com/api/v1`
- URL: `https://freshjots.com/api/v1/notes/{id}/proof`
- Auth: HTTP bearer

The note's hash-chain leaves, daily Merkle anchors and RFC 3161 tokens, for independent verification (see /verify).

## Path parameters

- `id` string, required

## Response `200`

The proof bundle.

- Proof
  - `note_token` string, required
  - `recipe_version` unknown, required
  - `anchors` object, required
  - `entries` object[], required
    - `kind` string, required
    - `content_hash` string, required
    - `prev_hash` string, required
    - `content` string, nullable
    - `byte_size` integer, nullable
    - `hashed_at` string, date-time, required
    - `anchor_id` string, nullable

## Other responses

- `401`: Missing, invalid, revoked or expired bearer token (`unauthenticated`).
- `403`: The token's scope or plan does not allow this (`forbidden`).
- `404`: No such record in this token's scope (`not_found`).
- `429`: Throttled (`rate_limited`); honour Retry-After.
- `503`: Backend temporarily unreachable; retry with backoff (`service_unavailable`).

---

[API](https://skmtc.dev/freshjots/apis/fresh-jots-api.md) · [All operations](https://skmtc.dev/freshjots/apis/fresh-jots-api/llms.txt) · [OpenAPI document](https://skmtc.dev/freshjots/apis/fresh-jots-api/revisions/2708284fa25a?raw)
