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

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 конфигурацию для указанного хоста
create_backup создание резервной копии Инициирует процесс создания резервной копии для указанного сервера. Операция выполняется асинхронно.
create_pxe подготовка PXE конфигурации для переустановки Запрашивает создание PXE-конфигурации для последующей переустановки ОС на сервере. Поддерживает настройку hostname, SSH-ключей и скриптов post-install.
delete_backup удаление бэкапа Удаляет указанный бэкап сервера по его имени
deploy развертывание сервера Запускает процесс развертывания (деплоя) выбранного оборудования или пресета на основе предоставленных параметров конфигурации.
get_ipmi получение данных IPMI Возвращает IP-адрес и модель интерфейса IPMI для указанного сервера. Может содержать несколько интерфейсов.
get_traffic получение данных о трафике Возвращает данные об использовании IPv4 трафика для указанного сервера
getserversforannounce получение списка серверов для анонса Возвращает список активных серверов пользователя, которые прошли проверку на ограничения по маскам подсетей (mask_23/mask_24) и доступны для анонсирования IP.
groups получение групп Возвращает список групп для конкретного сервера
hard_off принудительное выключение сервера Отправляет команду на принудительное (жесткое) выключение оборудования через IPMI/BMC.
history история Возвращает историю событий сервера.
list получение списка оборудования Возвращает список доступного или арендованного оборудования с фильтрацией по различным параметрам (локация, статус, тип и др.)
off выключение Выключает сервер.
on включение Включает сервер.
order_instance заказ инстанса/переустановка Запуск процесса развертывания нового сервера из пресета или переустановки существующего сервера с выбором ОС и дополнительного ПО.
reboot перезагрузка сервера Отправляет запрос на перезагрузку указанного оборудования через IPMI или системные средства.
reinstall инициализация процесса переустановки Создает ключ для начала этапа переустановки сервера и ставит задачу в очередь (stage: create_pxe).
remove_ipmi_user удаление пользователя IPMI Удаляет дополнительные учетные записи пользователей IPMI для указанного сервера.
request_backup_link запрос ссылки на бэкап Запрашивает генерацию временной ссылки для скачивания резервной копии сервера.
restore_backup восстановление из бэкапа Запускает процесс восстановления сервера из существующего бэкапа по имени файла.
search поиск оборудования Возвращает список доступных серверов по различным фильтрам (группа, локация, статус, тип и др.)
sensors получение данных сенсоров Возвращает данные о состоянии сенсоров для указанного сервера через IPMI.
show получение данных сервера Возвращает подробную информацию о сервере, включая аппаратное обеспечение (hwconfig), текущий статус, IP-адреса, интерфейсы и IPMI.
status получение статуса оборудования Возвращает текущий статус сервера и данные о его состоянии
suspend приостановка сервера Запрашивает приостановку (suspend) или разблокировку (unsuspend) VPS/сервера. Если действие suspend, сервер будет заблокирован.
unified_server_search единый поиск серверов Единый поиск серверов по запросу.
unit_reset сброс IPMI Запрашивает сброс настроек IPMI для указанного сервера. Если операция требует подтверждения, возвращается callback.
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
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=mypassword"
Пример успешного ответа
{
"result": "OK",
"action": "add_ipmi_admin",
"user": "uabcde123",
"password": "securePassword123!"
}
Примеры ошибок

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

```

eq/add_ipmi_user

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

HTTP-метод: POST

Параметры:

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

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

```

eq/announceip

Выполняет анонсирование (announcement) указанной подсети или сервера для управления маршрутизацией трафика.

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
id integer ID оборудования/сервера
token string API-токен аутентификации
subnet string Подсеть для анонсирования
server string Сервер для анонса
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)

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

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

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

```

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=VALUE"
Пример успешного ответа
{
"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
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": -2, "message": "EQ: action required" }

```

eq/backup_save_schedule

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
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]=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). Если auto, определяется автоматически на основе конфигурации оборудования.

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

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

``` { "code": -1, "message": "Bootable media change request failed: [ошибка]" }

```

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

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=delete_backup" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "name=my_backup_name"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "delete_backup",
"callback": "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 (минимум 8 символов)
os_id integer ID операционной системы
ssh_key string SSH публичный ключ
post_install_script string Скрипт после установки
post_install_callback string URL для callback-уведомления
deploy_data string Данные биллинга (invoice ID или email)
deploy_options string Локация для биллинга
deploy_period string Период оплаты (hourly, quarterly, semi-annually, annually)
deploy_notify integer Уведомлять ли клиента
imitate_deploy integer Режим симуляции (dry run)
custom_domain string Кастомный домен
traffic_plan integer ID тарифного плана трафика
disk_mirror string Зеркалирование диска (RAID)
deploy_comment string Комментарий к деплою
ipv4_amount integer Количество IPv4 адресов

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

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

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

```

eq/get_ipmi

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

HTTP-метод: GET

Параметры:

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

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

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

``` { "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": "\(module/\)action: invalid server id" }

```

eq/get_upgrade_key

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

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=12345"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "get_upgrade_key",
"key": ""
}
Примеры ошибок

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

```

eq/getserversforannounce

Возвращает список активных серверов пользователя, которые прошли проверку на ограничения по маскам подсетей (mask_23/mask_24) и доступны для анонсирования IP.

HTTP-метод: POST|GET

Параметры:

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

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

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

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

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

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

```

eq/hard_off

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

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-метод: GET|POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=list" \
--data "token=HOSTKEY_TOKEN" \
--data "status[]=rented" \
--data "status[]=prepare_full" \
--data "location[]=RU" \
--data "location[]=NL"
Пример успешного ответа
{
"result": "OK",
"servers": [
{
"id": 123,
"name_client": "John Doe",
"status": "rent",
"type": "Server",
"location": {
"dc_location": -1,
"rack_id": 564,
"rack_position": 10
},
"is_prebill": false,
"project_ids": [],
"is_prebill_rate": null,
"prebill_period": null
}
]
}
Примеры ошибок

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

```

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 int ID существующего сервера для переустановки
preset string ID или имя пресета для заказа нового инстанса
root_pass string Пароль root (не должен содержать @ или #)
os_template string Шаблон ОС для деплоя из шаблона
soft_id int ID дополнительного программного обеспечения
os_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 адресов
custom_domain string Пользовательский домен
vlan int ID приватного VLAN
deploy_data string Данные для деплоя (для админа)
deploy_options string Опции деплоя (для админа)
traffic_plan int ID тарифного плана трафика

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

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

``` { "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=YOUR_TOKEN" \
--data "id=12345" \
--data "white_ip=1.2.3.4"
Пример успешного ответа
{
"result": "OK",
"action": "ovirt_novnc",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

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

```

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

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

```

eq/reinstall

Создает ключ для начала этапа переустановки сервера и ставит задачу в очередь (stage: create_pxe).

HTTP-метод: POST

Параметры:

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

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

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

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

```

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

HTTP-метод: POST

Параметры:

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

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

```

eq/restore_backup

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

eq/search

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: search
params[group] array<string> Принимает несколько значений: group[]=1CPU&group[]=2CPU
params[dc] array<int> ID дата-центра
params[location] array<string> Код локации (RU, NL и т.д.)
params[rack] array<string> ID стойки
params[status] array<string> Статус сервера (rented, prepare_full и т.д.)
params[owner] array<string> Владелец (Hostkey, colo)
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 Возвращать полные данные
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 "action=search" \
--data "token=HOSTKEY_TOKEN" \
--data "params[group][]=1CPU" \
--data "params[group][]=2CPU" \
--data "params[location][]=NL" \
--data "params[status][]=rented"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "search",
"servers": [
{
"id": 123,
"name_server": "srv-01",
"owner": "Hostkey",
"status": "rent",
"type": "Server",
"location": "NL",
"is_prebill": false,
"project_ids": []
}
]
}
Примеры ошибок

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

```

eq/sensors

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

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

Параметры:

Параметр Обязательный Тип Описание
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",
"owner": "ddevops@hostkey.com",
"type_billing": "Server",
"hostname": "server-01",
"ip": [
{
"IP": "192.168.1.1",
"status": "active"
}
],
"os": {
"id": 5,
"name": "Ubuntu 22.04"
},
"location": {
"dc_location": 1,
"rack_id": 10,
"rack_position": 5
}
},
"hardware": {
"cpu": "Intel Xeon E5-2680",
"ram": 64,
"hdd": 500
},
"groups": [
{
"tag": "group_name",
"value": "1"
}
],
"licenses": [],
"reinstall": "",
"IP": [],
"interfaces": [],
"IPMI": {
"model": "Dell iDRAC",
"interfaces": []
},
"tags": [
{
"tag": "server_name",
"value": "my-server"
}
],
"preset": "",
"commitment": ""
}
Примеры ошибок

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

```

eq/status

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

HTTP-метод: POST|GET

Параметры:

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

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

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

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"data": [
"User @login changed [Owner Status Type Location](link)'s status `old` -> `new` for [ticket](link) 5 days ago: desc"
]
}
Примеры ошибок

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

```

eq/suspend

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

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

Создает инвойс на оплату дополнительного исходящего трафика для сервера. После оплаты лимит будет увеличен.

HTTP-метод: POST

Параметры:

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

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

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

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

```

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

HTTP-метод: POST

Параметры:

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

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

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

eq/unit_reset

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

HTTP-метод: POST

Параметры:

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

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

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

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

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

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

```

eq/update_servers

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string API-токен аутентификации
servers[] array<int> Список ID серверов для синхронизации
show_products int Флаг отображения продуктов пользователя
load_servers_only string Если 'true', загружаются только ID серверов (без IP)

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

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

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

```

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