Перейти к содержанию

eq.php

Модуль управления оборудованием (eq.php): API для развертывания серверов, управления питанием, IPMI, резервными копиями, поиска и получения детальной информации о конфигурации оборудования.

Методы API

Метод Действие Описание
abort_reinstall отмена переустановки Прерывает процесс переустановки операционной системы, удаляет связанные теги (reinstall_start, autodeploy_start, autodeploy_timeout), сбрасывает сетевой интерфейс (если это не OpenStack) и обновляет логи развертывания.
add_ipmi_admin добавление IPMI администратора Создает учетную запись администратора IPMI для сервера. Если у клиента есть тег admin_ipmi, можно задать свои логин и пароль.
add_ipmi_user добавление IPMI пользователя Создает нового пользователя для управления через интерфейс IPMI на сервере
announceip объявление IP-адреса Выполняет процедуру объявления (announcement) IP-адреса в сети оборудования
backup_get_schedule получение расписания бэкапов Возвращает информацию о расписании резервного копирования для указанного сервера или группы серверов
backup_list получение списка бэкапов Возвращает список доступных резервных копий для оборудования
backup_save_schedule сохранение расписания бэкапов Сохраняет настройки расписания для резервного копирования оборудования в очередь задач
boot_dev загрузка с носителя Запрос на загрузку сервера с указанного носителя (PXE или диск)
check_backup_lock проверка блокировки бэкапа Проверяет наличие активной блокировки на выполнение операции резервного копирования для конкретного сервера.
clear_pxe очистка PXE конфигурации Очищает PXE-конфигурацию для конкретного хоста. Метод асинхронный, возвращает callback для отслеживания выполнения задачи.
create_backup создание бэкапа Запускает процесс создания резервной копии для указанного сервера через очередь задач
create_pxe запрос на переустановку ОС через PXE Инициирует процесс переустановки операционной системы на сервере с использованием технологии PXE. Поддерживает выбор OS, настройку параметров диска, SSH-ключей и выполнение скриптов после установки.
delete_backup удаление бэкапа Инициирует процесс удаления резервной копии оборудования через очередь задач
deploy развертывание сервера Запускает процесс развертывания конкретного сервера по его ID или выбирает доступный сервер из указанного пресета в определенной локации.
get_ipmi получение IPMI интерфейсов сервера Возвращает список доступных IPMI интерфейсов для указанного сервера, включая модель и данные о доступе (IP, логин, пароль), если настроен проброс портов.
get_traffic получение трафика Возвращает данные о потреблении сетевого трафика для указанного ресурса или сервера
getserversforannounce получение серверов для анонса Возвращает список серверов, доступных для размещения анонсов на основе заданных параметров фильтрации
groups получение групп Возвращает список групп пресетов для конкретного сервера по его ID
hard_off принудительное выключение сервера Отправляет запрос на принудительное (жесткое) выключение сервера. Операция выполняется асинхронно через очередь.
history история Возвращает историю событий сервера.
list получение списка оборудования Возвращает список доступного оборудования с учетом фильтрации по параметрам
off выключение сервера Отправляет запрос на корректное выключение сервера по его ID
on запуск сервера Отправляет запрос на включение (start) сервера по его ID. Если сервер находится в режиме ожидания, снимается блокировка администратора.
order_instance заказ инстанса (деплой или переустановка) Запускает процесс развертывания нового сервера по пресету, заказа стокового сервера или инициирует переустановку существующего сервера с выбором ОС и дополнительного ПО.
reboot перезагрузка сервера Инициирует процесс перезагрузки указанного сервера. Если сервер находится в локации RU, отправляется соответствующее уведомление клиенту.
reinstall запуск переустановки сервера Инициирует процесс переустановки операционной системы на сервере. Создает ключ операции и ставит задачу в очередь.
remove_ipmi_user удаление пользователя IPMI Удаляет лишних пользователей IPMI с сервера. Операция выполняется асинхронно через очередь.
request_backup_link запрос ссылки на бэкап Инициирует процесс создания резервной копии и возвращает ссылку для скачивания или идентификатор задачи.
restore_backup восстановление бэкапа Запускает процесс восстановления сервера из выбранного резервного экземпляра через очередь задач.
search поиск оборудования Возвращает список серверов, отфильтрованных по заданным параметрам (группа, локация, статус, IP и др.) с дополнительной информацией о пребиллинге и тегах.
sensors получение данных сенсоров сервера Возвращает текущие показания сенсоров для указанного сервера. Метод является асинхронным и возвращает callback для отслеживания завершения запроса.
show получение данных сервера Возвращает полные технические данные о сервере: конфигурацию оборудования, операционную систему, сетевые интерфейсы, IP-адреса и информацию IPMI.
status получение статуса Возвращает текущий статус сервера по его ID. Операция является асинхронной.
suspend приостановка или разблокировка сервера Выполняет запрос на приостановку (suspend) или снятие блокировки (unsuspend) VPS/сервера. Если действие — suspend, сервер блокируется; если unsuspend — разблокируется.
unified_server_search единый поиск серверов Единый поиск серверов по запросу.
unit_reset выполнение IPMI reset сервера Отправляет запрос на выполнение IPMI reset (перезагрузку) выбранного сервера через контроллер управления.
unsuspend разблокировка сервера Запрашивает разблокировку (unsuspend) VPS или физического сервера. Если операция проходит успешно, возвращает callback для отслеживания процесса.
update_servers обновление списка серверов Синхронизирует список активных и ожидающих оплаты серверов клиента, собирает ключи развертывания (deploy keys) и данные о состоянии узлов.

eq/abort_reinstall

Прерывает процесс переустановки операционной системы, удаляет связанные теги (reinstall_start, autodeploy_start, autodeploy_timeout), сбрасывает сетевой интерфейс (если это не OpenStack) и обновляет логи развертывания.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: abort_reinstall
id int ID сервера для отмены переустановки
token string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=abort_reinstall" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"action": "abort_reinstall",
"id": 123
}
Примеры ошибок

``` { "code": -1, "message": "$module/abort_reinstall: invalid server id" }

```

eq/add_ipmi_admin

Создает учетную запись администратора IPMI для сервера. Если у клиента есть тег admin_ipmi, можно задать свои логин и пароль.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: add_ipmi_admin
id integer ID сервера
admin_user string Имя пользователя IPMI (опционально)
admin_pass string Пароль администратора IPMI (макс. 16 символов)
token string API-токен аутентификации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=add_ipmi_admin" \
--data "id=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "add_ipmi_admin",
"user": "string",
"password": "string"
}
Примеры ошибок

``` { "code": -1, "message": "Add IPMI user request failed" }

```

eq/add_ipmi_user

Создает нового пользователя для управления через интерфейс IPMI на сервере

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string Токен авторизации
params[server_id] integer ID сервера
params[username] string Имя пользователя IPMI
params[password] string Пароль пользователя IPMI

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--data "params[server_id]=VALUE" \
--data "params[username]=VALUE" \
--data "params[password]=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "add_ipmi_user",
"data": {
"status": "active",
"username": "admin_user"
}
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка при создании IPMI пользователя" }

```

eq/announceip

Выполняет процедуру объявления (announcement) IP-адреса в сети оборудования

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: announceip
token string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=announceip" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{}
Примеры ошибок

``` { "code": -1, "message": "Ошибка выполнения операции" }

```

eq/backup_get_schedule

Возвращает информацию о расписании резервного копирования для указанного сервера или группы серверов

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: backup_get_schedule
eq_id int ID оборудования (сервера)
token string Авторизационный токен

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=backup_get_schedule" \
--data "eq_id=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"days": [0, 0, 0, 0, 0, 0, 0],
"time": "",
"timezone": ""
}
Примеры ошибок

``` { "code": -3, "message": "api_keys_no_servers" }

```

eq/backup_list

Возвращает список доступных резервных копий для оборудования

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: backup_list
eq_id int ID оборудования
token string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=backup_list" \
--data "eq_id=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "backup_list",
"data": [
{
"id": 1024,
"name": "daily_backup_2023-10-27",
"status": "active",
"size": 5120,
"created_at": "2023-10-27T14:30:00Z"
},
{
"id": 1025,
"name": "manual_snapshot",
"status": "error",
"size": 2048,
"created_at": "2023-10-26T09:15:00Z"
}
]
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка при получении списка бэкапов" }

```

eq/backup_save_schedule

Сохраняет настройки расписания для резервного копирования оборудования в очередь задач

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: backup_save_schedule
token string Токен авторизации
params[server_id] int ID сервера (eq_id)
backup_schedule object Объект расписания: {"timezone": "string", "days": [int], "time": "HH:mm"}

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=backup_save_schedule" \
--data "token=HOSTKEY_TOKEN" \
--data "params[server_id]=123" \
--data "backup_schedule[timezone]=Europe/Moscow" \
--data "backup_schedule[days][0]=1" \
--data "backup_schedule[days][1]=3" \
--data "backup_schedule[time]=03:00"
Пример успешного ответа
{
"result": "OK",
"action": "backup_save_schedule",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка при постановке задачи в очередь" }

```

eq/boot_dev

Запрос на загрузку сервера с указанного носителя (PXE или диск)

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: boot_dev
id int ID сервера
media string Тип носителя (например, pxe)
boot_mode string Режим загрузки: auto, uefi или legacy

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=boot_dev" \
--data "id=VALUE" \
--data "media=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "boot_dev",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "Bootable media change request failed: error_details" }

```

eq/check_backup_lock

Проверяет наличие активной блокировки на выполнение операции резервного копирования для конкретного сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: check_backup_lock
token string Токен авторизации
params[server_id] int ID сервера для проверки блокировки

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=check_backup_lock" \
--data "token=HOSTKEY_TOKEN" \
--data "params[server_id]=12345"
Пример успешного ответа
{
"result": "OK",
"action": "check_backup_lock",
"data": {
"is_locked": false,
"server_id": 12345
}
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка проверки блокировки" }

```

eq/check_pin

Проверяет PIN-код для операций.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: check_pin
token string Токен авторизации
pin string PIN-код для проверки

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=check_pin" \
--data "token=HOSTKEY_TOKEN" \
--data "pin=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "check_pin",
"callback": "pin_disabled"
}
Примеры ошибок
{
"code": -1,
"message": "PIN validation failed"
}

eq/clear_pxe

Очищает PXE-конфигурацию для конкретного хоста. Метод асинхронный, возвращает callback для отслеживания выполнения задачи.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: clear_pxe
id integer ID сервера/хоста
hostname string Имя хоста

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=clear_pxe" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "clear_pxe",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "Failed to submit clear PXE config request" }

```

eq/console

Инициирует сессию удаленного доступа к консоли сервера через AMQP очередь

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Действие (console)
id integer ID сервера

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=console" \
--data "id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "console",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "Console request failed" }

```

eq/create_backup

Запускает процесс создания резервной копии для указанного сервера через очередь задач

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: create_backup
token string Токен авторизации
params[server_id] int ID сервера для создания бэкапа

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=create_backup" \
--data "token=HOSTKEY_TOKEN" \
--data "params[server_id]=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "create_backup",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка запуска задачи бэкапа" }

```

eq/create_pxe

Инициирует процесс переустановки операционной системы на сервере с использованием технологии PXE. Поддерживает выбор OS, настройку параметров диска, SSH-ключей и выполнение скриптов после установки.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: create_pxe
id int ID сервера для переустановки
root_pass string Пароль пользователя root
hostname string Имя хоста для сервера
os_id int ID операционной системы (если -1, используется имя)
os_name string Алиас или точное название ОС
ssh_key string Публичный SSH-ключ для автоматической настройки
post_install_script string Скрипт для выполнения после установки
post_install_callback string URL или идентификатор callback-функции
reinstall_key string Ключ переустановки (если применимо)
email string Email пользователя для уведомлений или привязки лицензии
disk_mirror string Параметры зеркалирования диска
activate_windows int Флаг активации Windows (1 - да, 0 - нет)
uefi int Режим загрузки: 1 - UEFI, 0 - Legacy, -1 - по умолчанию
attendedInstall string Параметры автоматической установки (attended install)
root_size int Размер корневого раздела в ГБ
deploy_ticket string ID тикета для деплоя (для администраторов)
ignore_duplicated_install int Игнорировать дублирующиеся установки (-1 по умолчанию)
no_lvm int Флаг отказа от использования LVM (0/1)
custom_domain string Кастомный домен для сервера
manual_choice_dsk int Флаг ручного выбора диска (0/1)

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=create_pxe" \
--data "id=VALUE" \
--data "root_pass=VALUE" \
--data "hostname=VALUE" \
--data "os_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "create_pxe",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "EQ/create_pxe: invalid server id" }

```

eq/delete_backup

Инициирует процесс удаления резервной копии оборудования через очередь задач

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: delete_backup
token string Токен авторизации
params[id] int ID резервной копии для удаления

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=delete_backup" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "delete_backup",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка при удалении бэкапа" }

```

eq/deploy

Запускает процесс развертывания конкретного сервера по его ID или выбирает доступный сервер из указанного пресета в определенной локации.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: deploy
token string Токен авторизации
id int ID конкретного сервера. Если 0, используется поиск по пресету.
preset string Название пресета для поиска доступного сервера
location int ID локации (если используется поиск по пресету)
hostname string Желаемое имя хоста
service_id int ID услуги для привязки (rent by prebill)
own_os int Флаг использования собственной ОС (1 - да, 0 - нет)
os_id int ID операционной системы
root_pass string Пароль root (минимум 8 символов при own_os=0)
ssh_key string SSH ключ пользователя
post_install_script string Скрипт после установки
post_install_callback string URL для обратного вызова после завершения установки
traffic_plan int ID тарифного плана трафика (-1 - не указан)
root_size int Размер корневого диска (по умолчанию 1)
ipv4_amount int Количество IPv4 адресов (по умолчанию 1)
custom_domain string Кастомный домен
imitate_deploy int Режим Dry Run (1 - симуляция)
imitate_error int Имитация ошибки при деплое

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=deploy" \
--data "token=YOUR_TOKEN" \
--data "preset=standard" \
--data "location=1"
Пример успешного ответа
{
"result": "OK",
"action": "deploy",
"callback": "7bc29eb23fb1b879b21fce509597f07c",
"ticket": 12345
}
Примеры ошибок

``` { "code": -1, "message": "EQ/deploy: no servers avalaible for preset example at US" }

```

eq/get_ipmi

Возвращает список доступных IPMI интерфейсов для указанного сервера, включая модель и данные о доступе (IP, логин, пароль), если настроен проброс портов.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_ipmi
id int ID сервера
token string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=get_ipmi" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"ipmi": [
{
"IP": "192.168.1.100",
"Login": "admin",
"Password": "password123",
"IpAcl": "10.0.0.5",
"IpmiId": 42,
"MAC": "00:1A:2B:3C:4D:5E"
}
],
"vendor": "Dell iDRAC Enterprise"
}
Примеры ошибок

``` { "code": -1, "message": "EQ/get_ipmi: invalid server id" }

```

eq/get_traffic

Возвращает данные о потреблении сетевого трафика для указанного ресурса или сервера

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_traffic
id integer ID сервера для получения данных о трафике

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=get_traffic" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "get_traffic",
"data": [
{
"ip": "string",
"volume": 123456,
"updated": "YYYY-MM-DD",
"billed": true,
"direction": "string"
}
]
}
Примеры ошибок

``` { "code": -1, "message": "eq_get_traffic: invalid server id" }

```

eq/get_upgrade_key

Возвращает ключ для выполнения операции обновления системы

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_upgrade_key
invoice_id int Параметр invoice_id (обнаружен в коде)
token string API-токен аутентификации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=get_upgrade_key" \
--data "invoice_id=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_upgrade_key",
"data": {
"key": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка при генерации ключа обновления" }

```

eq/getserversforannounce

Возвращает список серверов, доступных для размещения анонсов на основе заданных параметров фильтрации

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: getserversforannounce
token string API-токен аутентификации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=getserversforannounce" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "getserversforannounce",
"data": [
{
"id": 1024,
"name": "srv-prod-01",
"status": "active",
"ip": "192.168.1.1",
"location": "NL",
"tags": [
{
"id": 5,
"name": "high-performance"
}
]
},
{
"id": 1025,
"name": "srv-prod-02",
"status": "active",
"ip": "192.168.1.2",
"location": "DE",
"tags": [
{
"id": 8,
"name": "ssd"
}
]
}
]
}
Примеры ошибок

``` { "code": -1, "message": "Internal server error" }

```

eq/groups

Возвращает список групп пресетов для конкретного сервера по его ID

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: groups
id int ID сервера

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=groups" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"groups": [
1,
2,
3
]
}
Примеры ошибок

``` { "code": -1, "message": "EQ/groups: invalid server id" }

```

eq/hard_off

Отправляет запрос на принудительное (жесткое) выключение сервера. Операция выполняется асинхронно через очередь.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Имя действия (hard_off)
token string Токен авторизации
id int ID сервера для выключения

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=hard_off" \
--data "token=YOUR_TOKEN" \
--data "id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "hard_off",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "Stop request failed" }

```

eq/history

Возвращает историю событий сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: history
id int ID сервера
token string Токен авторизации
type array<string> Фильтр по типам событий
date_from string Дата начала периода (YYYY-MM-DD)
date_to string Дата конца периода (YYYY-MM-DD)

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=history" \
--data "id=VALUE" \
--data "token=HOSTKEY_TOKEN" \
--data "type[]=ACTION" \
--data "type[]=ERROR" \
--data "date_from=2023-10-01" \
--data "date_to=2023-10-31"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "history",
"id": 12345,
"history": [
{
"id": 1,
"date": "2023-10-01 12:00:00",
"message": "Server rebooted",
"type": "ACTION"
}
]
}
Примеры ошибок
{
"code": 400,
"message": "Invalid server id"
}

eq/list

Возвращает список доступного оборудования с учетом фильтрации по параметрам

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: list
- - - Других параметров нет

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=list"
Пример успешного ответа
{
"result": "OK",
"action": "list",
"items": [
{
"id": 1024,
"name": "High-Performance Server",
"status": "active",
"location": "NL",
"tags": [
{
"id": 1,
"name": "GPU_ENABLED"
}
]
},
{
"id": 1025,
"name": "Standard Compute Node",
"status": "available",
"location": "DE",
"tags": []
}
]
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка при получении списка оборудования" }

```

eq/off

Отправляет запрос на корректное выключение сервера по его ID

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
id int ID сервера для выполнения команды
token string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "off",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "Stop request failed" }

```

eq/on

Отправляет запрос на включение (start) сервера по его ID. Если сервер находится в режиме ожидания, снимается блокировка администратора.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: on
token string Токен авторизации
id integer ID сервера

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=on" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "on",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "EQ/on: invalid server id" }

```

eq/order_instance

Запускает процесс развертывания нового сервера по пресету, заказа стокового сервера или инициирует переустановку существующего сервера с выбором ОС и дополнительного ПО.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Имя действия (order_instance)
token string Токен авторизации
id integer ID сервера (для переустановки) или ID пресета/стокового сервера
preset string Имя пресета для заказа нового инстанса
root_pass string Пароль root (не должен содержать @ или #)
os_template string Шаблон ОС для деплоя из шаблона
soft_id integer ID дополнительного программного обеспечения
os_id integer ID операционной системы
ssh_key string SSH публичный ключ
post_install_script string Скрипт после установки (должен начинаться с #!)
post_install_callback string URL для callback-уведомления
hostname string Имя хоста
custom_domain string Кастомный домен
ipv4_amount integer Количество IPv4 адресов (1, 2, 4, 6, 8)
ip string Приватный IP адрес
vlan integer ID приватного VLAN
disk_mirror string Уровень зеркалирования дисков (RAID level)
root_size integer Размер корневого раздела
no_lvm boolean Отключить LVM
traffic_plan integer ID тарифного плана трафика
deploy_period string Период оплаты (hourly, monthly, quarterly, semi-annually, annually)
promocode string Промокод
service_id integer ID услуги (для prebill/admin)

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=order_instance" \
--data "root_pass=MySecurePass123!" \
--data "ipv4_amount=1" \
--data "disk_mirror=RAID1" \
--data "traffic_plan=1"
Пример успешного ответа
{
"result": "OK",
"action": "order_instance",
"callback": "7bc29eb23fb1b879b21fce509597f07c",
"deploy_status": "install",
"id": 123,
"os_name": "Ubuntu 22.04 LTS",
"soft_name": "Plesk Onyx"
}
Примеры ошибок

``` { "code": -1, "message": "EQ/order_instance: invalid IP $ip" }

```

eq/ovirt_novnc

Запрашивает доступ к консоли oVirt через протокол noVNC для указанного сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: ovirt_novnc
id int ID сервера
token string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=ovirt_novnc" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "ovirt_novnc",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "oVirt noVNC console request failed" }

```

eq/reboot

Инициирует процесс перезагрузки указанного сервера. Если сервер находится в локации RU, отправляется соответствующее уведомление клиенту.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: reboot
token string Токен авторизации
id int ID сервера для перезагрузки

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=reboot" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "reboot",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "Reboot request failed" }

```

eq/reinstall

Инициирует процесс переустановки операционной системы на сервере. Создает ключ операции и ставит задачу в очередь.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
id int ID сервера для переустановки
token string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "reinstall",
"stage": "create_pxe",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "EQ/reinstall: invalid server id" }

```

eq/remove_ipmi_user

Удаляет лишних пользователей IPMI с сервера. Операция выполняется асинхронно через очередь.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: remove_ipmi_user
id int ID сервера (должен быть больше 0)
token string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=remove_ipmi_user" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "remove_ipmi_user",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "\(module/\)action: invalid server id" }

```

Инициирует процесс создания резервной копии и возвращает ссылку для скачивания или идентификатор задачи.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: request_backup_link
token string Токен авторизации пользователя
params[id] integer ID объекта (сервера или диска) для создания бэкапа

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=request_backup_link" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "request_backup_link",
"data": {
"id": 12345,
"status": "pending",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка при создании задачи резервного копирования" }

```

eq/restore_backup

Запускает процесс восстановления сервера из выбранного резервного экземпляра через очередь задач.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: restore_backup
token string Токен авторизации пользователя
id int ID сервера или ресурса для восстановления

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=restore_backup" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "restore_backup",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка при постановке задачи в очередь" }

```

eq/search

Возвращает список серверов, отфильтрованных по заданным параметрам (группа, локация, статус, IP и др.) с дополнительной информацией о пребиллинге и тегах.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: search
group array<string> Принимает несколько значений: group[]=1CPU&group[]=2CPU
dc array<int> ID дата-центра. Принимает несколько значений: dc[]=1&dc[]=2
location array<string> Код локации (например, RU, NL). Принимает несколько значений: location[]=RU&location[]=NL
rack array<string> ID стойки. Принимает несколько значений: rack[]=561&rack[]=564
status array<string> Статус сервера (rented, prepare_full и др.). Принимает несколько значений: status[]=rent&status[]=power_off
owner array<string> Владелец (Hostkey, colo и др.). Принимает несколько значений: owner[]=Hostkey&owner[]=colo
component array<int> ID аппаратных компонентов. Принимает несколько значений: component[]=345&component[]=241
type array<string> Тип оборудования (server, switch и др.). Принимает несколько значений: type[]=server&type[]=switch
ip array<string> IP-адрес. Принимает несколько значений: ip[]=11.22.33.44&ip[]=55.66.77.88
mac array<string> MAC-адрес. Принимает несколько значений: mac[]=00:1A:2B&mac[]=3C:4D:5E
account_id array<int> ID аккаунта биллинга. Принимает несколько значений: account_id[]=1&account_id[]=2
billing array<string> Язык/тип биллинга (en, ru). Принимает несколько значений: billing[]=en&billing[]=ru
email array<string> Email пользователя. Принимает несколько значений: email[]=test@test.com&email[]=user@domain.tld
name_client array<string> Имя клиента. Принимает несколько значений: name_client[]=Ivan&name_client[]=John
full boolean Возвращать полные данные (включая персональные)
kvm array<string> Параметр KVM. Принимает несколько значений: kvm[]=1&kvm[]=2
serialNumber array<string> Серийный номер. Принимает несколько значений: serialNumber[]=SN1&serialNumber[]=SN2
id array<int> ID сервера. Принимает несколько значений: id[]=101&id[]=102
token string API-токен аутентификации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=search" \
--data "token=HOSTKEY_TOKEN" \
--data "group[]=1CPU" \
--data "group[]=2CPU" \
--data "status[]=rent" \
--data "status[]=power_off"
Пример успешного ответа
{
"result": "OK",
"action": "search",
"servers": [
{
"id": 123,
"name_client": "John Doe",
"status": "active",
"owner": "Hostkey",
"ipmi_model": "Dell iDRAC 9",
"mounted_iso": "ubuntu-22.04.iso",
"is_prebill": true,
"prebill_service_id": 555,
"prebill_rate": 50.0,
"prebill_rate_total": {
"EUR": 55.0,
"RUB": 5500.0
},
"prebill_period": "month",
"project_ids": [1, 2],
"is_owner": "Hostkey"
}
]
}
Примеры ошибок

``` { "code": -1, "message": "Access denied" }

```

eq/sensors

Возвращает текущие показания сенсоров для указанного сервера. Метод является асинхронным и возвращает callback для отслеживания завершения запроса.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: sensors
id int ID сервера
token string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=sensors" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "sensors",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "EQ/sensors: invalid server id" }

```

eq/set_pin

Устанавливает PIN-код для операций.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: set_pin
token string Токен авторизации
new_pin string Новый PIN-код (4-10 символов)
old_pin string Старый PIN-код
no_pin_req string Флаг пропуска проверки PIN (true/false)

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=set_pin" \
--data "token=HOSTKEY_TOKEN" \
--data "new_pin=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "set_pin",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "invalid PIN length"
}

eq/show

Возвращает полные технические данные о сервере: конфигурацию оборудования, операционную систему, сетевые интерфейсы, IP-адреса и информацию IPMI.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
id int ID сервера для получения данных
token string API-токен аутентификации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "id=123" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"server_data": {
"id": 123,
"status": "active",
"type": "Server",
"owner": "user@example.com",
"hwconfig": "config_string",
"is_prebill": true,
"prebill_service_id": 456,
"prebill_rate": 100.0,
"prebill_rate_total": {
"EUR": 92.0,
"RUB": 10000
},
"prebill_period": "monthly",
"days_left": "5",
"due_date": "2024-12-31",
"project_ids": [
1,
2
],
"is_owner": "Colocation",
"rhr_client": 0,
"rhr_internal": 0,
"rhr_order": 0,
"sla_level": "high",
"last_backup": {
"date": "2024-01-01",
"size": "10GB"
},
"server_contacts": "contact@example.com"
},
"hardware": {
"config": "hw_config_data",
"components": [
{
"id": 10,
"name": "CPU Intel Xeon",
"priceRU": 5000,
"priceUS": 60
}
]
},
"groups": {
"groups": [
1,
2
]
},
"licenses": [
{
"id": 789,
"name": "Windows Server on IP 1.2.3.4",
"amount": 1,
"date_buy": ""
}
],
"reinstall": "",
"location": {
"rack_id": 10,
"rack_position": 5,
"rack_name": "Rack-A",
"dc_name": "DataCenter-1",
"dc_location": 1,
"location_id": 1
},
"OS": {
"name": "Ubuntu 22.04"
},
"IP": [
{
"IP": "192.168.1.1",
"tags": []
}
],
"interfaces": [
{
"id": 5,
"type": "Ethernet",
"mac": "00:1A:4B:3C:5D:6E",
"upstream_id": 12,
"IsMain": true,
"IsVirt": false,
"Status": "active",
"switch_owner": "",
"switch_model": "Cisco",
"port_of_virt_node": 0,
"tags": []
}
],
"IPMI": {
"model": "Dell iDRAC",
"interfaces": [],
"user": "admin",
"password": "password123",
"white_ip": "192.168.1.50",
"ip_acl": "",
"rule_id": ""
},
"tags": [
{
"tag": "sla_level",
"value": "high",
"internal": 1,
"extra": ""
}
],
"preset": "High Performance",
"commitment": "usage_limit_val",
"emergency": {
"active": false,
"node_id": 0,
"started_at": ""
},
"preset_description": "Optimized for high load"
}
Примеры ошибок

``` { "code": -1, "message": "Nothing found for [id]" }

```

eq/status

Возвращает текущий статус сервера по его ID. Операция является асинхронной.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: status
id int ID сервера
token string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=status" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "status",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "EQ/status: invalid server id" }

```

eq/status_check

Проверяет текущий статус оборудования по его идентификатору.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: status_check
id int Идентификатор оборудования (server_id)
token string API-токен аутентификации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=status_check" \
--data "id=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "status_check",
"data": {
"id": 123,
"status": "active",
"name": "srv-production-01",
"location": "NL"
}
}
Примеры ошибок

``` { "code": -404, "message": "Server not found" }

```

eq/suspend

Выполняет запрос на приостановку (suspend) или снятие блокировки (unsuspend) VPS/сервера. Если действие — suspend, сервер блокируется; если unsuspend — разблокируется.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Действие: suspend или unsuspend
id int ID сервера

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=suspend" \
--data "id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "suspend",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "EQ/suspend: invalid server id" }

```

eq/traffic_add

Добавляет объем трафика для услуги или сервера в систему биллинга

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: traffic_add
token string Токен авторизации
params[server_id] integer ID сервера
params[amount] number Объем трафика
new_limit string Параметр new_limit (обнаружен в коде)

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=traffic_add" \
--data "token=HOSTKEY_TOKEN" \
--data "params[server_id]=789" \
--data "params[amount]=50.5" \
--data "new_limit=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "traffic_add",
"data": {
"id": 12345,
"server_id": 789,
"amount": 50.5,
"status": "active"
}
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка при добавлении трафика" }

```

Единый поиск серверов по запросу.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: unified_server_search
token string Токен авторизации
query string Запрос поиска (строка или числовой ID)

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=unified_server_search" \
--data "token=HOSTKEY_TOKEN" \
--data "query=VALUE"
Пример успешного ответа
{
"result": "OK",
"results": {
"servers": [
{
"id": 123,
"name": "Server 1",
"owner": "user@example.com",
"status": "rent",
"billing": "en",
"type": "server"
}
]
},
"limited": {
"servers": false
},
"category": "servers"
}
Примеры ошибок
{
"code": -2,
"message": "Authentication required"
}

eq/unit_reset

Отправляет запрос на выполнение IPMI reset (перезагрузку) выбранного сервера через контроллер управления.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: unit_reset
id int ID сервера для выполнения перезагрузки
token string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=unit_reset" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "unit_reset",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "EQ/unit_reset: invalid server id", "details": "IPMI unit reset request failed:" }

```

eq/unsuspend

Запрашивает разблокировку (unsuspend) VPS или физического сервера. Если операция проходит успешно, возвращает callback для отслеживания процесса.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
id int ID сервера
token string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "unsuspend",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "Unsuspend request failed" }

```

eq/update_servers

Синхронизирует список активных и ожидающих оплаты серверов клиента, собирает ключи развертывания (deploy keys) и данные о состоянии узлов.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: update_servers
token string Токен авторизации
load_servers_only boolean Если true, возвращает только серверы (исключая IP rent)

Пример запроса

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=update_servers" \
--data "token=HOSTKEY_TOKEN" \
--data "load_servers_only=true"
Пример успешного ответа
{
"result": "OK",
"servers": [
101,
102,
105
],
"billing_servers": [
{
"id": 50,
"config": "{}",
"status": "Pending",
"regdate": "2024-01-01",
"name": "Service Name",
"recurring": "29.99",
"nextduedate": "2024-02-01",
"billingcycle": "Monthly"
}
],
"deploy_keys": {
"product_id_1": "7bc29eb23fb1b879b21fce509597f07c"
},
"prebill_deploy_keys": [
"key_val_1",
"key_val_2"
],
"prebill_pending": [],
"servers_emergency": {
"101": {
"active": true,
"node_id": 5,
"started_at": "2024-05-20T12:00:00Z"
}
}
}
Примеры ошибок

``` { "code": -1, "message": "Failed to retrive servers list, billing error: Connection timeout" }

```

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×