http://localhost:3333/api/kiwi.
Canvas paths must end with .canvas.json.
List canvases
Read canvas
Content-Type: application/json.
Write canvas
nodes and edges arrays (empty arrays are allowed). Invalid JSON returns 400.
Patch canvas
Apply a batch of atomic operations without replacing the full document. If any operation fails, the whole batch is rejected.op values: add_node, update_node, remove_node, add_edge, update_edge, remove_edge.
Nodes inserted.
Nodes merged in place.
Nodes deleted (connected edges removed too).
Edges inserted.
Edges merged in place.
Edges deleted.
Delete canvas
Query canvas nodes
Canvas file path.
Filter nodes by label or metadata text.
Filter by node type.
Return nodes connected to the given node ID.
Return only nodes.
Return only edges.
Auto-layout
Reposition existing nodes in a canvas using a layout algorithm. This operates on the current canvas content only — it does not generate new nodes from the wiki-link graph (usePOST /canvas/generate for that).
Canvas file to update in place.
Graphviz engine:
dot, neato, fdp, or circo.Generate from link graph
path— output file; defaultcanvas.canvas.json. A.canvas.jsonsuffix is added if missing.layout—hierarchical(default),radial,force, orcircular.folder— optional prefix; only edges whose endpoints live under this folder are included.colorize— boolean, defaulttrue.
503 if the link index is unavailable.
POST /canvas/generate and PATCH /canvas are REST-only. MCP exposes kiwi_canvas_list, kiwi_canvas_read, and kiwi_canvas_write — not generate or patch.MCP parity
kiwi_canvas_list, kiwi_canvas_read, kiwi_canvas_write — see MCP.