Справочник API
Все пути с префиксом /api.
Авторизация — ключ доступа: Authorization: Bearer <ключ>, заголовок X-Api-Key или ?token= в адресе (последнее нужно для SSE и картинок, где заголовок поставить нечем). Годится основной API_KEY или любой именованный ключ. Логина с паролем нет.
Аутентификация
| Метод | Путь | Описание |
|---|---|---|
| GET | /auth/verify | проверка ключа → {ok, mode, subject} |
| GET | /auth/connection | адрес и ключ для QR-кода подключения |
| GET | /health | проверка живости, без авторизации |
Проекты и сессии
| Метод | Путь | Описание |
|---|---|---|
| GET | /projects | список проектов из всех источников |
| POST | /projects/rescan | полный разбор транскриптов (жест «потянуть вниз») |
| PATCH | /projects/:project | {title} — своё имя проекта, пустое сбрасывает |
| POST | /projects/:project/favorite | {favorite} — закрепить проект сверху |
| GET | /projects/:project/sessions | сессии проекта |
| GET | /projects/:project/sessions/:id?offset&limit&tail=1 | записи сессии постранично |
| PATCH | /projects/:project/sessions/:id | {title} — своё имя чата |
| POST | /projects/:project/sessions/:id/favorite | {favorite} — закрепить чат |
| POST | /projects/:project/sessions/:id/read | «досмотрели до низа» |
| POST | /projects/:project/sessions/:id/view | «чат открыли» — по этому сортируется список |
| POST | /sessions/read-all · /projects/:project/sessions/read-all | пометить все как прочитанное |
| GET | /projects/:project/sessions/:id/prompts | номера своих сообщений (кнопка «↑») |
| GET | /projects/:project/sessions/:id/image?record=&block=&agent= | картинка из записи |
| GET | /projects/:project/sessions/:id/subagents | субагенты сессии |
| GET | /projects/:project/sessions/:id/subagents/:agentId | записи субагента |
| GET | /projects/:project/sessions/:id/export?tools=&thinking=&system= | чат одним файлом Markdown |
| GET/POST | /projects/:project/sessions/:id/shares | ссылки на чтение чата: список и выдача {hours, full?} (hours — 1, 24 или 168) |
| DELETE | /shares/:id | отозвать ссылку |
| POST | /projects/:project/sessions/:id/message | сообщение в сессию, которую ведёт чужой процесс (или мост на хост) |
| DELETE | /sessions/:id/inbox/:messageId | забрать такое сообщение, пока его не подобрал хук |
| GET | /sessions/search?q=&limit= | поиск по названиям и переписке |
| POST | /sessions/:id/relay | {enabled} — отвечать на вопросы этой сессии из Clauder |
| POST | /sessions/:id/question/answer | ответ на вопрос сессии, которую Clauder не ведёт |
| GET | /favorites | закреплённые проекты и чаты одним ответом |
| GET/POST | /hidden · /hidden/merge | скрытые проекты и чаты |
| GET/PUT | /client-prefs | слепок настроек клиента для переноса на новое устройство |
| GET/POST | /user-data?mode=replace | названия, избранное, скрытое и прочитанное одним файлом |
Расход токенов и трафик
| Метод | Путь | Описание |
|---|---|---|
| GET | /usage?days= или ?from=&to= | расход по дням, моделям и проектам |
| GET | /usage/window | текущее 5-часовое окно по всем сессиям |
| GET | /usage/timeline?hours= | ряды дашборда: по часам и наполнение окна |
| GET | /usage/net?hours= | сетевой расход самого api, с разбивкой по клиентам |
| GET/PUT | /usage/budget | потолок расхода за сутки: пороги {warnUsd, stopUsd}, расход и level; менять — только хозяину |
Агент
| Метод | Путь | Описание |
|---|---|---|
| GET | /agent/status | режим прав, лимиты, разрешённые корни, defaultEffort |
| GET | /agent/models | модели и уровни effort от CLI |
| GET | /agent/rate-limits | утилизация лимитов плана |
| GET | /agent/workspaces | каталоги, доступные как cwd |
| GET | /agent/browse?path= | содержимое каталога для выбора cwd |
| POST | /agent/mkdir | {path, name} — новая папка |
| GET | /agent/recent | каталоги последних сессий |
| GET | /agent/active | кто сейчас работает: чаты, субагенты, фоновые задачи |
| GET | /agent/runs?sessionId= | активные сессии агента |
| POST | /agent/runs | {cwd, prompt?, resume?, fork?, model?} → запуск |
| GET | /agent/runs/:id | состояние сессии, включая висящий вопрос |
| POST | /agent/runs/:id/messages | {text} — сообщение в сессию |
| POST | /agent/runs/:id/ask | попутный вопрос (/btw) в тот же диалог |
| POST | /agent/runs/:id/answer · /answer/skip | ответ на вопрос модели и пропуск |
| POST | /agent/runs/:id/permission | allow / always / deny на запрос разрешения |
| DELETE | /agent/runs/:id/queue/:messageId | убрать сообщение из очереди CLI |
| POST | /agent/runs/:id/model · /effort · /ultracode | сменить модель, усилия, режим ultracode |
| POST | /agent/runs/:id/workflows | разрешить воркфлоу (переподнимает сессию) |
| POST | /agent/runs/:id/permission-mode | сменить режим прав |
| POST | /agent/runs/:id/budget | потолок расхода одной сессии (переподнимает её) |
| GET | /agent/runs/:id/context · /cost | чем занято окно контекста; стоимость и длительность |
| GET | /agent/runs/:id/mcp · /agent-types | состояние MCP-серверов; типы субагентов |
| POST | /agent/runs/:id/retry · /interrupt | повторить сорвавшийся запрос; прервать ответ |
| DELETE | /agent/runs/:id | завершить сессию |
| POST | /agent/sessions/:id/terminate | завершить сессию, кто бы её ни вёл |
Git
| Метод | Путь | Описание |
|---|---|---|
| GET | /git/status?cwd= | ветка, upstream, файлы с состояниями индекса и дерева |
| GET | /git/diff?cwd=&path=&staged= | дифф одного файла |
| GET | /git/log?cwd= · /git/branches?cwd= | последние коммиты; локальные ветки |
| POST | /git/stage · /git/unstage · /git/discard | индекс и отмена правок |
| POST | /git/commit | {message, all} — коммит, в ответе свежий статус |
| POST | /git/checkout | {branch, create} — git switch [-c] |
| POST | /git/suggest | сообщение коммита от модели |
| GET/POST | /git/worktrees · /git/worktree · /git/worktree/remove | рабочие копии |
Свои серверы моделей
| Метод | Путь | Описание |
|---|---|---|
| GET/POST | /providers | список серверов (без ключей) и добавление |
| PATCH/DELETE | /providers/:id | правка (пустой apiKey — «оставить сохранённый») и удаление |
| GET | /providers/:id/key | ключ сервера отдельным запросом |
| POST | /providers/:id/models | перечитать список моделей с сервера |
| POST | /providers/probe | проверка подключения по шагам |
Второй агент (opencode)
| Метод | Путь | Описание |
|---|---|---|
| GET | /opencode/status | поднят ли сервер, какие модели у него есть |
| GET/POST | /opencode/sessions | список чатов и новый чат |
| GET/DELETE | /opencode/sessions/:id | лента целиком или удаление чата |
| GET | /opencode/sessions/:id/stream?after= | SSE: записи с номера, вопросы и занятость |
| POST | /opencode/sessions/:id/message · /interrupt | сообщение и «Стоп» |
| POST | /opencode/sessions/:id/question/:requestId · /permission/:requestId | ответ на вопрос и на запрос разрешения |
Файлы, вывод команд, терминал
| Метод | Путь | Описание |
|---|---|---|
| GET | /files?path=&offset=&limit= | каталог или окно строк файла |
| GET | /files/raw?path=&token= | байты картинки |
| GET | /files/diff?path= | дифф одного файла |
| GET | /files/complete?cwd=&q=&limit= | @-дополнение: пути папки чата по началу или куску имени |
| POST | /files/mkdir | {path, name} — новая папка в открытом каталоге |
| POST | /files/put | {path, name, data, relative?} — файл туда же (base64, по одному) |
| GET | /output · /output/stream | хвост вывода работающей команды и он же потоком |
| GET | /commands | каталог слэш-команд композера |
| GET | /terminal · /terminal/:id | открытые оболочки и одна из них |
| POST | /terminal | {cwd, cols?, rows?} — открыть |
| GET | /terminal/:id/stream | SSE: hello, накопленный вывод, живой вывод, exit |
| POST | /terminal/:id/input · /resize | ввод и размер окна |
| DELETE | /terminal/:id | закрыть оболочку |
События, хуки, уведомления
| Метод | Путь | Описание |
|---|---|---|
| GET | /events/stream?token=&sources=&project=&session= | SSE: файловая система, хуки, статусы агента |
| POST | /hooks/ingest | приём событий хуков (X-Hook-Token) |
| POST | /hooks/question | вопрос от PreToolUse-хука; держится до ответа клиента |
| POST | /hooks/inbox | хук Stop забирает накопленные сообщения для своей сессии |
| GET/PUT | /hooks/targets | адреса Clauder в settings.json самого CLI |
| GET | /push/key · /push/state?endpoint= | публичный ключ VAPID; тумблеры подписки |
| POST | /push/subscribe · /push/unsubscribe | завести или забыть подписку |
| POST | /push/watch · /push/unwatch · /push/test | следить за сессией, перестать, проверочный пуш |
| GET/POST | /presence | за машиной ли хозяин; отметка открытой страницы (раз в минуту) |
Ссылка на чтение
Без ключа доступа: пускает токен из ссылки, и только в эти две ручки.
| Метод | Путь | Описание |
|---|---|---|
| GET | /share/:token?before=&after= | лента чата для гостя: окно записей, дальше — по номерам. Истекла — 410, отозвана или нет такой — 404 |
| GET | /share/:token/image?record=&block= | картинка из сообщения |
Приложение и бот
Эти разделы отвечают только в десктоп-сборке (в контейнере — 403).
| Метод | Путь | Описание |
|---|---|---|
| GET/PATCH | /desktop/network | слушать петлю или сеть, порт, адреса машины |
| PATCH | /desktop/api-key | задать свой ключ доступа или выдать новый |
| GET/POST/PATCH/DELETE | /desktop/api-keys | именованные ключи: список, выдача, правка области и прав, отзыв |
| GET/PATCH | /desktop/settings | режим, автозапуск, трей, окно поверх, горячая клавиша, уведомления |
| POST | /desktop/window | открыть маршрут веб-морды отдельным окном |
| GET | /desktop/sources | какие каталоги сессий сервер читает на самом деле |
| POST | /desktop/companions | поискать вторую сторону (WSL/Windows) заново |
| GET | /telegram/state | состояние бота и привязанные чаты |
| PATCH | /telegram/token · /telegram/app-url | токен и адрес кнопок «Открыть» |
| POST | /telegram/pairing · /telegram/test | одноразовый код привязки; проверочное сообщение |
| PATCH/DELETE | /telegram/chats/:chatId | настройки чата или отвязка |