Документация API

Актуальный справочник по API КАСКАД 360: доступ, БД, сервисы, маршрутизация, плагины и мониторинг.

Документация для версии 1.0.2. Ниже указаны маршруты, которые реально зарегистрированы в этой версии проекта.

1. Обзор API версии 1.0.2

КАСКАД 360 использует HTTP JSON API с разделением на внешний и административный контуры. Основной порт приложения в текущем конфиге: 5000.

Базовые URL

КонтурБазовый URLНазначение
Основной серверhttp://localhost:5000Админ API, внешний API БД, UI
Docker Compose (если настроен в окружении)http://localhost:3535Проксируемый порт контейнера

Группы API

ПрефиксДоступНазначение
/api/v1/admin/*Сессия (cookie) после входаУправление системой, сервисами, плагинами, мониторинг
/api/v1/db/*API-ключ (X-API-Key)Внешний доступ к БД и транзакциям
/api/base/*Сессия администратораСистемные и административные операции

Типовой формат ответа

{
  "success": true,
  "data": { ... }
}

{
  "success": false,
  "error": "Описание ошибки"
}

2. Аутентификация и доступ

2.1. Сессионная авторизация для админ API

POST /api/v1/admin/auth/login

Выполняет вход и устанавливает сессионную cookie. Используется для /api/v1/admin/* и /api/base/*.

{
  "username": "admin",
  "password": "your-password",
  "mfa_code": "123456"
}
POST /api/v1/admin/auth/logout

Завершает текущую сессию.

GET /api/v1/admin/auth/me

Возвращает данные текущего авторизованного пользователя.

2.2. API-ключ для внешнего API БД

Для /api/v1/db/* применяется API-ключ в заголовке или query-параметре.

X-API-Key: your-api-key

# либо
GET /api/v1/db/datasources?api_key=your-api-key

2.3. JWT endpoints (дополнительно)

В системе также доступны маршруты выдачи и обновления JWT:

POST /api/v1/admin/auth/token
POST /api/v1/admin/auth/token/refresh
POST /api/v1/admin/auth/token/revoke

Базовый административный доступ по умолчанию построен на сессии.

3. Внешний API БД (/api/v1/db/*)

Назначение: интеграции и внешние сервисы. Все маршруты ниже требуют API-ключ с правами db:query или db:*.

3.1. Выполнение запроса

POST /api/v1/db/query

Поддерживает два режима: параметризованный контракт (entity + action) и legacy SQL (query).

Параметризованный режим (рекомендуется)

{
  "entity": "users",
  "action": "select",
  "fields": ["id", "username", "email"],
  "filters": [{"field": "is_admin", "op": "eq", "value": 1}],
  "limit": 50,
  "offset": 0,
  "datasource_id": "core"
}

Legacy SQL режим

{
  "query": "SELECT id, username FROM users WHERE is_admin = %s",
  "params": [1],
  "datasource_id": "core"
}

3.2. Транзакции

МетодПутьНазначение
POST/api/v1/db/transaction/beginСоздать транзакцию
POST/api/v1/db/transaction/<transaction_id>/commitПодтвердить транзакцию
POST/api/v1/db/transaction/<transaction_id>/rollbackОткатить транзакцию
GET/api/v1/db/transaction/listСписок активных транзакций

3.3. Источники данных

GET /api/v1/db/datasources

Возвращает список доступных datasource без секретов.

4. Админ API БД (/api/base/db/*)

Эти маршруты используются админ-панелью после входа в систему.

МетодПутьНазначение
GET/api/base/db/tablesСписок таблиц
GET/api/base/db/table/<table_name>Данные таблицы (пагинация)
GET/api/base/db/table/<table_name>/structureСтруктура таблицы
POST/api/base/db/table/<table_name>/rowДобавить строку
PATCH/api/base/db/table/<table_name>/row/<pk>Изменить строку
DELETE/api/base/db/table/<table_name>/row/<pk>Удалить строку
GET/POST/api/base/db/configЧтение и сохранение конфигурации БД
POST/api/base/db/testПроверка соединения с БД

5. Управление сервисами

Основные маршруты управления сервисами находятся в пространстве /api/v1/admin/services/*.

GET /api/v1/admin/services/list

Список сервисов с фильтрами search, status, environment, tags.

МетодПутьНазначение
GET/api/v1/admin/services/<service_name>/statusСтатус сервиса
GET/api/v1/admin/services/<service_name>/metricsМетрики сервиса
GET/api/v1/admin/services/<service_name>/infoРасширенная информация
POST/api/v1/admin/services/<service_name>/restartПерезапуск
POST/api/v1/admin/services/<service_name>/startЗапуск
POST/api/v1/admin/services/<service_name>/stopОстановка
POST/api/v1/admin/services/<service_name>/scaleМасштабирование реплик
POST/api/v1/admin/services/<service_name>/health-checkПринудительный health-check

6. Маршрутизация, плагины и мониторинг

6.1. Маршрутизация

МетодПутьНазначение
GET/api/v1/admin/routing/rulesСписок правил
POST/api/v1/admin/routing/rulesСоздать правило
DELETE/api/v1/admin/routing/rules/<rule_index>Удалить правило
POST/api/v1/admin/routing/previewПредпросмотр маршрута
POST/api/v1/admin/routing/reloadHot-reload правил
GET/api/v1/admin/routing/historyИстория изменений

6.2. Плагины

МетодПутьНазначение
GET/api/v1/admin/pluginsСписок плагинов
POST/api/v1/admin/plugins/<plugin_name>/loadЗагрузить и запустить
POST/api/v1/admin/plugins/<plugin_name>/unloadВыгрузить
POST/api/v1/admin/plugins/<plugin_name>/startЗапустить
POST/api/v1/admin/plugins/<plugin_name>/stopОстановить
GET/POST/api/v1/admin/plugins/<plugin_name>/configКонфигурация плагина

6.3. Мониторинг

Маршруты мониторинга доступны в /api/v1/admin/monitoring/*.

МетодПуть
GET/api/v1/admin/monitoring/metrics/summary
GET/api/v1/admin/monitoring/metrics/history
GET/api/v1/admin/monitoring/alerts
POST/api/v1/admin/monitoring/alerts/rules
GET/api/v1/admin/monitoring/traces

7. Настройка и служебные API

7.1. API первичной настройки (до завершения setup)

МетодПутьНазначение
GET/POST/api/db/configКонфигурация БД мастера установки
POST/api/db/testПроверка соединения с БД
GET/api/admin/checkПроверка наличия администратора
POST/api/admin/createСоздание администратора
GET/POST/api/app/settingsНастройки приложения
POST/api/setup/completeЗавершение установки

7.2. Центр обновлений (новое в 1.0.2)

В версии 1.0.2 добавлен API центра обновлений для управления релизами ядра, модулей и плагинов из админ-панели.

МетодПутьНазначение
GET/api/v1/admin/updates/configТекущая конфигурация updates
GET/api/v1/admin/updates/checkПроверка доступных обновлений
GET/api/v1/admin/updates/catalogКаталог артефактов и совместимость
POST/api/v1/admin/updates/installСоздание задачи установки модуля/плагина
POST/api/v1/admin/updates/coreСоздание задачи обновления ядра
POST/api/v1/admin/updates/rollbackСоздание задачи отката
GET/api/v1/admin/updates/jobsСписок задач обновления
GET/api/v1/admin/updates/readinessReadiness-проверка production rollout

7.3. Дополнительные служебные endpoints

В приложении также доступны служебные маршруты для метрик, файлов, модулей, лицензий, контейнеров и CRM в пространстве /api/v1/admin/*, /api/v1/files/*, /crm и /api/crm/*.

8. Коды ответов и формат ошибок

HTTPКогда используется
200Успешный запрос
400Ошибка валидации или параметров
401Нет сессии или неверный API-ключ
403Недостаточно прав (role/permission/beta-ограничения)
404Ресурс не найден
500Внутренняя ошибка
503Внешний сервис/конфиг недоступен
{
  "success": false,
  "error": "Текст ошибки",
  "details": { ... }
}

9. Версия и совместимость

ПараметрТекущее значение проекта
Версия ядра1.0.2
Основной API-префикс/api/v1
Модель админ-доступаСессия + role/permissions
Внешний доступ к БДAPI-ключ (X-API-Key)
WebSocket/ws (при включении в конфиге)

Для детальной установки и запуска используйте инструкцию по установке. Если нужна интеграция под ваш сценарий, отправьте запрос через форму связи.

Инструкция по установке Отправить обратную связь