API

REST API MoniTOR

Backend отдаёт JSON API под префиксом /api/v1/. Интерактивная документация — Swagger UI.

Редакция от 15 июля 2026

Базовый URL

http://<host>:8000/api/v1/     # прямой доступ к backend
http://<host>:3000/api/v1/     # через frontend proxy (если настроен)

OpenAPI / Swagger

URLНазначение
/api/docs/Swagger UI — интерактивная документация всех эндпоинтов.
/api/schema/OpenAPI schema (JSON/YAML) для генерации клиентов.

Пример: http://192.168.1.10:8000/api/docs/

Аутентификация

API использует сессии Django после входа через UI или token-based auth (см. Swagger, раздел /api/v1/auth/). Без активной лицензии большинство эндпоинтов недоступны (402).

# Проверка доступности (без auth — ожидается 401, не 5xx):
curl -s -o /dev/null -w '%{http_code}' http://localhost:8000/api/v1/license/status/

Группы эндпоинтов

ПрефиксНазначение
/api/v1/auth/Вход, выход, текущий пользователь.
/api/v1/license/Статус лицензии (GET …/status/), установка ключа (POST …/install/).
/api/v1/metrics/Метрики хоста: CPU, память, диск, сеть, time series, profiling.
/api/v1/containers/Docker: список, start/stop/restart, logs, inspect, файлы в контейнере.
/api/v1/cron/Cron-задачи: список, toggle, run, delete.
/api/v1/files/Файловый менеджер: browse, read, write.
/api/v1/webservers/Nginx/Apache: vhosts, конфиги, SSL, load balancers, traffic.
/api/v1/kubernetes/K8s: overview, pods, deployments.
/api/v1/storage/Диски и тома хоста.
/api/v1/backups/Резервные копии приложения.
/api/v1/assistant/ИИ-помощник: settings, conversation, context, memory, tools.

Лицензия через API

# Статус (часто доступен до полной активации UI)
curl http://localhost:8000/api/v1/license/status/

# Установка ключа (требует auth admin)
curl -X POST http://localhost:8000/api/v1/license/install/ \
  -H 'Content-Type: application/json' \
  -d '{"key":"MONI1.…"}'

WebSocket

Терминал, стриминг логов контейнеров и часть assistant-функций используют WebSocket поверх того же хоста. При reverse proxy включите Upgrade и Connection (см. Конфигурация).

Полный список параметров, схем запросов/ответов и кодов ошибок — в Swagger UI на вашем инстансе. Схема генерируется автоматически из Django REST Framework (drf-spectacular).