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

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 сервера. Если указан admin_user, создается учетная запись с правами администратора.
announceip анонсирование IP-подсети Выполняет анонс указанной подсети или конкретного IP-адреса для сервера через BGP.
backup_get_schedule получение расписания бэкапов Возвращает список запланированных задач резервного копирования для указанного сервера
backup_list получение списка бэкапов Возвращает список доступных резервных копий для указанного сервера
backup_save_schedule сохранение расписания бэкапов Сохраняет настроенное расписание резервного копирования для указанного сервера
boot_dev загрузка с носителя Запрос на загрузку сервера со специфического носителя (PXE или диск) в зависимости от выбранного режима.
check_backup_lock проверка блокировки бэкапа Проверяет наличие активной блокировки на выполнение операций с бэкапом для указанного сервера.
clear_pxe очистка PXE конфигурации Очищает текущую PXE конфигурацию для указанного хоста
create_backup создание резервной копии Инициирует процесс создания резервной копии для указанного сервера. Операция выполняется асинхронно через очередь задач.
create_pxe создание PXE-конфигурации для переустановки Подготавливает конфигурацию для установки ОС через PXE. Включает настройку параметров загрузки, SSH-ключей и скриптов post-install.
delete_backup удаление бэкапа Удаляет указанный бэкап сервера. Требуется наличие прав доступа к серверу.
deploy развертывание сервера Запускает процесс развертывания (деплоя) выбранного оборудования или пресета на основе предоставленных параметров конфигурации.
get_ipmi получение IPMI интерфейсов Возвращает список доступных IPMI интерфейсов сервера, включая их IP-адреса и модель (vendor).
get_traffic получение данных о трафике Возвращает данные об использовании IPv4 трафика для указанного сервера
getserversforannounce получение серверов для анонса Возвращает список активных (rent, power_off) серверов пользователя, которые прошли проверку на соответствие лимитам масок подсетей (/23 и /24).
groups получение групп Возвращает список групп для указанного сервера
hard_off принудительное выключение сервера Отправляет запрос на принудительное (жесткое) выключение оборудования по указанному ID.
history история Возвращает историю событий сервера.
list список Возвращает список оборудования по различным критериям поиска.
off выключение Выключает сервер.
on включение Включает сервер.
order_instance заказ инстанса Запуск процесса заказа нового сервера или переустановки существующего (reinstall) с выбором ОС, софта и параметров сети.
reboot перезагрузка сервера Отправляет запрос на перезагрузку оборудования по указанному ID. Если запрос выполняется успешно, возвращается callback для отслеживания задачи.
reinstall инициализация переустановки Создает ключ для процесса переустановки сервера и подготавливает этап создания PXE-конфигурации.
remove_ipmi_user удаление пользователя IPMI Удаляет дополнительные учетные записи пользователей IPMI для указанного сервера.
request_backup_link запрос ссылки на бэкап Запрашивает генерацию временной ссылки для скачивания резервной копии сервера.
restore_backup восстановление из бэкапа Запускает процесс восстановления сервера из указанного бэкапа. Операция асинхронная, возвращает callback для отслеживания статуса.
search поиск оборудования Возвращает список доступного оборудования (серверов, VPS и др.) на основе заданных фильтров. Поддерживает поиск по ID, IP, MAC-адресу, владельцу, локации, типу и другим параметрам.
sensors получение данных сенсоров Возвращает текущие показания датчиков для указанного сервера.
show получение данных о сервере Возвращает полные данные о сервере, включая аппаратную конфигурацию (hardware), операционную систему, IP-адреса, интерфейсы и IPMI.
status получение статуса оборудования Возвращает текущий статус сервера и данные о его состоянии через IPMI/консоль
suspend приостановка сервера Запрашивает приостановку (suspend) или разблокировку (unsuspend) VPS/сервера. Требуется наличие прав доступа и проверка на блокировки.
unified_server_search единый поиск серверов Единый поиск серверов по запросу.
unit_reset сброс IPMI модуля Запрашивает сброс устройства (IPMI reset) для указанного сервера.
unsuspend разблокировка сервера Запрос на снятие блокировки (unsuspend) с сервера. Если запрос прошел успешно, сервер будет разблокирован.
update_servers обновление списка серверов Обновляет список активных и ожидающих развертывания серверов для пользователя, включая данные о пребиллинге и ключи деплоя.

eq/abort_reinstall

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=abort_reinstall" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123"
Пример успешного ответа
{
"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
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_admin" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345" \
--data "admin_user=my_admin" \
--data "admin_pass=MySecretPass!"
Пример успешного ответа
{
"result": "OK",
"action": "add_ipmi_admin",
"user": "uabcde",
"password": "SecurePassword123!"
}
Примеры ошибок

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

```

eq/add_ipmi_user

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Действие (add_ipmi_user или add_ipmi_admin)
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=12345" \
--data "admin_user=new_admin" \
--data "admin_pass=secure_password"
Пример успешного ответа
{
"result": "OK",
"action": "add_ipmi_user",
"callback": "string"
}
Примеры ошибок

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

```

eq/announceip

Выполняет анонс указанной подсети или конкретного IP-адреса для сервера через BGP.

HTTP-метод: POST|GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "id=123" \
--data "route=some_route" \
--data "checkboxes=true" \
--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 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",
"module": "eq",
"action": "backup_get_schedule",
"days": [0, 0, 0, 0, 0, 0, 0],
"time": "",
"timezone": ""
}
Примеры ошибок

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

```

eq/backup_list

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: backup_list
id int 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 array Массив с настройками расписания бэкапов (days, time, timezone)

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

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]=mon,wed,fri" \
--data "backup_schedule[0][time]=03:00" \
--data "backup_schedule[0][timezone]=UTC"
Пример успешного ответа
{
"result": "OK",
"action": "backup_save_schedule"
}
Примеры ошибок

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

```

eq/boot_dev

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

HTTP-метод: POST|GET

Параметры:

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

```

eq/check_backup_lock

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

HTTP-метод: POST

Параметры:

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

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

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

```

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" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "create_backup",
"callback": "7bc29eb23fb1b879b21fce509597f07c",
"traceKey": "550e8400-e29b-41d4-a716-446655440000"
}
Примеры ошибок

``` { "code": -1, "message": "Access denied or invalid server id" }

```

eq/create_pxe

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

HTTP-метод: POST

Параметры:

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

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

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 int ID оборудования (сервера)
name string Имя бэкапа для удаления

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

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

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

```

eq/deploy

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: deploy
token string Токен авторизации
id integer ID сервера или пресета
preset string Название пресета для деплоя
location integer ID локации (датацентра)
hostname string Имя хоста для сервера
root_pass string Пароль root
os_id integer ID операционной системы
ssh_key string SSH публичный ключ
post_install_script string Скрипт после установки
post_install_callback string URL для обратного вызова (callback)
deploy_data string Данные биллинга/инвойса
deploy_options string Опции деплоя (например, локация WHMCS)
os_name string Имя ОС
deploy_period string Период оплаты (hourly, quarterly, semi-annually, annually)
ipv4_amount integer Количество IPv4 адресов
custom_domain string Кастомный домен

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

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

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

```

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",
"action": "get_ipmi",
"ipmi": [
{
"IP": "192.168.1.100",
"MAC": "00:1A:4C:00:11:22",
"vendor": "Supermicro"
}
]
}
Примеры ошибок

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

```

eq/get_traffic

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

HTTP-метод: GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X GET \
--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": "in"
}
]
}
Примеры ошибок

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

```

eq/get_upgrade_key

Возвращает ключ апгрейда (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",
"action": "get_upgrade_key",
"key": ""
}
Примеры ошибок

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

```

eq/getserversforannounce

Возвращает список активных (rent, power_off) серверов пользователя, которые прошли проверку на соответствие лимитам масок подсетей (/23 и /24).

HTTP-метод: POST|GET

Параметры:

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

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

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": "1.2.3.0/23",
"mask_24": "1.2.3.0/24"
}
]
}
Примеры ошибок

``` { "result": -2, "error": "EQ: action required" }

```

eq/groups

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

HTTP-метод: POST|GET

Параметры:

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

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

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

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

```

eq/hard_off

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

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

``` { "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
token string Токен авторизации
group string Группа оборудования
dc string Дата-центр
location string Локация
rack string Рэк
status string Статус
owner string Владелец
component string Компонент
type string Тип оборудования
ip string IP адрес
mac string MAC адрес
account_id string ID аккаунта
billing string Биллинг
email string Email
name_client string Имя клиента
full int Полная информация
kvm string KVM
serialNumber string Серийный номер
id string ID

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=list" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"servers": [
{
"id": 123,
"name": "Server 1",
"status": "rent",
"location": "NL",
"project_ids": [
1,
2
]
}
]
}
Примеры ошибок
{
"code": -1,
"message": "invalid request"
}

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 int ID существующего сервера для переустановки
preset string ID или имя пресета для заказа нового инстанса
root_pass string Пароль root (не должен содержать @ или #)
os_template string Шаблон ОС для деплоя из шаблона
soft_id int ID дополнительного ПО
ssh_key string SSH ключ пользователя
post_install_script string Скрипт после установки
hostname string Имя хоста
root_size int Размер корневого раздела (GB)
email string Email для уведомлений/деплоя
deploy_period string Период оплаты (hourly, quarterly, semi-annually, annually)
ipv4_amount int Количество IPv4 адресов
vlan int ID приватного VLAN
custom_domain string Кастомный домен
traffic_plan int ID тарифного плана трафика

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

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

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

```

eq/reboot

Отправляет запрос на перезагрузку оборудования по указанному ID. Если запрос выполняется успешно, возвращается callback для отслеживания задачи.

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

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

```

eq/reinstall

Создает ключ для процесса переустановки сервера и подготавливает этап создания PXE-конфигурации.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq" -X POST \
--data "action=reinstall" \
--data "token=YOUR_TOKEN" \
--data "id=12345"
Пример успешного ответа
{
"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": "key_value"
}
Примеры ошибок

``` { "code": -1, "message": "EQ/remove_ipmi_user: action: error_details" }

```

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

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

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

```

eq/restore_backup

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

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": "Ошибка выполнения операции восстановления" }

```

eq/search

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Имя действия (search)
token string Токен авторизации
id[] int[] Фильтр по ID серверов
location string|int Локация (код или ID)
status[] string[] Фильтр по статусу (например: sale, presale, prepare_full, rent, power_off, TT)
type[] string[] Тип оборудования (server, switch и т.д.)
ip[] string[] Поиск по IP-адресу
email[] string[] Фильтр по email клиента
full boolean Возвращать полные данные сервера (true/false)
mac[] string[] Поиск по MAC-адресу
owner[] string[] Фильтр по владельцу (Hostkey, colo и т.д.)

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=search" \
--data "token=YOUR_TOKEN" \
--data "status[]=sale" \
--data "status[]=rent" \
--data "id[]=123" \
--data "id[]=456"
Пример успешного ответа
{
"result": "OK",
"servers": [
{
"id": 123,
"name_server": "example-host",
"owner": "Hostkey",
"status": "sale",
"type": "Server",
"location": "NL",
"is_prebill": false,
"project_ids": []
}
]
}
Примеры ошибок

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

```

eq/sensors

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

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

Возвращает полные данные о сервере, включая аппаратную конфигурацию (hardware), операционную систему, 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",
"type": "Server",
"owner": "ddevops@hostkey.com",
"Condition_Component": "rent",
"hostname": "srv-01",
"is_prebill": false,
"days_left": "",
"due_date": "",
"project_ids": [],
"name_client": ""
},
"hardware": {
"cpu": 8,
"ram": 32,
"hdd": 500,
"components": [
{
"Type": "CPU",
"Count": 1,
"Cores": 8
}
]
},
"groups": [],
"location": {
"rack_id": 10,
"rack_position": 5,
"rack_name": "Rack-A",
"dc_name": "DataCenter-1",
"dc_location": 1,
"location_id": 1
},
"OS": {
"id": 312,
"name": "Ubuntu 22.04 LTS",
"active": 1
},
"IP": [
{
"IP": "192.168.1.10",
"status": "active",
"tags": []
}
],
"interfaces": [],
"IPMI": {
"model": "Dell iDRAC",
"interfaces": [],
"user": "",
"password": "",
"white_ip": "",
"ip_acl": "",
"rule_id": ""
},
"tags": [
{
"tag": "server_name",
"value": "srv-01"
}
],
"preset": null,
"commitment": "",
"licenses": [],
"reinstall": ""
}
Примеры ошибок

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

```

eq/status

Возвращает текущий статус сервера и данные о его состоянии через IPMI/консоль

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/status_check

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

HTTP-метод: POST|GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=status_check" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"data": [
"User @admin changed [Server Name]('https://host/admin/?eq:123')'s status `POWER_OFF` -> `RESERVE` for [Ticket #123](https://ticket.link) 5 days ago: description"
]
}
Примеры ошибок

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

```

eq/suspend

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: suspend
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|GET

Параметры:

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

Запрашивает сброс устройства (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": "IPMI unit reset request failed: error_details" }

```

eq/unsuspend

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/update_servers

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string Токен авторизации
action string Действие
servers[] int[] Список ID серверов для обновления
show_products int Показывать продукты (0/1)

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--data "servers[]=1024" \
--data "servers[]=1025"
Пример успешного ответа
{
"result": "OK",
"servers": [
1024,
1025
],
"billing_servers": [
{
"id": 50,
"status": "Pending"
}
],
"deploy_keys": {
"7bc29eb23fb1b879b21fce509597f07c": "value"
},
"prebill_pending": []
}
Примеры ошибок

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

```

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