Хостинг

API сервера для ботов

Клиентский API Millida Hosting: выпуск ключа, права, управление сервером и стрим консоли из своего бота или скрипта.

Обновлено 25 июля 2026 г.

Всё, что делает панель, можно делать из своего кода: поднимать сервер по расписанию, показывать статус в Discord, отправлять команды из бота.

Ключ

API доступен на любом платном тарифе — там же, где файлы, SFTP и доступ команде. На бесплатном ключ не выпускается: ключ — это тот же совместный доступ, только для бота.

Раздел «Доступ» → «Ключи API» → «Выпустить ключ». Отметьте, что ключу разрешено, — права те же одиннадцать, что и у совместного доступа.

Ключ показывается один раз: у нас хранится только его отпечаток. Потеряли — выпустите новый и отзовите старый.

Ключ передаётся заголовком Authorization: Bearer mhk_live_....

Методы

Базовый адрес — https://millida.net/v2/hosting/api.

МетодЧто делаетНужное право
GET /serverКарточка сервераконсоль
GET /statusСтатус и онлайнконсоль
POST /startЗапуститьзапуск
POST /stopОстановитьзапуск
POST /restartПерезапуститьзапуск
POST /commandКоманда в консольконсоль
GET /consoleЖивой лог (SSE)консоль
GET /files?path=Список файловфайлы
GET /backupsСписок копийкопии
POST /backupsПоставить копию в работукопии

Пример: поднять сервер и дождаться онлайна

KEY="mhk_live_xxx"
API="https://millida.net/v2/hosting/api"

curl -sX POST "$API/start" -H "Authorization: Bearer $KEY"

until curl -s "$API/status" -H "Authorization: Bearer $KEY" | grep -q RUNNING; do
  sleep 5
done
echo "сервер онлайн"

Копии делаются в фоне

POST /backups возвращает {"id":"..."} сразу, а сам архив собирается на ноде: мир на несколько гигабайт — это минуты. Готовность смотрите в GET /backups по полю status: pending — ещё собирается, ready — лежит в хранилище (тогда же появляется реальный sizeMb), failed — не собралась.

ID=$(curl -sX POST "$API/backups" -H "Authorization: Bearer $KEY" | jq -r .id)

until curl -s "$API/backups" -H "Authorization: Bearer $KEY" \
  | jq -e --arg id "$ID" '.[] | select(.id==$id) | select(.status=="ready")' >/dev/null; do
  sleep 15
done
echo "копия готова"

Пока копия в работе, вторую на том же сервере поставить нельзя — нода делает их по одной.

Живая консоль

GET /console отдаёт поток Server-Sent Events: каждая строка приходит с префиксом data:. Вебсокет не нужен — SSE проходит через любой прокси.

Что стоит знать

  • Каждое действие ключа попадает в журнал сервера автором «API-ключ N». Это ровно то, что нужно, когда серверами рулят и люди, и боты.
  • Ограничение частоты считается по ключу, а не по адресу: смена IP лимит не обходит, а сосед по офисной сети его не расходует. Оно щедрое для нормальной автоматизации, но опрос статуса раз в секунду в него упрётся — достаточно раз в 10–15 секунд. Стрим консоли открывается до десяти раз в минуту: держите одно соединение, а не открывайте новое на каждое сообщение.
  • Ключ перестаёт работать сразу, если сервер приостановлен или тариф больше не платный. Отзывать его руками для этого не нужно.
  • Ключей на сервер до пяти. Отзывайте ненужные.