KKairos/Docs

API reference

All endpoints require an authenticated session (cookie) or a Bearer API key. Responses are JSON. Errors return { error: string }.

Base URL

https://your-kairos-instance.com

All paths below are relative to your deployment URL.

Tasks

GET/api/tasksList tasks (supports ?status=, ?tagId= filters)
POST/api/tasksCreate a task. Schedule-on-write: auto-places into GCal.
GET/api/tasks/:idGet a single task with tags
PATCH/api/tasks/:idUpdate a task
DELETE/api/tasks/:idDelete a task and its GCal event

Tags

GET/api/tagsList all tags
POST/api/tagsCreate a tag
PATCH/api/tags/:idUpdate a tag
DELETE/api/tags/:idDelete a tag

Schedule

GET/api/schedule/windowsList schedule windows
PUT/api/schedule/windowsReplace all schedule windows
POST/api/schedule/runEnqueue a full schedule run (chunked jobs)

Scratchpad

GET/api/scratchpadList scratchpad entries
POST/api/scratchpadCreate a scratchpad entry
POST/api/scratchpad/:id/processDispatch to plugin, returns candidate tasks
POST/api/scratchpad/:id/commitCreate tasks from candidates + auto-schedule
DELETE/api/scratchpad/:idDelete a scratchpad entry

Plugins

GET/api/pluginsList installed plugins with enabled state
GET/api/plugins/:nameGet plugin details + config
PATCH/api/plugins/:nameUpdate plugin config or enable/disable

Themes

GET/api/themes/installedList user's installed marketplace themes
POST/api/themes/installInstall a theme from registry URL or raw manifest
DELETE/api/themes/:installIdUninstall a marketplace theme
GET/api/themes/:installId/cssServe compiled theme CSS (cached)
PATCH/api/me/themeSet active theme pack ID

Calendars

GET/api/calendarsList connected Google Calendars
PATCH/api/calendars/:idUpdate calendar selected/showAsBusy flags
POST/api/calendars/syncSync calendar list from Google

Authentication

Session cookies are set automatically after Google OAuth sign-in. For headless clients (agents, n8n, CLI), add an Authorization: Bearer <key>header. API keys are managed via Better Auth's built-in key management (coming soon to the Settings UI).

Rate limits

No rate limits in self-hosted mode. Hosted mode (kairos.app) enforces per-user limits.