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

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) указанной подсети для сервера с определенным ASN.
backup_get_schedule получение расписания бэкапов Возвращает текущее расписание автоматических бэкапов для указанного сервера
backup_list получение списка бэкапов Возвращает список доступных резервных копий для указанного оборудования (сервера)
backup_save_schedule сохранение расписания бэкапов Сохраняет настроенное расписание резервного копирования для указанного сервера
boot_dev запуск загрузки с носителя Запрашивает запуск сервера с указанного типа носителя (PXE или диск) в режиме UEFI или Legacy.
check_backup_lock проверка блокировки бэкапа Проверяет наличие активной блокировки для выполнения операций с резервными копиями сервера.
clear_pxe очистка PXE конфигурации Очищает текущую PXE конфигурацию для указанного хоста.
create_backup создание резервной копии Инициирует процесс создания резервной копии для указанного сервера. Операция выполняется асинхронно через очередь.
create_pxe подготовка PXE конфигурации для переустановки Создает конфигурацию для загрузки по сети (PXE) с целью установки выбранной ОС на сервер. Поддерживает настройку hostname, SSH-ключей и скриптов post-install.
delete_backup удаление бэкапа Удаляет указанный бэкап сервера. Требуется имя бэкапа.
deploy развертывание сервера Запускает процесс развертывания (деплоя) конкретного сервера по его ID или пресета в указанной локации. Поддерживает выбор ОС, настройку SSH-ключей и скриптов post-install.
get_ipmi получение IPMI данных сервера Возвращает IP-адрес и модель интерфейса IPMI для указанного сервера. Может содержать несколько интерфейсов.
get_traffic получение трафика Возвращает данные об IPv4 трафике для указанного сервера
getserversforannounce получение серверов для анонса Возвращает список доступных серверов (rent или power_off), подходящих под ограничения по IP-подсетям и маскам, для выполнения процедуры анонса.
groups получение групп Возвращает список групп для указанного сервера
hard_off принудительное выключение Выполняет принудительное выключение сервера (Hard Off). Если сервер находится в OpenStack, выполняется принудительная перезагрузка.
history история Возвращает историю событий сервера.
list получение списка оборудования Возвращает список доступных серверов и оборудования с поддержкой расширенного поиска по различным параметрам (локация, статус, тип, IP, MAC и др.)
off выключение Выключает сервер.
on включение Включает сервер.
order_instance заказ инстанса / переустановка Запуск процесса заказа нового сервера по пресету или выполнение переустановки (reinstall) существующего сервера с выбором ОС и дополнительного ПО.
reboot перезагрузка сервера Отправляет запрос на перезагрузку оборудования. Если сервер находится в режиме ожидания, может потребоваться выполнение через IPMI.
reinstall инициализация переустановки Создает ключ для начала процесса переустановки сервера и ставит задачу в очередь.
remove_ipmi_user удаление IPMI пользователя Удаляет дополнительные учетные записи пользователей IPMI для указанного сервера.
request_backup_link запрос ссылки на бэкап Запрашивает временную ссылку для скачивания резервной копии сервера.
restore_backup восстановление из бэкапа Инициирует процесс восстановления сервера из указанного бэкапа. Метод является асинхронным и возвращает callback для отслеживания выполнения задачи.
search поиск оборудования Возвращает список доступного или активного оборудования по различным фильтрам (группа, локация, статус, IP, MAC и др.)
sensors получение данных сенсоров Возвращает данные о состоянии сенсоров для указанного сервера
show получение данных о сервере Возвращает подробную информацию о сервере, включая аппаратное обеспечение (hwconfig), операционную систему, IP-адреса, интерфейсы и IPMI.
status получение статуса Возвращает текущий статус сервера, данные о его состоянии и доступные параметры управления
suspend приостановка/разблокировка сервера Запрашивает приостановку (suspend) или разблокировку (unsuspend) VPS/сервера. Для выполнения операции требуется наличие прав доступа и, в некоторых случаях, проверка на блокировки администратором.
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
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
id int ID оборудования (сервера)
admin_user string Имя администратора IPMI
admin_pass string Пароль администратора IPMI
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": "uabcde",
"password": "secure_password_123"
}
Примеры ошибок

``` { "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 int ID оборудования (сервера)
admin_user string Имя администратора IPMI
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) указанной подсети для сервера с определенным ASN.

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/backup_get_schedule

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

HTTP-метод: GET

Параметры:

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

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

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

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

```

eq/backup_list

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

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 "token=HOSTKEY_TOKEN" \
--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

Параметры:

Параметр Обязательный Тип Описание
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 или диск) в режиме UEFI or Legacy.

HTTP-метод: POST|GET

Параметры:

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

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

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

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

```

eq/check_backup_lock

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: check_backup_lock
token string Authentication token
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",
"action": "check_backup_lock",
"callback": "string"
}
Примеры ошибок

``` { "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 конфигурацию для указанного хоста.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: clear_pxe
token string Authentication token
id integer Server ID
hostname string Hostname for clearing PXE config

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

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/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 "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 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-v4-string",
"traceKey": "uuid-v4-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)
reinstall_key string Ключ переустановки
email string Email пользователя
os_name string Имя ОС (alias)
disk_mirror string Зеркалирование диска
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 Ручной выбор диска (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 int 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": "string"
}
Примеры ошибок

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

```

eq/deploy

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: deploy
id int ID конкретного сервера для деплоя. Если не указан, используется пресет.
preset string Название или ID пресета оборудования
location int ID локации (datacenter)
hostname string Имя хоста для сервера
root_pass string Пароль root
os_id int ID операционной системы
ssh_key string Публичный SSH ключ
post_install_script string Скрипт для выполнения после установки
post_install_callback string URL для обратного вызова после завершения деплоя
deploy_data string Данные для деплоя (например, email)
deploy_options string Параметры биллинга/локации
deploy_period string Период оплаты (hourly, quarterly, semi-annually, annually)
deploy_notify int Флаг уведомления о деплое (-1 - выключено, 0 - включено)
os_name string Имя ОС (alias)
deploy_ticket string ID тикета Kayako для привязки к деплою
imitate_error int Имитация ошибки (0 или 1)
imitate_deploy int Режим имитации деплоя (dry run) (0 или 1)
own_os int Использовать собственную ОС (0 или 1)
jenkins_task string ID задачи Jenkins
jenkins_tests int Количество тестов Jenkins (-1 - нет)
traffic_plan int ID тарифного плана трафика
disk_mirror string Конфигурация зеркалирования дисков (например, RAID1)
deploy_comment string Комментарий к деплою
ipv4_amount int Количество IPv4 адресов
no_lvm string Отключить LVM (0 или 1)
custom_domain string Кастомный домен
token string API-токен аутентификации

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

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

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

```

eq/get_ipmi

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

HTTP-метод: POST|GET

Параметры:

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

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

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

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

```

eq/get_traffic

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
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": []
}
Примеры ошибок

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

```

eq/get_upgrade_key

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

HTTP-метод: POST|GET

Параметры:

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

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

```

eq/getserversforannounce

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

HTTP-метод: POST

Параметры:

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

```

eq/groups

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
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=VALUE"
Пример успешного ответа
{
"result": "OK",
"groups": [
{
"tag": "example_group",
"value": "1"
}
]
}
Примеры ошибок

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

```

eq/hard_off

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

HTTP-метод: POST

Параметры:

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

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

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

Параметры:

Параметр Обязательный Тип Описание
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).
ipv4_amount int Количество IPv4 адресов.
vlan int ID приватного VLAN.
custom_domain string Кастомный домен (проверяется на запрещенные слова).
deploy_period string Период оплаты (hourly, quarterly, semi-annually, annually).
traffic_plan int ID тарифного плана трафика.
token string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "id=123" \
--data "preset=standard_vps" \
--data "root_pass=StrongPass123!" \
--data "token=YOUR_API_TOKEN"
Пример успешного ответа
{
"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

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

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

``` { "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=12345"
Пример успешного ответа
{
"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
id integer ID сервера
token string Токен авторизации

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

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

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

```

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: request_backup_link
token string Токен авторизации
id integer 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"
Пример успешного ответа
{
"result": "OK",
"action": "request_backup_link",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

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

```

eq/restore_backup

Инициирует процесс восстановления сервера из указанного бэкапа. Метод является асинхронным и возвращает callback для отслеживания выполнения задачи.

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

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: search
group array<string> Фильтр по группам (например: 1CPU, 2CPU)
dc array<int> ID дата-центра
location array<string> Код локации (RU, NL и т.д.)
rack array<int> ID стойки
status array<string> Статус сервера (rented, power_off и т.д.)
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 клиента
name_client array<string> Имя клиента
full int|boolean Возвращать полные данные
kvm array<string> Фильтр по KVM
serialNumber array<string> Серийный номер
id array<int> Фильтр по ID оборудования
token string API-токен аутентификации

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

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

``` { "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": "Sensors request failed" }

```

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

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X GET \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"server_data": {
"id": 123,
"status": "rent",
"type": "Server",
"hostname": "srv-01.hostkey.com",
"owner": "admin@hostkey.com",
"Condition_Component": "power_off",
"ip": [
{
"IP": "192.168.1.1",
"status": "active"
}
],
"os": {
"id": 5,
"name": "Ubuntu 22.04 LTS"
},
"location": {
"dc_location": "NL",
"rack_id": 10,
"rack_position": 5
}
},
"hardware": {
"cpu": "Intel Xeon E-2388G",
"ram": "64GB",
"hdd": "2x960GB SSD"
},
"groups": [
{
"tag": "group1",
"value": "val"
}
],
"licenses": [],
"reinstall": null,
"IP": [
"192.168.1.1"
],
"interfaces": [
{
"id": 1,
"type": "eth0",
"mac": "AA:BB:CC:DD:EE:FF",
"IsMain": true,
"Status": "up"
}
],
"IPMI": {
"model": "Dell iDRAC 9",
"interfaces": []
},
"tags": [
{
"tag": "server_name",
"value": "my-server"
}
]
}
Примеры ошибок

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

```

eq/status

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

HTTP-метод: POST|GET

Параметры:

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

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

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

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

```

eq/status_check

Возвращает текущий статус оборудования (availability/status check)

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string Authentication token

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

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

``` { "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

Параметры:

Параметр Обязательный Тип Описание
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": "\(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" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"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": "string"
}
Примеры ошибок

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

```

eq/update_servers

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string Токен авторизации
action string Действие (update_servers)
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": {
"55": "key_value_abc123"
},
"prebill_pending": []
}
Примеры ошибок

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

```

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