API
API is implemented through sending/receiving data in JSON format. The server part is written in Go, the client part in Vue, all sources are available in GitHub.
This page describes only the general parameters, for more information you need read the source code.
Common API
/api/config.write — write the path to the directory with notes, used only when you first start
/api/ping — used to determine server health
/api/config.json — allows you to see and change the current configuration
/api/favorites.json — manage your list of favorite notes
/api/notebooks.json — returns a list of notebooks
/api/statistic.json — returns statistical information used on the main page
/api/refresh_data.json — starting reindexing and updating data
/api/optimization.json — running storage optimization — all external images will be downloaded and placed in a directory with notes, it is necessary to work regardless of external servers
/api/fetch.json — fetch a web page server-side so the frontend can run defuddle on it, bypasses browser CORS
/api/cleanup_html.json — clean/format HTML content server-side
/api/webp_cache_clear.json — clear the derived WebP image cache, originals untouched
/resources/{notebookUUID}/{noteUUID}/{image} — display images stored in the notes directory
Notebooks
/api/notebook_edit.json — adding/deleting/moving/editing notebooks
/api/notes_at_notebook.json — returns a list of notes in notebook
Notes
/api/note.json — specific note, title, text and all options
/api/note_edit.json — creating/editing notes
/api/note_move.json — move/delete notes
Tags
/api/tags.json — returns a list of all tags
/api/notes_with_tag.json — list of notes with a specific tag
/api/tag_edit.json — editing tags
Search
/api/search.json — working with search
/api/search_index.json — start reindexing the search index