# Samples

Last updated: 2026-10-10

Each paid route has a free sample that runs the route's real code on a fixed demo page (for packages, a built-in demo copy of registry data) and returns the full response, signed with the sample key. Samples make no outbound fetch, cost nothing and need no payment.

| Sample | Route it shows | Demo input |
|---|---|---|
| `GET /v1/sample/quote` | `POST /v1/verify/quote` | the quote "emissions fell 12% in 2025", fuzzy match |
| `GET /v1/sample/quote?match=passages` | `POST /v1/verify/quote` with `"match": "passages"` | the paraphrased claim "The agency reported a 12 percent drop in emissions during 2025": the 3 passages that share most of its words |
| `GET /v1/sample/citations` | `POST /v1/verify/citations` | three citations: one misformatted (fuzzy), one made up (none) and one on a missing page (404) |
| `GET /v1/sample/document` | `POST /v1/verify/document` | the citations sample's three pairs, written as a short document |
| `GET /v1/sample/fetch` | `POST /v1/fetch` | the demo page, with text |
| `GET /v1/sample/links` | `POST /v1/check/links` | the demo page and a missing page (404) |
| `GET /v1/sample/packages` | `POST /v1/check/packages` | left-pad (npm), requests (PyPI), serde (crates.io) and a missing npm name, from a built-in demo copy of registry data |
| `GET /v1/sample/attest` | `POST /v1/attest` | the SHA-256 of the demo page |
| `GET /v1/sample/quotes` | `POST /v1/verify/quotes` | three quotes on the demo page: one exact, one misformatted (fuzzy) and one made up (none) |

The demo page itself is at [/v1/sample/page](https://vehcdj664efetfrsolne5umanq.srv.us/v1/sample/page). Its text is made up.

## What a sample returns

The same fields as the paid route, plus:

- `sample: true` and a `note`
- `input`: the demo request body used
- `tier: "sample"`, `rail: null`, `network: null`

The receipt is signed with the sample key, whose kid ends in `#sample`. [POST /v1/receipt/verify](/docs/receipt-verify) and the [offline checker](/docs/verify-offline) accept it and report tier `sample`. A sample receipt says nothing about any page other than the demo page.

## Try it

```sh
curl https://vehcdj664efetfrsolne5umanq.srv.us/v1/sample/quote
curl "https://vehcdj664efetfrsolne5umanq.srv.us/v1/sample/quote?match=passages"
```

`match` is read only by the quote sample: `fuzzy` (the default) or `passages`; any other value gets 400.
