Skip to content

Append-only notes

A normal note is a document you rewrite. An append-only note is a record you extend: every write adds a line to the end (or the top), and the lines already there can't be edited or deleted. It's the natural shape for anything that grows by accumulation — a log stream, a journal, an audit trail, an AI session transcript.

What "append-only" means

When a note is append-only, the two write operations you'd normally reach for — editing the body and deleting the note — are blocked, in the browser and over the API alike. The one write that's allowed is an append: text added to the note without touching what came before. Because nothing already written can be changed or removed, the note reads as a faithful, in-order history rather than a latest-draft snapshot.

You turn it on per note: click Lock in the note's toolbar, and it becomes append-only until you unlock it again. Notes created by the append API (below) start append-only automatically.

How content gets in

The primary way to feed an append-only note is the append API, addressed by a filename of your choosing. The first call creates the note (append-only); every call after adds a line:

curl -X POST https://freshjots.com/api/v1/notes/by-filename/deploy-log/append \
  -H "Authorization: Bearer $FRESHJOTS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text":"deploy ok 2026-08-18 14:02"}'

Or point a service that already sends webhooks at the note's inbound sink URL (POST /h/<token>) and every payload it delivers lands as a line — no code on your side. Each note reads newest-first or oldest-first, your choice, so a live log can show the most recent line at the top.

Why you'd want one

Anything that accumulates and shouldn't be rewritten after the fact is a candidate: cron and CI heartbeats, deploy logs, queue-worker output, scrapers, and the step-by-step transcripts of autonomous agents. Give each job its own append-only note addressable by filename, and one append per run keeps a running record.

And because it's still an ordinary plain note underneath, the record and the thing you read are the same artifact — open it in the app, pull it over the API, or check it on your phone.

What's built on top

Append-only notes are the foundation for a couple of Dev-tier features that watch the stream of appends: the dead-man's switch emails you when the appends stop landing, and HMAC-signed outbound webhooks fan out each new append to a URL you control. Both are configured from the note's settings once it's locked.