Skip to main content
Canvas files are JSON documents with a .canvas.json suffix. They store nodes and edges for infinite-canvas layouts in the web UI and for agents via API or MCP.

File format

Each canvas is JSON with top-level nodes and edges arrays. Node and edge objects carry id, type, optional coordinates (x, y), and a data map for extensibility. Common node types include file references, text labels, link arrows, and grouped regions.

Web UI

Click Canvas in the toolbar to open the canvas hub. You can create, rename, and switch between canvases stored under canvases/. The interactive Flow renderer lets you drag nodes, pan and zoom, and edit the diagram visually. Changes persist to the underlying .canvas.json file.

Graph-assisted layout

POST /api/kiwi/canvas/generate builds a new canvas from the wiki-link graph using layout modes such as hierarchical, radial, force, or circular. Restrict to a folder prefix so only part of the graph is laid out. For canvases that already exist, POST /api/kiwi/canvas/auto-layout?path=... repositions nodes using Graphviz engines (dot, neato, fdp, circo).

Incremental edits

Agents can apply batched operations with PATCH /api/kiwi/canvas instead of rewriting the full JSON document. See the Canvas REST API for supported op values.

Canvas REST API

List, read, write, patch, query, and auto-layout.

Whiteboard

Excalidraw diagrams in markdown files.

MCP

kiwi_canvas_list, kiwi_canvas_read, kiwi_canvas_write.

Web UI

Toolbar views including Canvas and Whiteboard.
Last modified on May 23, 2026