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

eq.php

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

Методы API

Метод Действие Описание
abort_reinstall прерывание переустановки Прерывает процесс переустановки сервера, удаляет связанные теги (reinstall_start, autodeploy_start, autodeploy_timeout) и восстанавливает настройки VLAN.
add_ipmi_admin добавление администратора IPMI Создает нового пользователя с правами администратора для управления через IPMI. Если указан admin_user, создается пользователь с заданным именем.
add_ipmi_user добавление IPMI пользователя Создает нового пользователя IPMI для сервера. Если пользователь является администратором, требуются соответствующие права.
announceip анонсирование IP Выполняет анонс IP-подсети для указанного сервера с поддержкой параметров ASN и маршрутизации.
backup_get_schedule получение расписания бэкапов Возвращает текущее расписание автоматических бэкапов для указанного сервера
backup_list получение списка бэкапов Возвращает список доступных бэкапов для указанного сервера (id).
backup_save_schedule сохранение расписания бэкапов Сохраняет настроенное расписание резервного копирования для указанного сервера
boot_dev запрос на загрузку с носителя Запрашивает перезагрузку сервера для загрузки с указанного носителя (PXE или диск) в режиме UEFI или Legacy.
check_backup_lock проверка блокировки бэкапа Проверяет, заблокирован ли процесс резервного копирования для указанного сервера. Возвращает ключ обратного вызова (callback) для асинхронной операции.
clear_pxe очистка конфигурации PXE Очищает конфигурацию PXE для указанного хоста. Если параметр full равен 1, удаляется вся конфигурация, иначе — только платформа.
create_backup создание резервной копии Инициирует процесс создания резервной копии для указанного сервера. Операция выполняется асинхронно.
create_pxe создание PXE конфигурации Запрашивает создание конфигурации для переустановки ОС через PXE. Поддерживает настройку hostname, SSH-ключей и скриптов post-install.
delete_backup удаление бэкапа Удаляет указанный бэкап сервера. Требует выполнения через асинхронную очередь.
deploy развертывание сервера Запускает процесс развертывания (деплоя) конкретного сервера по его ID или выбирает подходящий сервер из доступных для указанного пресета в выбранной локации.
get_ipmi получение данных IPMI Возвращает IP-адрес и модель интерфейса IPMI для указанного сервера. Может содержать несколько интерфейсов.
get_traffic получение данных о трафике Возвращает данные об использовании IPv4 трафика для указанного сервера
getserversforannounce получение списка серверов для анонса Возвращает список доступных серверов (статус rent или power_off), подходящих под ограничения по IP-подсетям и правам доступа пользователя.
groups получение групп Возвращает список групп для конкретного сервера
hard_off принудительное выключение Отправляет запрос на принудительное выключение сервера (Hard Stop). Если сервер находится в OpenStack, выполняется перезагрузка.
history история Возвращает историю событий сервера.
list получение списка оборудования Возвращает список доступных серверов и оборудования с поддержкой расширенного поиска по различным параметрам (локация, статус, тип, IP, MAC и др.)
off выключение Выключает сервер.
on включение Включает сервер.
order_instance заказ инстанса / переустановка Запуск процесса развертывания нового сервера из пресета или выполнение переустановки (reinstall) существующего сервера с выбором ОС и дополнительного ПО.
reboot перезагрузка сервера Отправляет запрос на перезагрузку указанного оборудования через IPMI или системные средства.
reinstall инициализация переустановки Запускает процесс подготовки к переустановке сервера, создавая ключ для выполнения операции.
remove_ipmi_user удаление IPMI пользователя Удаляет дополнительные учетные записи пользователей IPMI для указанного сервера.
request_backup_link запрос ссылки на бэкап Запрашивает временную ссылку для скачивания резервной копии сервера. Операция асинхронная, возвращает callback для отслеживания статуса.
restore_backup восстановление из бэкапа Запускает процесс восстановления сервера из указанного бэкапа. Операция асинхронная.
search поиск оборудования Возвращает список доступного или активного оборудования по различным фильтрам (группа, локация, статус, IP, MAC и др.)
sensors получение данных сенсоров Возвращает текущие показания датчиков (температура, скорость вращения и др.) для указанного сервера
show получение данных о сервере Возвращает подробную информацию о сервере, включая аппаратную конфигурацию (hwconfig), текущий статус, IP-адреса, интерфейсы и IPMI данные.
status получение статуса Возвращает текущий статус сервера, данные о его состоянии и связанные теги
suspend приостановка/разблокировка сервера Запрашивает приостановку (suspend) или разблокировку (unsuspend) VPS/сервера. Для выполнения операции требуется наличие прав доступа и, в некоторых случаях, проверка на блокировки администратором.
unified_server_search единый поиск серверов Единый поиск серверов по запросу.
unit_reset сброс IPMI устройства Запрашивает сброс (reset) IPMI-контроллера сервера. Если операция требует времени, возвращается callback для отслеживания статуса.
unsuspend разблокировка сервера Разблокирует сервер (unsuspend), если он был временно приостановлен администратором.
update_servers обновление списка серверов пользователя Обновляет список активных и ожидающих оплаты серверов для текущего пользователя, синхронизируя данные с биллингом WHMCS.

eq/abort_reinstall

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

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=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "abort_reinstall",
"id": 123
}
Примеры ошибок

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

```

eq/add_ipmi_admin

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: add_ipmi_admin
id integer ID сервера
admin_user string Имя администратора (если не указано, генерируется случайное)
admin_pass string Пароль администратора
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": "uabcde123",
"password": "secure_password_example"
}
Примеры ошибок

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

```

eq/add_ipmi_user

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/announceip

Выполняет анонс IP-подсети для указанного сервера с поддержкой параметров ASN и маршрутизации.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
id integer ID оборудования (сервера)
subnet string IP-подсеть для анонса
server string Имя сервера
subnetaddr string Адрес в подсети
subnetaddrmask string Маска адреса в подсети
asn string|boolean Номер автономной системы (можно 'own')
ownasn string|boolean Использовать собственный ASN
annonce string|boolean Флаг анонса
return string|boolean Возвращать результат
route string|boolean Параметр маршрута
cmnt string Комментарий к анонсу
checkboxes boolean Подтверждение валидности данных (ASRegistered, RKPIValid, SubNetNotSpamhaus, DataIsCorrect)
token string API-токен аутентификации

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

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

``` { "code": -2, "message": "Authentication required or invalid token" }

```

eq/backup_get_schedule

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

HTTP-метод: GET

Параметры:

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

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

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

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

```

eq/backup_list

Возвращает список доступных бэкапов для указанного сервера (id).

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/backup_save_schedule

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: backup_save_schedule
token string Токен авторизации
id int ID оборудования (сервера)
backup_schedule array Массив с настройками расписания бэкапов. Содержит ключи: days (массив 0/1), time (string HH:mm), timezone (string)

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

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

``` { "code": -2, "message": "EQ: action required" }

```

eq/boot_dev

Запрашивает перезагрузку сервера для загрузки с указанного носителя (PXE или диск) в режиме UEFI or Legacy.

HTTP-метод: POST|GET

Параметры:

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

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

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

``` { "code": -1, "message": "Bootable media change request failed: invalid server id" }

```

eq/check_backup_lock

Проверяет, заблокирован ли процесс резервного копирования для указанного сервера. Возвращает ключ обратного вызова (callback) для асинхронной операции.

HTTP-метод: POST

Параметры:

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

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

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

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

```

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 для указанного хоста. Если параметр full равен 1, удаляется вся конфигурация, иначе — только платформа.

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/console

Запрашивает доступ к консоли управления сервером (VNC/NoVNC)

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/create_backup

Инициирует процесс создания резервной копии для указанного сервера. Операция выполняется асинхронно.

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/create_pxe

Запрашивает создание конфигурации для переустановки ОС через PXE. Поддерживает настройку hostname, SSH-ключей и скриптов post-install.

HTTP-метод: POST

Параметры:

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

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

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

``` { "code": -1, "message": "Create PXE config request failed: error_details" }

```

eq/delete_backup

Удаляет указанный бэкап сервера. Требует выполнения через асинхронную очередь.

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/deploy

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: deploy
token string Токен авторизации
id integer ID конкретного сервера для деплоя. Если не указан, выбирается сервер из пресета.
preset string Название или ID пресета (если id не указан)
location integer ID локации/датацентра
hostname string Желаемое имя хоста
root_pass string Пароль root (минимум 8 символов для non-own OS)
os_id integer ID операционной системы
ssh_key string SSH публичный ключ
post_install_script string Скрипт после установки
post_install_callback string URL для callback-уведомления
deploy_data string Данные биллинга (invoice ID или email)
deploy_options string Параметры биллинга/локации
deploy_period string Период оплаты (hourly, quarterly, semi-annually, annually)
deploy_notify integer Уведомлять ли клиента (-1 - нет, 0 - да)
deploy_price string Цена деплоя (для отладки/админов)
deploy_comment string Комментарий к деплою
imitate_deploy integer Режим имитации (dry run) = 1
imitate_error integer Имитация ошибки
own_os integer Использовать собственную ОС (1 - да)
activate_windows integer Активация Windows (0/1)
custom_domain string Кастомный домен

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

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

``` { "code": -1, "message": "Deploy init for server $id failed: error message" }

```

eq/get_ipmi

Возвращает IP-адрес и модель интерфейса IPMI для указанного сервера. Может содержать несколько интерфейсов.

HTTP-метод: GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X GET \
--data "action=get_ipmi" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"ipmi": [
{
"IP": "192.168.0.100",
"MAC": "00:1A:4C:B0:58:E7",
"vendor": "Dell iDRAC"
}
]
}
Примеры ошибок

``` { "code": -1, "message": "No IPMI interfaces found" }

```

eq/get_traffic

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

HTTP-метод: POST|GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=get_traffic" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "get_traffic",
"id": 123,
"traffic": [
{
"ip": "1.2.3.4",
"volume": 50.5,
"updated": "2023-10-01",
"billed": 1,
"direction": "out"
}
]
}
Примеры ошибок

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

```

eq/get_upgrade_key

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

HTTP-метод: POST|GET

Параметры:

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

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

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",
"module": "eq",
"action": "get_upgrade_key",
"key": ""
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка запроса ключа" }

```

eq/getserversforannounce

Возвращает список доступных серверов (статус rent или power_off), подходящих под ограничения по IP-подсетям и правам доступа пользователя.

HTTP-метод: POST|GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=getserversforannounce" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "getserversforannounce",
"servers": [
{
"id": 123,
"location": "NL",
"mask_23": "255.255.254.0",
"mask_24": "255.255.255.0"
}
]
}
Примеры ошибок

``` { "code": -1, "message": "Authentication required" }

```

eq/groups

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/hard_off

Отправляет запрос на принудительное выключение сервера (Hard Stop). Если сервер находится в OpenStack, выполняется перезагрузка.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=hard_off" \
--data "token=HOSTKEY_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

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: list или search
token string Токен авторизации
id int[] Фильтр по ID серверов. Принимает несколько значений: id[]=1&id[]=2
group string[] Фильтр по группам оборудования. Принимает несколько значений: group[]=1CPU&group[]=2CPU
location string[] Фильтр по локациям (например, RU, NL). Принимает несколько значений: location[]=RU&location[]=NL
status string[] Фильтр по статусам. Принимает несколько значений: status[]=rent&status[]=power_off
type string[] Тип оборудования (server, switch и т.д.). Принимает несколько значений: type[]=server&type[]=switch
ip string[] Фильтр по IP адресу. Принимает несколько значений: ip[]=1.2.3.4&ip[]=5.6.7.8
email string[] Фильтр по email владельца. Принимает несколько значений: email[]=user@test.com&email[]=admin@test.com
full boolean Возвращать полную информацию (для администраторов)
mac string[] Фильтр по MAC адресу
account_id int[] Фильтр по ID аккаунта (billing identity)

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=list" \
--data "id[]=123" \
--data "location[]=RU" \
--data "status[]=rent"
Пример успешного ответа
{
"result": "OK",
"servers": [
{
"id": 123,
"status": "rent",
"hostname": "server-01.hostkey.com",
"is_prebill": true,
"prebill_service_id": 456,
"prebill_rate": 10.5,
"prebill_period": "monthly",
"project_ids": [
1,
2
],
"mounted_iso": ""
}
]
}
Примеры ошибок

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

```

eq/off

Выключает сервер.

HTTP-метод: POST

Параметры:

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

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

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

eq/on

Включает сервер.

HTTP-метод: POST

Параметры:

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

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

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

eq/order_instance

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: order_instance
token string Токен авторизации
id integer ID существующего сервера (для переустановки)
preset string ID или имя пресета для заказа нового инстанса
root_pass string Пароль root (не должен содержать @ или #)
os_template string Шаблон ОС для деплоя из шаблона
soft_id integer ID дополнительного программного обеспечения
ssh_key string SSH публичный ключ
post_install_script string Скрипт после установки
post_install_callback string Callback URL для завершения установки
hostname string Имя хоста
vlan integer ID приватного VLAN
root_size integer Размер корневого раздела (GB)
ipv4_amount integer Количество IPv4 адресов
custom_domain string Кастомный домен
traffic_plan integer ID тарифного плана трафика
deploy_period string Период оплаты (hourly, quarterly, semi-annually, annually)
deploy_notify integer Уведомление о деплое (-1 - выключить)
deploy_options string Админские параметры деплоя (для admin edition)
deploy_data string Данные для WHMCS/Billing

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=order_instance" \
--data "token=YOUR_TOKEN" \
--data "root_pass=SecurePass123!" \
--data "preset=ubuntu-2204-standard"
Пример успешного ответа
{
"result": "OK",
"action": "order_instance",
"callback": "7bc29eb23fb1b879b21fce509597f07c",
"deploy_status": "install",
"id": 123,
"os_name": "Ubuntu 22.04 LTS",
"soft_name": "Docker"
}
Примеры ошибок

``` { "code": -1, "message": "Reinstall init for server 123 failed: error message" }

```

eq/ovirt_novnc

Запрашивает запуск консоли NoVNC для сервера через oVirt. Возвращает callback-ключ для асинхронного выполнения.

HTTP-метод: POST

Параметры:

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

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

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

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/reinstall

Запускает процесс подготовки к переустановке сервера, создавая ключ для выполнения операции.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--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
token string Токен авторизации
id integer ID сервера

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

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

``` { "code": -1, "message": "action: error message" }

```

Запрашивает временную ссылку для скачивания резервной копии сервера. Операция асинхронная, возвращает callback для отслеживания статуса.

HTTP-метод: POST

Параметры:

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

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

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

``` { "code": -1, "message": "Request failed" }

```

eq/restore_backup

Запускает процесс восстановления сервера из указанного бэкапа. Операция асинхронная.

HTTP-метод: POST

Параметры:

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

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

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

``` { "code": -1, "message": "Request failed: error_message" }

```

eq/search

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
group[] array<string> Группы оборудования (через запятую)
dc[] array<int> ID дата-центра
location[] array<string> Код локации (RU, NL и т.д.)
rack[] array<int> ID стойки
status[] array<string> Статус сервера (rented, prepare_full и т.д.)
owner[] array<string> Владелец оборудования
component[] array<int> ID аппаратных компонентов
type[] array<string> Тип оборудования (server, switch)
ip[] array<string> Поиск по IP-адресу
mac[] array<string> Поиск по MAC-адресу
account_id[] array<int> ID аккаунта в биллинге
billing[] array<string> Регион биллинга (en/ru)
email[] array<string> Поиск по email клиента
id[] array<int> ID оборудования
token string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--data "group[]=group1" \
--data "status[]=rented" \
--data "ip[]=192.168.1.1"
Пример успешного ответа
{
"result": "OK",
"servers": [
{
"id": 123,
"status": "rent",
"hostname": "srv-01.hostkey.com",
"location": {
"dc_location": -1,
"rack_id": 564
},
"is_prebill": false,
"ipmi_model": "none",
"mounted_iso": "",
"project_ids": []
}
]
}
Примеры ошибок

``` { "code": -1, "message": "EQ/search: invalid request" }

```

eq/sensors

Возвращает текущие показания датчиков (температура, скорость вращения и др.) для указанного сервера

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
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

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

HTTP-метод: POST|GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=show" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"server_data": {
"id": 123,
"status": "rent",
"Condition_Component": "power_off",
"owner": "ddevops@hostkey.com",
"type": "Server",
"hostname": "srv-01",
"ipmi": {
"model": "",
"interfaces": []
},
"os": {},
"IP": [],
"interfaces": [],
"tags": [],
"preset": null,
"commitment": ""
},
"hardware": {},
"groups": {
"groups": []
},
"licenses": [],
"reinstall": "",
"location": {
"rack_id": 123,
"dc_name": "Amsterdam",
"dc_location": -1,
"location_id": -1
}
}
Примеры ошибок

``` { "code": -1, "message": "Nothing found for 123" }

```

eq/status

Возвращает текущий статус сервера, данные о его состоянии и связанные теги

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": "string"
}
Примеры ошибок

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

```

eq/status_check

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=status_check"
Пример успешного ответа
{
"data": [
"User @admin changed [Hostkey PREPARE_FAST VPS US] 's status `PREPARE_FAST` -> `TT` for [ticket_id](link) (no ticket) 5 days ago: description"
]
}
Примеры ошибок

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

```

eq/suspend

Запрашивает приостановку (suspend) или разблокировку (unsuspend) VPS/сервера. Для выполнения операции требуется наличие прав доступа и, в некоторых случаях, проверка на блокировки администратором.

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/traffic_add

Увеличивает лимит исходящего трафика для сервера и создает соответствующий счет в WHMCS.

HTTP-метод: POST

Параметры:

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

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

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

``` { "code": -1, "message": "EQ/traffic_add: invalid new_limit" }

```

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

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

Запрашивает сброс (reset) IPMI-контроллера сервера. Если операция требует времени, возвращается callback для отслеживания статуса.

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": "IPMI unit reset request failed: error_details" }

```

eq/unsuspend

Разблокирует сервер (unsuspend), если он был временно приостановлен администратором.

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/update_servers

Обновляет список активных и ожидающих оплаты серверов для текущего пользователя, синхронизируя данные с биллингом WHMCS.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: update_servers
token string Токен авторизации
show_products int Флаг отображения продуктов (1 - показывать)
load_servers_only string Загружать только серверы (true/false)

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=update_servers" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"servers": [
101,
102
],
"billing_servers": [],
"deploy_keys": {},
"prebill_pending": []
}
Примеры ошибок

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

```

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