- Notes have a title and a body. Their ids start with
note_. - Folders hold notes and don’t nest. Their ids start with
notefld_. - A note or folder can be linked to a project. Project members can then see it.
Who can see a note
A note’s owner is the person who wrote it. Folders belong to whoever created them. Anyone else needs to be in the owner’s organization, and then has the strongest access of:- a share of the note (read or write)
- a share of the note’s folder (read or write), which covers every note in it
- owning the note’s folder (write)
- their role in the note’s project, or in its folder’s project: owners and editors can write, viewers can read
404 NOT_FOUND, so the API doesn’t reveal that they exist.
Each note and folder has access, which says what you can do:
List and read notes
GET /v1/notes lists the notes you can read, most recently changed first. It returns titles and metadata, not content. Filter with folderId, projectId, or q, which matches titles.
GET /v1/notes/{noteId} returns a note with its content, as markdown by default:
GET /v1/note-folders lists the folders you can read, with how many notes each holds.
Markdown and HTML
The web app stores notes as HTML from its editor. The API speaks markdown by default and HTML when you ask:- Reading:
format=htmlreturns the note as stored, formatting included. - Writing: send
"format": "html"with HTML content. Markdown is converted to the HTML the editor uses. HTML is cleaned to the same elements, so the note opens in the editor as you wrote it.
- colours, font sizes and text alignment
- image sizes
- merged table cells (the extra columns stay empty)
$…$. Notes written before the rich editor are plain text in either format.
These losses matter only when you replace a note’s body. Adding to a note never changes what is already in it.
Create a note
folderId needs write access to that folder; a note in a project’s folder joins that project. projectId links the note to a project where you are an editor or owner.
Create a folder with POST /v1/note-folders and a name. Names must be unique among your folders; a duplicate answers 409 CONFLICT. Rename a folder with PATCH /v1/note-folders/{noteFolderId}.
Change a note
PATCH /v1/notes/{noteId} renames a note, adds to its end, or replaces its body. It needs write access.
Add to the end
Preferappend. It adds to the end of the note and leaves the rest, formatting included, as it is.
Replace the body
content replaces the whole body. It needs expectedUpdatedAt: the note’s updatedAt when you read it.
409 CONFLICT. The web app saves as people type, so read the note again and retry.
You can’t send content and append together.
Share notes and folders
Only a note’s or folder’s owner can share it, with active members of their organization. Give each person as an email or auser_… id from GET /v1/org/members.
permissionisread(the default) orwrite.- Sharing again with someone who has the note sets their permission to the new one.
- Sharing a folder with
POST /v1/note-folders/{noteFolderId}/sharesgives access to every note in it, including notes added later. - Nobody is notified. Tell people yourself.
GET …/shares lists a note’s or folder’s shares. The owner sees every share; anyone else sees only their own. People who reach a note through its folder or a project aren’t listed.
DELETE …/shares/{noteShareId} removes a share. The owner can remove any share; the person it was shared with can remove their own. They may keep access through the note’s folder or a project.
Delete a note
DELETE /v1/notes/{noteId} deletes a note and its shares for good. There is no trash. Only the note’s owner can delete it, and images it links to are not deleted. Deleting is available in the REST API only, not through MCP.
Limits
Not in this version
- Uploading images. Link images by URL instead.
- Moving a note to another folder.
- Deleting folders.
- Searching note content.
qmatches titles only. - Exporting notes.
- Deleting notes, or sharing folders, through MCP. Use the REST API.
Scopes
MCP tools
The tools steer apps to
append_to_note for adding to a note, and to HTML for editing a formatted note. For example: “Summarize the results of run_3f2b… and add them to my Round 3 screening note.” See the tools reference for each tool’s arguments.
