API

Kumbuka exposes a JSON API under /api. Requests can use an authenticated browser session or, where supported, a personal access token. Individual endpoints enforce the same role and page-access rules as the application.

Important endpoints include:

Method Path Purpose
GET /api/pages List recent pages.
POST /api/pages Create a page (admin/editor).
GET /api/pages/{slug...} Read a page; append /raw for Markdown.
PUT /api/pages/{slug...} Update a page (admin/editor).
DELETE /api/pages/{slug...} Move a page to the bin (admin).
POST /api/preview Render unsaved Markdown (admin/editor).
GET/PUT/DELETE /api/drafts/{key} Private server drafts (admin/editor).
GET /api/search?q=... Search page summaries.
GET /api/graph Knowledge graph.
GET /api/tags Known tags.
GET /api/groups Groups assignable by the current user.
GET /api/recent Recently updated pages.
GET /api/images Image metadata (admin/editor).
POST /api/images Upload image (admin/editor).
GET /api/attachments Attachment metadata (admin/editor).
POST /api/attachments Upload attachment (admin/editor).
GET /api/notifications Current user notification inbox.
POST /api/notifications/{id}/read Mark one notification read.
POST /api/notifications/all/read Mark the complete notification inbox read.

Errors are returned as JSON problem responses.

See Personal access tokens for bearer authentication. Static sites do not expose the Kumbuka API.