Per-page publishing
Setpublished: true in a page’s frontmatter to make it accessible at /p/{path} without authentication.
- REST API
- MCP
- Web UI
Bulk operations
Publish or unpublish multiple pages at once:Listing published pages
Share links
Create time-limited, optionally password-protected links to individual pages. Share links work independently from publishing — a page does not need to be published to be shared.Share links have their own view counter. Revoke a link with
DELETE /api/kiwi/share/:id using the share id (not the long token).Space visibility
Control access at the space level with thevisibility setting in .kiwi/config.toml:
| Visibility | Behavior |
|---|---|
private | All access requires authentication (default) |
unlisted | Accessible to anyone with the URL, not listed publicly |
public | Pages with visibility: public in frontmatter are browseable without authentication |
Public visibility browsing
When space visibility allows it, pages that declarevisibility: public in their frontmatter are accessible via dedicated endpoints:
404 to avoid leaking existence.
Changing visibility at runtime
How the models interact
| Model | Scope | Auth needed to read? | Persisted where? |
|---|---|---|---|
| Published pages | Single page | No — served at /p/{path} | published: true in frontmatter |
| Share links | Single page | No — token in URL | Server-side share store |
| Space visibility | All public pages | No — via /public/* endpoints | [space] visibility in config + per-page visibility frontmatter |
Related documentation
Publish API
REST endpoints for publish, unpublish, and status.
Analytics
Share links, comments, and real-time events.
Configuration
Space visibility settings.
Optional features
Feature matrix and error codes.