API и MCP

Ключ API даёт доступ к проекту из ваших скриптов (REST API) и из AI-ассистентов — Claude Code, Cursor (MCP). Полное описание методов — /api/v1/docs, схема для генераторов клиентов — /api/v1/openapi.json.

Ключи

  • Меню → «API и MCP» → «Создать ключ»: название и доступ — только чтение или чтение и изменения.
  • Ключ (mk_…) показывается один раз; хранится только его хеш. В списке видно, кто создал и когда был последний запрос.
  • «Отозвать» — запросы с ключом сразу перестают приниматься.
  • Создают и отзывают ключи владелец и администраторы; каждое изменение через ключ попадает в журнал изменений проекта.

REST API

JSON, время — ISO 8601 в UTC, не больше 120 запросов в минуту на ключ (дальше — ответ 429). Ключ — в заголовке Authorization: Bearer mk_….

Метод Адрес Что делает Ключ
GET /api/v1/incidents инциденты: открытые (status=open) или все последние (status=all) чтение
GET /api/v1/incidents/{id} инцидент с хронологией чтение
POST /api/v1/incidents/{id}/ack взять в работу изменения
GET /api/v1/servers серверы: статус, CPU / RAM / диск, группа чтение
GET /api/v1/servers/{id} сервер и его открытые проблемы чтение
POST /api/v1/servers/{id}/mute заглушить алерты сервера (до 7 дней) или включить обратно изменения
GET /api/v1/monitors, /api/v1/monitors/{id} мониторы чтение
POST /api/v1/monitors добавить монитор изменения
POST /api/v1/monitors/{id}/pause, /resume пауза и продолжение изменения
DELETE /api/v1/monitors/{id} удалить монитор изменения
GET /api/v1/cron cron-задачи чтение
GET /api/v1/maintenance обслуживание: идёт сейчас и запланированное чтение
POST /api/v1/maintenance запланировать обслуживание изменения

Обслуживание на время деплоя — из скрипта:

curl -s -X POST https://test.assyr.nl/api/v1/maintenance -H "Authorization: Bearer mk_…" \
  -H "Content-Type: application/json" -d '{"name": "Деплой", "minutes": 15, "everything": true}'

MCP: мониторинг в AI-ассистенте

MCP-сервер /mcp даёт ассистенту ответить «что сейчас горит?», разобрать инцидент по хронологии, а с ключом на изменения — поставить монитор, взять инцидент или запланировать обслуживание.

Claude Code — в терминале:

claude mcp add --transport http monitoring https://test.assyr.nl/mcp --header "Authorization: Bearer mk_…"

Cursor — в .cursor/mcp.json:

{"mcpServers": {"monitoring": {"url": "https://test.assyr.nl/mcp", "headers": {"Authorization": "Bearer mk_…"}}}}
Инструмент Что делает Ключ
list_incidents, get_incident инциденты и хронология чтение
list_servers, get_server серверы и их проблемы чтение
list_monitors, list_cron, list_maintenance мониторы, cron, обслуживание чтение
create_monitor, pause_monitor добавить и приостановить монитор изменения
acknowledge_incident взять инцидент в работу изменения
mute_server заглушить алерты сервера изменения
schedule_maintenance запланировать обслуживание изменения