Overview
Personal knowledge management — structured and unstructured notes with bidirectional linking. Inspired by Obsidian, Bear, and Apple Notes, but API-first. Store Markdown content, organize in notebooks, link notes to each other and to entities in other domains (contacts, tasks, events, deals). Notes are the connective layer for your knowledge graph. A note about a meeting links to the event, the attendees’ contact cards, and the follow-up tasks.Data Model
Entities
| Entity | Description |
|---|---|
| Notebook | An organizational container for notes (like a folder) |
| Note | A document with title, Markdown body, and metadata |
| Note Link | A directional link from a note to another entity |
| Note Tag | A label attached to a note for categorization |
| Note Tag Definition | A tenant-scoped tag type (name + optional color) |
| Note Attachment | A URL reference to an external file attached to a note |
Relationships
- A Note optionally belongs to a Notebook
- A Note can have many Links, Tags, and Attachments
- Links point from a note to any entity type (note, contact, task, event, deal)
Key Concepts
Notebooks
Notebooks are optional organizational containers. Notes can exist without a notebook. Each notebook tracks a note count for display purposes.Markdown body
Note content is stored as Markdown in thebody field. The API stores raw Markdown — rendering is the client’s responsibility.
Frontmatter as metadata
YAML frontmatter is parsed and stored in the note’smetadata JSONB field. This enables structured data (tags, custom fields, dates) alongside free-form content.
Wikilinks and backlinks
Notes support[[wikilink]] syntax for linking between notes. The system maintains bidirectional link awareness:
- Outgoing links (
GET /api/v1/notes/{id}/links) — what this note links to - Backlinks (
GET /api/v1/notes/{id}/backlinks) — what notes link to this note
Cross-domain links
Note links aren’t limited to other notes. Link a note to any entity type:| Entity Type | Example use case |
|---|---|
note | Wiki-style links between notes |
contact | Meeting notes linked to attendees |
task | Notes linked to tasks they describe |
event | Notes linked to calendar events |
deal | Notes linked to CRM deals |
GET /api/v1/backlinks/{entity_type}/{entity_id} to find all notes that link to any entity across all domains.
Tags
Tags are lightweight labels for categorizing notes. Tag definitions are tenant-scoped (created once, applied to many notes). Each tag has a name and optional color.Attachments
Attachments are URL references to external files (images, documents, etc.). The API stores the URL and metadata — it does not host files.Pinning and archiving
Notes haveis_pinned and is_archived boolean fields. Pinned notes appear at the top of lists. Archived notes are hidden from default list results but can be filtered for.
Full-text search
Search across note titles and body content using theq parameter on GET /api/v1/notes.
MCP Tools
| Tool | Description |
|---|---|
notes_search | Free-text search across all notes |
notes_get | Get a note’s full content plus backlinks |
notes_create | Create a new note with optional notebook, tags, and links |
notes_update | Modify note content, title, tags, or notebook |
notes_delete | Remove a note |
notes_list_backlinks | See everything that links to a given note |
