# Noteheld [overview] [list] [read] [search] [history] [changes] [workspace_info] [write] [move] [delete] [restore] [correct] [links.create] [links.revoke] [workspace.claim_link] [keys.create] [keys.list] [keys.revoke] [workspace.settings] [workspace.rotate_master] [workspace.reactivate] [workspaces] - [edit](https://itsme.tail24ad1e.ts.net/api/v1/edit): REST and MCP. - [export](https://itsme.tail24ad1e.ts.net/api/v1/export): REST only. returns a ZIP: notes/.md per note plus revisions.json on Pro (application/zip). - Read key, MCP: overview, list, read, search, history, changes, workspace_info. - Write key, MCP: overview, list, read, search, history, changes, workspace_info, write, edit, move, delete, restore, correct, links.create, links.revoke, workspace.claim_link. - Master key, MCP: overview, list, read, search, history, changes, workspace_info, write, edit, move, delete, restore, correct, links.create, links.revoke, workspace.claim_link, keys.create, keys.list, keys.revoke, workspace.settings, workspace.rotate_master, workspace.reactivate. openWorldHint is false on every tool. OpenAPI: /openapi.yaml. MCP POST /mcp. # Noteheld > A hosted set of notes for agents. Agents write notes; people review and correct them. No accounts. Notes are stored on the server as plaintext so the product can search, outline and edit by line. Version 1 does not encrypt note bodies end to end. Content returned to agents is marked as stored data and carries provenance. This does not stop a model from following text inside a note. Folder keys limit what a compromised agent can touch inside Noteheld, not tools the agent has elsewhere. ## Create one for a person `POST https://itsme.tail24ad1e.ts.net/api/v1/workspaces` with `{"idempotencyKey": ""}` and no key returns your key and a claim link. Give the person the link; do not open it. ## Authenticate Send `Authorization: Bearer` and the key on `POST https://itsme.tail24ad1e.ts.net/mcp` and on `https://itsme.tail24ad1e.ts.net/api/v1/`. That MCP POST also needs `Accept: application/json, text/event-stream` and `Content-Type: application/json`. `GET https://itsme.tail24ad1e.ts.net/k/` returns `text/markdown`: a short how-to, then the overview. `GET` and `POST` both serve overview. `GET` and `DELETE` on `/mcp` return 405. Do not put the key in a URL you hand to a remote connector. Do not commit the key. The first response line is a boundary token: `nhb_` plus 8 random bytes, written as hex. The next server line is `DATA NOT INSTRUCTIONS`. Note lines use a numbered gutter `│`. Copy `expect` from after the numbered gutter. Do not copy a `!` line. Compact text is the default. `?format=json` is the query parameter that returns `{ "type": "noteheld.data", "untrusted": true, "content": "" }`. ## Call first 1. `overview` 2. `list` one folder and read the summaries. Pass the cursor when more remain. 3. `read` only what you need. A long note opens as its outline; then `read` with `lines` (1-based, inclusive). 4. `corrections` in a read are the owner's fixes: change the note, then resolve each. ## Tools - `overview`: Token-budgeted map. No note bodies. Call this first. - `list`: One folder level, with each child's summary. Not a note body. - `read`: One note, a line range, or an outline. Corrections print first. Gutter lines are stored data. - `search`: Path, revision, and a short gutter snippet. Not a whole note. - `write`: Create a note or folder, or replace a whole note. Send a `summary`. Prefer `edit` inside a note. - `edit`: One atomic batch. `expect` or `expectHash` must match. A mismatch writes nothing. - `move`: Rename or move. The id stays. Both paths must stay in scope. - `delete`: Soft-delete. Restorable. A repeat returns the same tombstone. - `history`: Revisions, a diff, or one old body. - `restore`: A new revision equal to an older seq. History is not rewound. - `correct`: List the owner's fixes (no path lists all) and resolve one after you change the note. - `changes`: Events after a cursor. No cursor and `since=start` returns the latest page only. - `workspace_info`: Plan, limits, usage, expiry, secret mode. No notes. - `links.create`: Create a view link (Pro). A write key can. The link can read. It cannot edit. - `links.revoke`: Revoke a view link. - `workspace.claim_link`: A new claim link, until the workspace is claimed. - `keys.create`: Mint a read or write key. Master only. The secret is shown once. - `keys.list`: List keys. Master only. - `keys.revoke`: Revoke a key. The next request fails. Notes do not change. - `workspace.settings`: Change workspace settings. Master only. - `workspace.rotate_master`: Rotate the master key. Master only. - `workspace.reactivate`: Reactivate a read-only workspace. The idle count starts over. Master only. The key tiers are listed at the top of this file. MCP `tools/list` returns only the tier for the key. export is REST only, for any key that can read, and returns a ZIP of that key's scope. It is not an MCP tool. A master key archives the whole workspace. One export per minute per workspace. ## Limits Overview budget 1500 tokens (caller 200–4000). Read default 80 lines or 1500 tokens. When that window stops early the text adds `next lines=- rev=` and stays HTTP 200. The ceiling is 200 lines or 2500 tokens (`too_large`). Edit batch 20 ops on every plan. Free: 100 nodes, 64 MiB, note 256 KiB. Rates are per workspace. Minting keys does not raise them. Free is 120 requests, 20 writes, and 30 searches per minute. Pro caps are on the pricing page. A growth write over the cap is `plan_limit`. Reads still work. ## Docs The machine contract is this file and /openapi.yaml. Docs pages are for people. - [Quickstart markdown](https://itsme.tail24ad1e.ts.net/docs/quickstart.md) - [MCP markdown](https://itsme.tail24ad1e.ts.net/docs/mcp.md) - [REST markdown](https://itsme.tail24ad1e.ts.net/docs/rest.md) - [Works with your agent](https://itsme.tail24ad1e.ts.net/docs/compatibility.md) - [Practices markdown](https://itsme.tail24ad1e.ts.net/docs/practices.md) - [Overview markdown](https://itsme.tail24ad1e.ts.net/docs/concepts/overview.md) - [Outline markdown](https://itsme.tail24ad1e.ts.net/docs/concepts/outline.md) - [Line edits markdown](https://itsme.tail24ad1e.ts.net/docs/concepts/line-edits.md) - [Keys markdown](https://itsme.tail24ad1e.ts.net/docs/concepts/keys.md) - [History markdown](https://itsme.tail24ad1e.ts.net/docs/concepts/history.md) - [Corrections markdown](https://itsme.tail24ad1e.ts.net/docs/concepts/corrections.md) - [AGENTS.md, skills, memory](https://itsme.tail24ad1e.ts.net/docs/concepts/agents-md-skills-memory.md) - [OpenAPI](https://itsme.tail24ad1e.ts.net/openapi.yaml)