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

eq.php

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

Методы API

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

eq/abort_reinstall

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: abort_reinstall
id integer 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 для указанного оборудования. Если пользователь уже существует, возвращает его учетные данные.

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": "uabcde1",
"password": "SecurePassword123!"
}
Примеры ошибок

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

```

eq/add_ipmi_user

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

HTTP-метод: POST

Параметры:

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

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

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

Выполняет процедуру объявления (announcement) указанного подсетевого диапазона для сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
id integer ID оборудования/сервера
subnet string Подсеть для объявления
server boolean Флаг использования сервера
subnetaddr string Адрес в подсети
subnetaddrmask string Маска адреса в подсети
asn string|boolean Номер автономной системы (можно передать 'own')
ownasn boolean Использовать собственный ASN
annonce boolean Флаг объявления
return boolean Возвращать результат
route 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 "checkboxes=true" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "announceip",
"servers": [
{
"id": 123,
"location": "NL",
"mask_24": "1.2.3.0/24",
"server_mask_23": "1.2.3.0/23"
}
]
}
Примеры ошибок

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

```

eq/backup_get_schedule

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

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: backup_get_schedule
token string Токен авторизации
id integer 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",
"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

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

HTTP-метод: POST

Параметры:

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

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

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 integer ID оборудования (сервера)
backup_schedule object Объект с настройками расписания: days (array), time (string), 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[days][]=monday" \
--data "backup_schedule[days][]=tuesday" \
--data "backup_schedule[time]=03:00" \
--data "backup_schedule[timezone]=Europe/Moscow"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "backup_save_schedule"
}
Примеры ошибок

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

```

eq/boot_dev

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/check_backup_lock

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

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 Authentication token
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",
"action": "clear_pxe",
"callback": "string"
}
Примеры ошибок

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

```

eq/console

Запрашивает запуск консоли управления сервером через IPMI/NoVNC.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=console" \
--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 int 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-example",
"traceKey": "uuid-string-example"
}
Примеры ошибок

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

```

eq/create_pxe

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: create_pxe
token string Токен авторизации
id int ID сервера
root_pass string Пароль root
os_id int ID операционной системы (Foreman ID)
hostname string Имя хоста
ssh_key string SSH публичный ключ
post_install_script string Скрипт после установки
post_install_callback string URL для обратного вызова после завершения
reinstall_key string Ключ переустановки
email string Email пользователя
os_name string Алиас ОС
disk_mirror int Зеркалирование диска (0 или 1)
activate_windows int Активация Windows (0/1)
uefi int Режим загрузки UEFI (0/-1/1)
attendedInstall string Атрибут автоматической установки
root_size int Размер корневого раздела (GB)
deploy_ticket string ID тикета Kayako для админской версии
ignore_duplicated_install int Игнорировать дубликаты установки (для админов)
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 "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "root_pass=VALUE" \
--data "os_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "create_pxe",
"callback": "string"
}
Примеры ошибок

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

```

eq/delete_backup

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/deploy

Запускает процесс развертывания (деплоя) выбранного сервера или пресета. Поддерживает выбор ОС, настройку hostname, SSH-ключей и параметров диска.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: deploy
token string Токен авторизации
id integer ID конкретного сервера для деплоя
preset string Название пресета (если id не указан)
location integer ID локации/датацентра
hostname string Имя хоста для сервера
os_id integer ID операционной системы
root_pass string Пароль root (минимум 8 символов)
ssh_key string SSH публичный ключ
post_install_script string Скрипт после установки
post_install_callback string URL для callback-уведомления
deploy_data string Данные биллинга (invoice ID или email)
deploy_options string Опции деплоя (например, whmcs location)
deploy_price number Цена деплоя
deploy_period string Период оплаты (hourly, monthly, quarterly, semi-annually, annually)
imitate_deploy integer Режим имитации (dry run) (0 или 1)
imitate_error integer Имитация ошибки деплоя
own_os integer Использовать собственную ОС (0 или 1)
activate_windows integer Активация Windows (0 или 1)
os_activation_code string Код активации ОС
uefi integer Режим загрузки UEFI (0 or 1)
attendedInstall integer Автоматическая установка
jenkins_task integer ID задачи Jenkins
jenkins_tests integer Тесты Jenkins
traffic_plan integer ID тарифного плана трафика
disk_mirror string Зеркалирование дисков (RAID)
deploy_comment string Комментарий к деплою
invoice_relid integer ID связанного инвойса
no_lvm integer Отключить LVM (0 или 1)
ipv4_amount integer Количество IPv4 адресов
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=SecurePassword123!" \
--data "deploy_data=INV-12345" \
--data "deploy_options=whmcs" \
--data "deploy_period=monthly" \
--data "traffic_plan=10" \
--data "ipv4_amount=1"
Пример успешного ответа
{
"result": "OK",
"action": "deploy",
"callback": "key_value",
"ticket": "ticket_id"
}
Примеры ошибок

``` { "code": -1, "message": "EQ/deploy: Empty billing data." }

```

eq/get_ipmi

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

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_ipmi
id integer 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.1.100",
"MAC": "00:1A:4C:B0:00:01",
"vendor": "Supermicro"
}
]
}
Примеры ошибок

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

```

eq/get_traffic

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

HTTP-метод: POST|GET

Параметры:

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

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

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

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

```

eq/get_upgrade_key

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

HTTP-метод: POST|GET

Параметры:

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

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

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

``` { "code": 0, "message": "EQ/get_upgrade_key: invalid invoice id or no upgrade key found" }

```

eq/getserversforannounce

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

HTTP-метод: POST|GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=getserversforannounce"
Пример успешного ответа
{
"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": "EQ/getserversforannounce is disabled for this subaccount." }

```

eq/groups

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/hard_off

Отправляет запрос на немедленное (жесткое) выключение оборудования через IPMI/контроллер.

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=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

Возвращает список доступных серверов и оборудования с поддержкой расширенного поиска по различным параметрам (локация, статус, тип, 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

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Имя действия (order_instance)
token string Токен авторизации
id integer ID существующего сервера (для переустановки/reinstall)
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 URL для callback-уведомления
hostname string Имя хоста
reinstall_key string Ключ переустановки
email string Email пользователя
deploy_data string Данные для деплоя (например, email или ID инвойса)
deploy_options string Параметры деплоя (локация WHMCS)
deploy_period string Период оплаты (hourly, quarterly, semi-annually, annually)
deploy_notify integer Уведомлять ли о деплое (-1 - нет, 0 - да)
os_name string Алиас ОС
deploy_ticket string ID тикета Kayako для привязки к деплою
imitate_error integer Имитация ошибки (0 - нет)
imitate_deploy integer Dry run режим (1 - да)
own_os integer Использовать собственную ОС (1 - да)
jenkins_task integer ID задачи Jenkins
jenkins_tests integer Количество тестов Jenkins
traffic_plan integer ID тарифного плана трафика
disk_mirror string Зеркалирование дисков (например, 1)
deploy_comment string Комментарий к деплою
custom_domain string Кастомный домен
vlan integer ID приватного VLAN
ipv4_amount integer Количество IPv4 адресов
no_lvm integer Не использовать LVM (1 - да)
promocode string Промо코드

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

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

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

```

eq/ovirt_novnc

Запрашивает запуск консоли NoVNC для сервера в среде oVirt. Требует авторизации и наличия прав на управление оборудованием.

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/reboot

Отправляет запрос на перезагрузку оборудования по указанному ID. Если сервер находится в режиме ожидания, может потребоваться выполнение через 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=12345"
Пример успешного ответа
{
"result": "OK",
"action": "reboot",
"callback": "string"
}
Примеры ошибок

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

```

eq/reinstall

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=reinstall" \
--data "id=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"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 integer ID сервера
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": "EQ/remove_ipmi_user: action: error message" }

```

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/restore_backup

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/search

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
params[group] array<string> Фильтр по группе (например: 1CPU, 2CPU)
params[location] array<string> Код локации (например: RU, NL)
params[rack] array<string> ID стойки
params[status] array<string> Статус сервера (например: sale, prepare_full)
params[owner] array<string> Владелец оборудования
params[component] array<int> ID аппаратного компонента
params[type] array<string> Тип оборудования (server, switch и т.д.)
params[ip] array<string> Поиск по IP адресу
params[mac] array<string> Поиск по MAC-адресу
params[account_id] array<int> ID аккаунта в биллинге
params[billing] array<string> Регион биллинга (en/ru)
params[email] array<string> Поиск по email клиента
params[name_client] array<string> Имя клиента
params[full] boolean Возвращать полные данные (true/false)
params[kvm] array<string> Фильтр по наличия KVM
params[serialNumber] array<string> Поиск по серийному номеру
params[id] array<int> Фильтр по ID оборудования
token string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "params[group][]=1CPU" \
--data "params[location][]=RU" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"servers": [
{
"id": 123,
"name_server": "srv-01",
"owner": "Hostkey",
"status": "sale",
"billing": "en",
"type": "Server",
"location": "NL",
"ip": [
{
"IP": "1.2.3.4",
"Status": "active"
}
],
"project_ids": [],
"mounted_iso": "",
"is_prebill": false,
"prebill_service_id": null,
"prebill_rate": 0.0,
"prebill_period": ""
}
]
}
Примеры ошибок

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

```

eq/sensors

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

HTTP-метод: POST

Параметры:

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

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

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

``` { "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-метод: GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X GET \
--data "action=show" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"server_data": {
"id": 123,
"status": "rent",
"Condition_Component": "power_on",
"hostname": "srv-01.hostkey.com",
"owner": "user@example.com",
"type": "Server",
"is_prebill": false,
"project_ids": [
1,
2
],
"days_left": "",
"due_date": "",
"server_contacts": null,
"sla_level": null,
"last_backup": {
"date": "string",
"size": "string"
},
"prebill_service_id": null,
"name_client": "string"
},
"hardware": {
"cpu": "Intel Xeon E5-2680 v4",
"ram": "64GB",
"hdd": "2x960GB SSD"
},
"groups": [
{
"tag": "group_name",
"value": "premium"
}
],
"licenses": [],
"reinstall": "",
"location": {
"rack_id": 10,
"rack_position": 5,
"rack_name": "Rack-A",
"dc_name": "Amsterdam",
"dc_location": 2,
"location_id": 45
},
"OS": {
"id": 10,
"name": "Ubuntu 22.04 LTS",
"active": 1
},
"IP": [
{
"IP": "192.168.1.1",
"mac": "00:1A:2B:3C:4D:5E",
"type": "IPv4"
}
],
"interfaces": [
{
"id": 1,
"type": "eth0",
"mac": "00:1A:2B:3C:4D:5E",
"IsMain": true,
"Status": "up",
"port_of_virt_node": 0,
"tags": []
}
],
"IPMI": {
"model": "",
"interfaces": [],
"user": "",
"password": "",
"white_ip": "",
"ip_acl": "",
"rule_id": ""
},
"tags": [
{
"tag": "server_name",
"value": "my-server"
}
],
"preset": null,
"commitment": ""
}
Примеры ошибок

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

```

eq/status

Возвращает текущий статус оборудования и связанные с ним данные (IP, интерфейсы, IPMI, теги)

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": "Status request failed" }

```

eq/status_check

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/suspend

Запрашивает приостановку (suspend) или разблокировку (unsuspend) VPS/сервера. Если действие unsuspend, сервер будет разблокирован.

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/traffic_add

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

HTTP-метод: POST

Параметры:

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

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

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

``` { "code": -1, "message": "\(module/\)action: 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-интерфейса указанного сервера.

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 API-токен аутентификации
servers[] int[] Список ID серверов для синхронизации
load_servers_only string Если true, возвращает только не-IP серверы

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=update_servers" \
--data "token=HOSTKEY_TOKEN" \
--data "servers[]=101" \
--data "servers[]=102"
Пример успешного ответа
{
"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
ИИ Помощник ×