http://localhost:3333/api/kiwi and authentication rules from API overview.
Read symlink target
404 if the path is missing; 400 if the path is not a symlink.
Lint markdown
{ "issues": [ /* structured lint records */ ] } (always an array, possibly empty).
Peek summary
title, snippet, frontmatter, links_out, links_in, headings, word_count, and other lightweight fields without returning the full body.
Read one section
{ "path", "heading", "level", "content", "line_start", "line_end" }.
Activity timeline
typefilter:write,delete, or omit for both.limitdefaults to 50, max 500.
{ "events": [...], "total": <number> } — total is a hint for pagination (see server implementation).
Feeds
Clip a web page
X-Actor (default clipper), and returns { "path", "title", "excerpt" }.
Extended graph APIs
All of the following return503 when link indexing is unavailable.
Centrality
{ "pages": [ { "path", "pagerank", "betweenness", ... } ] } (truncated to limit).
Communities
{ "communities": ... }.
Shortest path
{ "path": ["concepts/a.md", "..."] }. 404 when no path exists.
Local neighborhood
Page templates
Slash-command templates in.kiwi/templates/:
GET /templates lists available template names. GET /template returns the template body for insertion into new pages.
Search evaluation
Benchmark search quality against expected paths:hit_rate, mrr, and precision_at_5. MCP: kiwi_eval.
Backup status
When[backup] is configured:
Rules file
- Without
format, returns raw.kiwi/rules.md(empty string when missing). formatmay becursor,claude,agents, oropenclawto wrap user rules for a specific harness.PUTaccepts raw markdown (max 256 KiB) and commits.kiwi/rules.mdwhen git versioning is enabled.
Space metadata
private, unlisted, public. Persists into .kiwi/config.toml and updates the live config.
Audit log
{ "ts", "method", "path", "space", "actor", "token_hash", "ip", "status", "duration_ms" }.
501 when audit logging was not enabled for this server. Default since is the last 24 hours; limit defaults to 100 (max 10000).
Public routes
Share tokens
Create links withPOST /share. Readers call without API authentication:
password or header X-Share-Password. Wrong or missing passwords return 401 with a WWW-Authenticate challenge when the link is password protected.
Public visibility browsing
These endpoints expose only markdown that declaresvisibility: public in frontmatter:
404 as “not found” to avoid leaking existence.
Raw files
GET /file when you need ETag semantics.
UI configuration
MCP parity
Many of these flows have MCP tools (kiwi_lint, kiwi_peek, kiwi_section, kiwi_timeline, kiwi_feed, kiwi_clip, kiwi_graph_*, and more). See MCP.