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

eq.php

В этой статье

API модуль управления оборудованием: управление бэкапами, настройка IPMI пользователей и анонсирование IP-адресов.

Методы API

Метод Действие Описание
abort_reinstall прерывание переустановки Прерывает процесс переустановки ОС, удаляет временные теги и очищает состояние развертывания.
add_history добавление записи в историю событий сервера Добавляет административную заметку в историю событий сервера. Доступно только для администраторов.
add_ipmi_user добавление IPMI пользователя Создает нового пользователя для доступа к IPMI интерфейсу сервера.
announceip анонсирование IP Настройка анонса IP-адресов (BGP/Announce).
appraise оценка стоимости оборудования Рассчитывает стоимость аренды оборудования на основе списка компонентов и локации.
backup_get_schedule получение расписания бэкапов Возвращает текущее расписание резервного копирования для сервера.
backup_list получение списка бэкапов Возвращает список доступных резервных копий сервера.
backup_save_schedule сохранение расписания бэкапов Сохраняет новое расписание резервного копирования.
boot_dev запрос на смену загрузочного устройства Отправляет запрос на изменение загрузочного устройства сервера (PXE или диск). Возвращает callback для отслеживания выполнения задачи.
check_backup_lock проверка блокировки бэкапа Проверяет наличие активной блокировки на выполнение операций с бэкапом для указанного сервера.
check_ip_block_disband проверка возможности разблокировки IP Проверяет, доступна ли кнопка разблокировки (disband) для конкретного сервера. Возвращает статус отображения кнопки в зависимости от типа и статуса аренды.
check_pin проверка PIN-кода Проверяет валидность PIN-кода для выполнения операций с оборудованием.
check_prepare_full инициация процесса подготовки серверов Запускает процесс полной подготовки (deploy) серверов согласно расписание. Метод является устаревшим и переведен в режим legacy.
clean_config очистка конфигурации сервера Очищает аппаратную конфигурацию сервера. Если full=1, удаляется всё; если 0 — только пользовательские настройки.
clear_pxe очистка PXE Очищает PXE-конфигурацию для конкретного хоста.
clone клонирование юнита Клонирует существующий юнит в указанную стойку и позицию. Возможные ошибки аутентификации: Invalid token, Invalid hash.
console запрос консоли Запрашивает доступ к консоли сервера (NoVNC/IPMI).
create создание нового оборудования Создает новый юнит в стойке с заданным типом и размером. Доступно только администраторам.
create_backup создание бэкапа Запускает процесс создания резервной копии для указанного сервера.
create_baremetal создание baremetal сервера Отправляет запрос на создание прокси для Baremetal сервера.
create_pxe создание PXE конфигурации Запрашивает создание конфигурации для переустановки ОС через PXE.
delete_backup удаление бэкапа Запускает процесс удаления указанного бэкапа.
delete_baremetal удаление baremetal сервера Отправляет запрос на удаление прокси для Baremetal сервера.
deploy запуск развертывания сервера Инициирует процесс деплоя (развертывания) конкретного сервера или пресета. Поддерживает как стоковые серверы, такs и развертывание по шаблону.
download_jnlp скачивание JNLP файла Запрашивает загрузку JNLP файла для удаленного управления (KVM).
eq_terminate_ip_rent прекращение аренды IP Завершает процесс освобождения заблокированного блока IP-адресов.
get_ipmi получение IPMI данных Возвращает IP-адрес и модель интерфейса IPMI для сервера.
get_ipmi_ip_list получение списка IPMI IP Возвращает список доступных IPMI интерфейсов с их IP-адресами.
get_node_gpu_counts получение количества GPU на ноде Возвращает информацию о количестве доступных графических процессоров (GPU) на узле.
get_traffic получение трафика Возвращает данные по использованию IPv4 трафика для сервера.
get_upgrade_key получение ключа апгрейда Возвращает ключ для выполнения операции апгрейда, привязанный к инвойсу.
getserversforannounce получение серверов для анонса Возвращает список доступных серверов, подходящих под условия анонса IP-подсети.
groups получение групп Возвращает список групп, привязанных к конкретному серверу.
hard_off принудительное выключение Отправляет команду на немедленное (жесткое) выключение сервера через IPMI.
history получение истории сервера Возвращает список событий из журнала истории для конкретного оборудования.
hostkey_servers получение списка IP-адресов Hostkey Возвращает список IP-адресов серверов, принадлежащих компании Hostkey.
list поиск и список оборудования Возвращает список доступного оборудования с возможностью фильтрации по множеству параметров.
list_warehouses получение списка складов (storage) Возвращает список доступных складов (storage) с фильтрацией по локации или датацентру.
locate получение местоположения сервера Возвращает данные о расположении оборудования (датацентр, стойка, слот) по ID сервера.
max_id получение максимального ID Возвращает максимальный существующий ID из таблицы оборудования.
move_deploy перенос деплоя Переносит процесс развертывания (деплой) с одного сервера на другой.
novnc запрос консоли NoVNC Запрашивает доступ к консоли управления через NoVNC для указанного сервера.
off выключение сервера Запрос на выключение (Stop) указанного сервера.
on включение сервера Запрос на включение (Start) указанного сервера.
order_instance заказ инстанса/переустановка Запуск процесса развертывания нового сервера по пресету или переустановки существующего.
ovirt_novnc запрос oVirt NoVNC консоли Запрашивает доступ к консоли управления через oVirt NoVNC.
reboot перезагрузка сервера Запрос на перезагрузку (Reboot) указанного сервера.
recreate_deploy пересоздание деплоя Перезапускает процесс развертывания, используя сообщение из тега deploy_message.
recreate_novnc пересоздание NoVNC консоли Перезапускает сессию NoVNC для управления сервером через браузер.
reinstall переустановка Запускает процесс переустановки сервера и создает ключ для операции.
relocate перемещение юнита Перемещает юнит (оборудование) в другую стойку или на другую позицию.
remove_ipmi_user удаление IPMI пользователя Удаляет дополнительные учетные записи пользователей IPMI для сервера.
rename_server переименование сервера Изменяет имя (hostname) существующего сервера или сбрасывает его на текущее значение из конфигурации оборудования.
replace_server замена сервера Выполняет процедуру замены одного оборудования на другое с переносом настроек.
request_backup_link запрос ссылки на бэкап Запрашивает временную ссылку для скачивания резервной копии.
request_jnlp запрос JNLP файла Запрашивает файл для подключения к консоли KVM через Java Web Start.
restart_deploy перезапуск деплоя Перезапускает процесс развертывания сервера, используя данные из тега deploy_message.
restore_backup восстановление из бэкапа Запускает процесс восстановления сервера из выбранной резервной копии.
run_scheduled_backups запуск запланированных бэкапов Запускает процесс выполнения всех запланированных задач резервного копирования.
search поиск оборудования Поиск доступного оборудования по различным критериям (локация, тип, статус и т.д.).
sensors получение данных сенсоров Возвращает данные датчиков (температура, обороты и т.д.) для сервера.
set_node_params установка параметров узла Устанавливает произвольные параметры конфигурации для конкретного оборудования через JSON.
set_pin установка PIN-кода Устанавливает новый PIN-код для доступа к управлению сервером.
show показ данных сервера Возвращает полные данные о сервере, включая конфигурацию оборудования, IP-адреса и теги.
start_speedtest запуск спидтеста Инициирует запуск теста скорости (Speedtest) на сервере с использованием специализированного образа ОС.
status проверка статуса Возвращает текущий статус сервера и ключ для callback.
status_check проверка системного статуса Возвращает общую информацию о состоянии системы.
stop_novnc остановка консоли NoVNC Завершает текущую сессию NoVNC для сервера.
suspend приостановка (suspend) Приостанавливает работу сервера (для VPS).
suspend блокировка сервера Запрашивает блокировку (suspension) VPS/сервера.
sync_speedtest_tags синхронизация тегов speedtest Синхронизирует теги, связанные со спидтестом для конкретного сервера.
traffic_add добавление трафика Запрашивает увеличение лимита исходящего трафика и создает инвойс.
type получение типов оборудования Возвращает список доступных типов оборудования.
unified_server_search универсальный поиск серверов Выполняет поиск оборудования по различным критериям (ID, имя, статус и т.д.).
unit_reset сброс IPMI модуля Запрашивает сброс устройства (IPMI reset) для указанного сервера.
unsuspend разблокировка сервера Запрашивает разблокировку (unsuspension) VPS/сервера.
update_config обновление конфигурации оборудования (admin only) Обновляет аппаратную конфигурацию сервера. Доступно только администраторам.
update_groups обновление групп сервера Обновляет список групп, к которым привязан сервер.
update_server_options обновление параметров сервера Обновляет различные опции в таблице Component1 для указанного оборудования.
update_servers обновление серверов Обновляет список активных серверов для текущего токена/аккаунта.

eq/abort_reinstall

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

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

eq/add_history

Добавляет административную заметку в историю событий сервера. Доступно только для администраторов.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_history
id ✅ integer ID сервера
log_line ✅ string Текст записи в историю.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=add_history" \
--data "id=123" \
--data "log_line=Административная заметка" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "add_history",
"id": 123,
"history": [
{
"id": 456,
"text": "Административная заметка",
"type": "note",
"created_at": "2024-01-15T10:30:00Z"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "EQ/add_history: invalid log line"
}

eq/add_ipmi_user

Создает нового пользователя для доступа к IPMI интерфейсу сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_ipmi_user
token ✅ string Токен авторизации
id ✅ integer ID сервера
admin_user ❌ string Имя администратора IPMI (только для администраторов).
admin_pass ❌ string Пароль администратора IPMI (только для администраторов).
require_proxy_credentials ❌ boolean Флаг необходимости использования учетных данных прокси-сервера при настройке IPMI.

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

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": "key_value"
}
Примеры ошибок
{
"code": -1,
"message": "$module/$action: invalid server id"
}

eq/announceip

Настройка анонса IP-адресов (BGP/Announce).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: announceip
token ✅ string Токен авторизации
id ✅ integer ID сервера
subnet ❌ string Подсеть для анонса. Допустимое значение: ipv4
server ❌ boolean Флаг использования сервера.
subnetaddr ✅ string Адрес в подсети. Должен заканчиваться на .0 и быть валидным IP.
subnetaddrmask ✅ string Маска адреса в подсети. Допустимые значения: /23, /24.
asn ❌ string Номер автономной системы. Допустимые значения: AS50867, AS395839, AS57043.
ownasn ❌ boolean Использовать собственный ASN.
annonce ❌ string Флаг анонса. Допустимые значения: hk, bgp.
return ❌ boolean Возврат результата (для режима bgp).
route ❌ string Флаг маршрутизации.
cmnt ❌ string Комментарий к анонсу.
checkboxes ✅ boolean Подтверждение условий (ASRegistered, RKPIValid, SubNetNotSpamhaus, DataIsCorrect).
loa ✅ file LOA файл в формате .pdf размером до 1 МБ.
ASRegistered ✅ string Параметр ASRegistered (должен быть равен 1)
RKPIValid ✅ string Параметр RKPIValid (должен быть равен 1)
SubNetNotSpamhaus ✅ string Параметр SubNetNotSpamhaus (должен быть равен 1)
DataIsCorrect ✅ string Параметр DataIsCorrect (должен быть равен 1)
whmcs_id ❌ integer ID из WHMCS
whmcs_location ❌ string Локация из WHMCS
email ❌ string Email пользователя
subaccount ❌ string ID субсчетчика

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=announceip" \
--data "token=VALUE" \
--data "id=VALUE" \
--data "subnetaddr=1.2.3.0" \
--data "subnetaddrmask=/24" \
--data "checkboxes=true" \
--data "loa=@path/to/file.pdf" \
--data "ASRegistered=1" \
--data "RKPIValid=1" \
--data "SubNetNotSpamhaus=1" \
--data "DataIsCorrect=1"
Пример успешного ответа
{
"result": 0,
"IP": "1.2.3.4",
"IsMain": true,
"Status": "active"
}
Примеры ошибок
{
"code": -1,
"message": "Error details from eq_announce_ip"
}

eq/appraise

Рассчитывает стоимость аренды оборудования на основе списка компонентов и локации.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: appraise
components ✅ array<string> Список компонентов в формате 'ID:количество' через точку с запятой. Пример: 101:2;105:4.
location ❌ string Код локации (alpha2). Например: RU, NL.
dc_id ❌ integer ID дата-центра.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=appraise" \
--data "components[]=101:2;105:4" \
--data "location=RU" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "appraise",
"appraisal": {
"location": {
"dc_location": "string",
"location_id": "integer",
"reg_zone_id": "integer",
"dc_id": "integer (optional)",
"dc_name": "string (optional)",
"dc_desc": "string (optional)",
"dc_tag_name": "string (optional)"
},
"assembly_cost": {
"EUR": "number",
"RUR": "number",
"USD": "number"
},
"install_cost": {
"EUR": "number",
"RUR": "number",
"USD": "number"
},
"services_cost": {
"EUR": "number",
"RUR": "number",
"USD": "number"
},
"power_cost": {
"EUR": "number",
"RUR": "number",
"USD": "number"
},
"power_cost_min": {
"EUR": "number",
"RUR": "number",
"USD": "number"
},
"tdp": "integer",
"tdp_min": "integer",
"deprecated": "boolean",
"stats": {
"string (hardwareId)": {
"hardwareId": "integer",
"name": "string",
"type": "string",
"quantity": "integer",
"tdp": "number",
"tdp_min": "number",
"cost": {
"EUR": "number",
"RUR": "number",
"USD": "number"
},
"power_cost": {
"EUR": "number",
"RUR": "number",
"USD": "number"
},
"power_cost_min": {
"EUR": "number",
"RUR": "number",
"USD": "number"
}
}
},
"rrp": {
"EUR": "number",
"RUR": "number",
"USD": "number"
}
}
}
Примеры ошибок
{
"code": -1,
"message": "UnexpectedValueException: Please specify location (country or datacenter) to calculate appraisal"
}

eq/backup_get_schedule

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

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: backup_get_schedule
token ✅ string Токен авторизации
id ✅ integer ID сервера (eq_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",
"module": "...",
"action": "backup_get_schedule",
"days": [0, 0, 0, 0, 0, 0, 0],
"time": "",
"timezone": ""
}
Примеры ошибок
{
"code": -1,
"message": "Invalid server id"
}

eq/backup_list

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

HTTP-метод: GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X GET \
--data "action=backup_list" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "backup_list",
"data": [
{
"id": 1,
"name": "daily_backup",
"date": "2024-05-20 03:00:00"
}
]
}
Примеры ошибок
[]

eq/backup_save_schedule

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: backup_save_schedule
token ✅ string Токен авторизации
id ✅ integer ID сервера
backup_schedule ❌ array<string> Массив с настройками расписания. Содержит ключи 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[days][0]=monday" \
--data "backup_schedule[time]=03:00" \
--data "backup_schedule[timezone]=UTC"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "backup_save_schedule"
}
Примеры ошибок
{
"code": -1,
"message": "Error saving schedule"
}

eq/boot_dev

Отправляет запрос на изменение загрузочного устройства сервера (PXE или диск). Возвращает callback для отслеживания выполнения задачи.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: boot_dev
token ✅ string Токен авторизации
id ✅ integer 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" \
--data "boot_mode=uefi"
Пример успешного ответа
{
"result": "OK",
"action": "boot_dev",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "Bootable media change request failed",
"details": {
"error": "string"
}
}

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_ip_block_disband

Проверяет, доступна ли кнопка разблокировки (disband) для конкретного сервера. Возвращает статус отображения кнопки в зависимости от типа и статуса аренды.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=check_ip_block_disband" \
--data "id=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "check_ip_block_disband",
"show_disband_btn": true
}
Примеры ошибок
{
"code": -2,
"message": "Authentication required"
}

eq/check_prepare_full

Запускает процесс полной подготовки (deploy) серверов согласно расписание. Метод является устаревшим и переведен в режим legacy.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: check_prepare_full
os_id ❌ integer ID операционной системы для подготовки. По умолчанию 312 (speedtest os).
limit ❌ integer Максимальное количество серверов для обработки за один прогон.
token ❌ string Уникальный идентификатор сессии или токен авторизации для выполнения запроса.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=check_prepare_full" \
--data "os_id=312" \
--data "limit=10" \
--data "token=your_token_here"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "check_prepare_full",
"data": {}
}
Примеры ошибок
{
"errors": []
}

eq/clean_config

Очищает аппаратную конфигурацию сервера. Если full=1, удаляется всё; если 0 — только пользовательские настройки.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: clean_config
id ✅ integer ID сервера
full ❌ boolean Параметр полной очистки. Если 1 — удаляется всё; если 0 — только пользовательские настройки.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=clean_config" \
--data "id=123" \
--data "full=1" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"message": "Server config cleared",
"module": "eq",
"action": "clean_config"
}
Примеры ошибок
{
"code": -1,
"message": "$module/$action: invalid request"
}

eq/clone

Клонирует существующий юнит в указанную стойку и позицию. Возможные ошибки аутентификации: Invalid token, Invalid hash.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: clone
id ✅ integer ID юнита для клонирования.
rack ✅ integer ID стойки (Rack ID).
rack_position ✅ integer Позиция в стойке.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=clone" \
--data "id=5678" \
--data "rack=10" \
--data "rack_position=1" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "clone",
"id": 5678,
"location": {
"rack_id": 10,
"rack_name": "Rack-A",
"dc_location": "NL"
}
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

eq/create

Создает новый юнит в стойке с заданным типом и размером. Доступно только администраторам.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: create
token ✅ string API-токен аутентификации
type ✅ string Тип оборудования.
size ✅ integer Размер (количество юнитов).
rack ✅ integer ID стойки.
rack_position ✅ integer Позиция в стойке.
name ❌ string Имя оборудования.
description ❌ string Описание оборудования.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=create" \
--data "token=HOSTKEY_TOKEN" \
--data "type=VALUE" \
--data "size=VALUE" \
--data "rack=VALUE" \
--data "rack_position=VALUE" \
--data "name=VALUE" \
--data "description=VALUE"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "create",
"id": 123
}
Примеры ошибок
{
"code": -1,
"message": "Not enough data to perform"
}

eq/create_backup

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

HTTP-метод: POST

Параметры:

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

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

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

eq/create_baremetal

Отправляет запрос на создание прокси для Baremetal сервера.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=create_baremetal" \
--data "id=12345" \
--data "token=your_token_here"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "create_baremetal",
"callback": "string (hex 32 chars)"
}
Примеры ошибок
{
"code": -1,
"message": "Request failed: No IPMI interface defined for server {id}"
}

eq/delete_backup

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

HTTP-метод: POST

Параметры:

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

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

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

eq/create_pxe

Запрашивает создание конфигурации для переустановки ОС через PXE.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: create_pxe
token ✅ string Токен авторизации
id ✅ integer ID сервера.
root_pass ✅ string Пароль root.
os_id ✅ integer ID операционной системы.
hostname ✅ string Имя хоста. Если не указано или некорректно, будет использован ID сервера.
ssh_key ❌ string SSH ключ.
post_install_script ❌ string Скрипт после установки.
post_install_callback ❌ string Callback URL/ID для завершения установки.
disk_mirror ❌ integer Схема зеркалирования дисков. Допустимые значения: -1 или значение из конфигурации оборудования.
root_size ✅ integer Размер корневого раздела. Допустимые значения: целое число от 20 до 100.
uefi ❌ integer Режим загрузки (UEFI/Legacy). Допустимые значения: -1 (авто), 0 (legacy), 1 (UEFI).
attendedInstall ❌ integer Режим автоматической установки.
ignore_duplicated_install ❌ string Параметр ignore_duplicated_install (доступен только для администраторов).
deploy_ticket ❌ string Параметр deploy_ticket (доступен только для администраторов).
manual_choice_dsk ❌ integer Флаг ручного выбора диска.
reinstall_key ❌ string Ключ для выполнения переустановки операционной системы.
email ❌ string Адрес электронной почты пользователя для привязки к ОС.
os_name ❌ string Название или псевдоним операционной системы для выбора образа.
key ❌ string Уникальный ключ активации или идентификатор конфигурации.
no_lvm ❌ boolean Флаг отключения использования логических томов LVM при установке.
custom_domain ❌ string Пользовательский доменное имя для настройки сетевых параметров.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=create_pxe" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "root_pass=password" \
--data "os_id=5" \
--data "hostname=my-server" \
--data "root_size=40"
Пример успешного ответа
{
"result": "OK",
"action": "create_pxe",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "Create PXE config request failed: error_details"
}

eq/console

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

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=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "console",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "EQ/console: invalid server id"
}

eq/delete_baremetal

Отправляет запрос на удаление прокси для Baremetal сервера.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=delete_baremetal" \
--data "id=123" \
--data "token=your_token_here"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "delete_baremetal",
"callback": "string (hex 32 chars)"
}
Примеры ошибок
{
"code": -1,
"message": "Request failed: Failed to send message to the queue"
}

eq/deploy

Инициирует процесс деплоя (развертывания) конкретного сервера или пресета. Поддерживает как стоковые серверы, такs и развертывание по шаблону.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: deploy
token ✅ string Токен авторизации
id ❌ integer ID сервера для деплоя (если не указан пресет)
preset ❌ string Название пресета для развертывания
location ❌ integer ID локации (датацентра)
hostname ❌ string Имя хоста для сервера
os_id ❌ integer ID операционной системы
root_pass ❌ string Пароль root. Не должен быть короче 8 символов.
ssh_key ❌ string SSH публичный ключ
post_install_script ❌ string Скрипт после установки (должен начинаться с #!/path/to/interpreter)
post_install_callback ❌ string URL для callback после установки
cloud_init_script ❌ string Cloud-init скрипт (должен начинаться с #cloud-config)
ipv4_amount ❌ integer Количество IPv4 адресов. Допустимые значения: 1, 2, 4, 6, 8.
disk_mirror ❌ string Схема зеркалирования дисков. Допустимые значения: -1, DM_RAID0, DM_RAID1, DM_RAID10, HW_RAID0, HW_RAID1, HW_RAID5, HW_RAID6, LVM_HBA, LVM_RAID0, LVM_RAID1, LVM_RAID10, LVM_RAID10S, null.
custom_domain ❌ string Пользовательский домен
service_id ❌ integer ID сервиса для привязки (prebill)
deploy_ticket ❌ string ID существующего тикета Kayako
imitate_error ❌ boolean Имитация ошибки при деплое
imitate_deploy ❌ integer Режим имитации (dry run)
own_os ❌ integer Использование собственной ОС
activate_windows ❌ boolean Активация Windows
attendedInstall ❌ boolean Установка с участием пользователя (attended)
jenkins_task ❌ integer ID задачи Jenkins
jenkins_tests ❌ boolean Запуск тестов Jenkins
traffic_plan ❌ integer План трафика (-1 для отсутствия)
manual_choice_dsk ❌ boolean Ручной выбор диска
root_size ❌ integer Размер корневого раздела (20-100)
reinstall_key ❌ string Ключ для переустановки операционной системы.
deploy_period ❌ string Период действия услуги после развертывания.
deploy_price ❌ string Стоимость услуги при развертывании.
deploy_notify ❌ string Настройки уведомлений при выполнении операции.
deploy_comment ❌ string Комментарий к процессу развертывания сервера.
os_name ❌ string Название устанавливаемой операционной системы.
invoice_relid ❌ integer Связанный идентификатор счета для резервирования сервера.
uefi ❌ integer Режим загрузки системы: UEFI или Legacy.
no_lvm ❌ string Параметр для отключения использования LVM при установке.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=deploy" \
--data "token=YOUR_TOKEN" \
--data "preset=standard-ubuntu" \
--data "root_pass=SecurePassword123!"
Пример успешного ответа
{
"result": "OK",
"action": "deploy",
"callback": "7bc29eb23fb1b879b21fce509597f07c",
"ticket": 12345,
"id": 123
}
Примеры ошибок
{
"code": -1,
"message": "EQ/deploy: invalid server id"
}

eq/download_jnlp

Запрашивает загрузку JNLP файла для удаленного управления (KVM).

HTTP-метод: GET

Параметры:

action ✅ string Идентификатор метода: download_jnlp
id ✅ integer ID оборудования.
token ❌ string Уникальный идентификатор сессии или токен авторизации для выполнения запроса.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X GET \
--data "action=download_jnlp" \
--data "id=VALUE" \
--data "token=VALUE"
Пример успешного ответа
{
"result": "-1",
"module": "eq",
"action": "download_jnlp"
}
Примеры ошибок
{
"code": -1,
"message": "No JNLP file found or error occurred"
}

eq/eq_terminate_ip_rent

Завершает процесс освобождения заблокированного блока IP-адресов.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=eq_terminate_ip_rent" \
--data "id=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "eq_terminate_ip_rent"
}
Примеры ошибок
{
"code": -1,
"message": "Failed to disband IP block"
}

eq/get_ipmi

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

HTTP-метод: GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X GET \
--data "action=get_ipmi" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"ipmi": [
{
"IP": "192.168.1.100",
"MAC": "00:1A:4B:3C:5D:6E",
"vendor": "Dell iDRAC"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "No IPMI interfaces found"
}

eq/get_ipmi_ip_list

Возвращает список доступных IPMI интерфейсов с их IP-адресами.

HTTP-метод: GET

Параметры:

action ✅ string Идентификатор метода: get_ipmi_ip_list
location ❌ string Код локации (alpha2 country code).
type ❌ string Тип IPMI. Допустимые значения: asrock, supermicro.
eq_type ❌ string Тип оборудования (ref_tableName). Значения ограничены списком EqTypesMap.
role ❌ string Роль оборудования (is_owner). Значения ограничены списком EqRolesMap.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/eq.php" -X GET \
--data "action=get_ipmi_ip_list" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "get_ipmi_ip_list",
"servers": [
{
"id": 123,
"ip-ipmi": "192.168.1.100"
}
]
}
Примеры ошибок
{
"-2": {
"result": -2,
"error": "Invalid hash"
}
}

eq/get_node_gpu_counts

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

HTTP-метод: GET

Параметры:

action ✅ string Идентификатор метода: get_node_gpu_counts
id ✅ integer ID оборудования/ноды.
type ❌ string Тип запроса GPU.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/eq.php" -X GET \
--data "action=get_node_gpu_counts" \
--data "id=VALUE" \
--data "type=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "get_node_gpu_counts",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "$module/$action: invalid request"
}

eq/get_traffic

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

HTTP-метод: GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X GET \
--data "action=get_traffic" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "get_traffic",
"traffic": [
{
"direction": "outbound",
"ip": "1.2.3.4",
"updated": "2024-05-20 12:00:00",
"volume": 542.5,
"billed": false
}
],
"id": 123
}
Примеры ошибок
{
"code": -1,
"message": "eq/get_traffic: invalid server id"
}

eq/get_upgrade_key

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

HTTP-метод: POST

Параметры:

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

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

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

eq/getserversforannounce

Возвращает список доступных серверов, подходящих под условия анонса IP-подсети.

HTTP-метод: GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X GET \
--data "action=getserversforannounce" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "getserversforannounce",
"servers": [
{
"id": 10,
"location": "NL",
"mask_23": "255.255.254.0",
"mask_24": "255.255.255.0",
"remaining_units": 5
}
]
}
Примеры ошибок
{
"code": -1,
"message": "This subaccount is not allowed to announce IP."
}

eq/groups

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

HTTP-метод: GET

Параметры:

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

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

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

eq/hard_off

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: hard_off
token ✅ string Токен авторизации
id ✅ integer ID сервера
key ❌ string Уникальный ключ для идентификации операции или callback-ответа.

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

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

eq/history

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

HTTP-метод: GET

Параметры:

action ✅ string Идентификатор метода: history
token ❌ string Уникальный идентификатор сессии или токен авторизации для выполнения запроса.
type ❌ array Тип события в истории (массив значений).
date_from ❌ string Дата начала периода.
date_to ❌ string Дата окончания периода.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X GET \
--data "action=history" \
--data "token=your_token" \
--data "type[]=event1" \
--data "type[]=event2" \
--data "date_from=2023-01-01" \
--data "date_to=2023-12-31"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "history",
"id": 123,
"history": []
}
Примеры ошибок
{
"400": {
"code": 400,
"message": "Invalid server id"
}
}

eq/hostkey_servers

Возвращает список IP-адресов серверов, принадлежащих компании Hostkey.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: hostkey_servers
token ✅ string Токен авторизации
location ❌ integer ID локации (извлекается из \(_GET/\)_POST)

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

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

eq/list

Возвращает список доступного оборудования с возможностью фильтрации по множеству параметров.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: list
token ✅ string Токен авторизации
id ❌ array<integer> Фильтр по ID серверов. Принимает несколько значений: id[]=1&id[]=2
group ❌ array<string> Фильтр по группам. Допустимые значения: 1CPU, 2CPU и другие.
dc ❌ array<integer> ID датацентра. Принимает несколько значений: dc[]=1&dc[]=2
location ❌ array<string> Код локации (например, RU, NL). Принимает несколько значений: location[]=RU&location[]=NL
rack ❌ array<integer> ID стойки. Принимает несколько значений: rack[]=561&rack[]=564
status ❌ array<string> Статус сервера. Допустимые значения: rented, prepare_full, rent, power_off, repair.
owner ❌ array<string> Владелец (например, Hostkey). Принимает несколько значений: owner[]=Hostkey&owner[]=colo
component ❌ array<integer> ID аппаратного компонента. Принимает несколько значений: component[]=345&component[]=241
type ❌ array<string> Тип оборудования (server, switch и т.д.). Принимает несколько значений: type[]=server&type[]=switch
ip ❌ array<string> IP-адрес. Принимает несколько значений: ip[]=1.1.1.1&ip[]=2.2.2.2
mac ❌ array<string> MAC-адрес. Принимает несколько значений: mac[]=00:11...&mac[]=00:22...
account_id ❌ array<integer> ID аккаунта биллинга. Принимает несколько значений: account_id[]=1&account_id[]=2
billing ❌ array<string> Язык биллинга. Допустимые значения: en, ru.
email ❌ array<string> Email клиента. Принимает несколько значений: email[]=a@b.com&email[]=c@d.com
name_client ❌ array<string> Имя клиента. Принимает несколько значений: name_client[]=Client1&name_client[]=Client2
full ❌ array<boolean> Флаг отображения полной информации. Принимает несколько значений: full[]=1&full[]=0
kvm ❌ array<boolean> Флаг наличия KVM. Принимает несколько значений: kvm[]=1&kvm[]=0
serialNumber ❌ array<string> Серийный номер. Принимает несколько значения: serialNumber[]=SN1&serialNumber[]=SN2

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=list" \
--data "token=HOSTKEY_TOKEN" \
--data "status[]=rented" \
--data "status[]=rent" \
--data "location[]=RU" \
--data "id[]=123"
Пример успешного ответа
{
"servers": [
{
"id": 123,
"name": "Server Example",
"status": "active",
"ipmi_model": "Supermicro X11",
"is_prebill": false,
"project_ids": [
1,
2
]
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Permission denied"
}

eq/list_warehouses

Возвращает список доступных складов (storage) с фильтрацией по локации или датацентру.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: list_warehouses
token ✅ string Токен авторизации
datacenter ❌ string Название датацентра (dc_tag_name)
location ❌ integer ID локации (используется в фильтре eq_search)

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=list_warehouses" \
--data "token=HOSTKEY_TOKEN" \
--data "datacenter=DC-1" \
--data "location=123"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "list_warehouses",
"warehouses": [
{
"id": 1,
"tags": {},
"location": {
"dc_tag_name": "DC-1"
}
}
]
}
Примеры ошибок
{
"403": {
"message": "Authorization required",
"code": "PERMISSION_DENIED"
}
}

eq/locate

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=locate" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "locate",
"location": {
"dc_id": 1,
"dc_name": "Amsterdam",
"rack_id": 50,
"rack_position": 12,
"datacenter": "DC-NL"
}
}
Примеры ошибок
{
"code": -1,
"message": "eq/locate: access denied"
}

eq/max_id

Возвращает максимальный существующий ID из таблицы оборудования.

HTTP-метод: POST

Параметры:

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

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

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

eq/move_deploy

Переносит процесс развертывания (деплой) с одного сервера на другой.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=move_deploy" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "new_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "move_deploy"
}
Примеры ошибок
{
"code": -1,
"message": "Need both new and old server IDs for transfer"
}

eq/novnc

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

HTTP-метод: POST

Параметры:

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

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

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

eq/off

Запрос на выключение (Stop) указанного сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: off
token ✅ string Токен авторизации
id ✅ integer ID сервера
key ❌ string Уникальный идентификатор или ключ для выполнения операции.

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

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

eq/on

Запрос на включение (Start) указанного сервера.

HTTP-метод: POST

Параметры:

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

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

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

eq/order_instance

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: order_instance
token ✅ string Токен авторизации
id ❌ integer ID сервера (для переустановки)
preset ❌ string Имя пресета для заказа нового инстанса
root_pass ✅ string Пароль root. Не должен содержать символы @ или #.
os_id ❌ integer ID операционной системы
ssh_key ❌ string SSH публичный ключ
hostname ❌ string Имя хоста (по умолчанию ID сервера)
root_size ✅ integer Размер корневого раздела в ГБ. Допустимые значения: от 20 до 100.
ipv4_amount ❌ integer Количество IPv4 адресов. Допустимые значения: 1, 2, 4, 6, 8.
disk_mirror ✅ string Схема зеркалирования дисков. Допустимые значения: -1, DM_RAID0, DM_RAID1, DM_RAID10, HW_RAID0, HW_RAID1, HW_RAID5, HW_RAID6, LVM_HBA, LVM_RAID0, LVM_RAID1, LVM_RAID10, LVM_RAID10S, null.
vlan ❌ integer ID приватного VLAN (для клиентов)
custom_domain ❌ string Пользовательский домен
os_template ✅ string Параметр os_template
soft_id ✅ integer ID дополнительного программного обеспечения
service_id ✅ integer ID услуги для биллинга (prebill)
post_install_script ❌ string Скрипт после установки. Должен начинаться с директивы #! с указанием пути к интерпретатору.
cloud_init_script ❌ string Скрипт cloud-init. Должен начинаться с #cloud-config.
ip ❌ string Приватный IP адрес
traffic_plan ❌ integer ID тарифного плана трафика
post_install_callback ❌ string URL или путь для вызова после завершения установки.
reinstall_key ❌ string Ключ для выполнения процедуры переустановки системы.
deploy_data ❌ string Данные биллинга и параметры развертывания (только для администраторов).
deploy_options ❌ string Дополнительные опции настройки при развертывании (только для администраторов).
deploy_period ❌ string Период оплаты услуги, например, hourly или ежемесячно.
deploy_notify ❌ boolean Флаг включения уведомлений при развертывании.
deploy_ticket ❌ string ID тикета в системе поддержки для связи с процессом.
deploy_comment ❌ string Комментарий к процессу развертывания системы.
imitate_deploy ❌ boolean Режим имитации процесса развертывания для тестирования.
imitate_error ❌ boolean Режим имитации ошибки при развертывании.
os_name ❌ string Название или псевдоним операционной системы для установки.
own_os ❌ boolean Флаг использования собственной операционной системы пользователя.
jenkins_tests ❌ string Параметры для запуска тестов в Jenkins.
location_name ❌ string Название локации (дата-центра), где будет размещен сервер.
invoice_relid ❌ integer Связанный идентификатор позиции в инвойсе (только для администраторов).
uefi ❌ boolean Флаг включения режима загрузки UEFI.
promocode ❌ string Промокод для применения скидки к заказу.
no_lvm ❌ boolean Флаг отключения использования LVM в конфигурации дисков.
currency_code ❌ string Код валюты для расчета стоимости услуги.
ipv6block ❌ string Параметры или блок IPv6 адресов.
invoice_id ❌ integer Идентификатор инвойса для оплаты (только для администраторов).

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=order_instance" \
--data "token=HOSTKEY_TOKEN" \
--data "root_pass=VALUE" \
--data "root_size=VALUE" \
--data "disk_mirror=VALUE" \
--data "os_template=VALUE" \
--data "soft_id=VALUE" \
--data "service_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "order_instance",
"callback": "7bc29eb23fb1b879b21fce509597f07c",
"deploy_status": "install",
"id": 123,
"os_name": "Ubuntu 22.04",
"soft_name": "Nginx"
}
Примеры ошибок
{
"code": -1,
"message": "EQ/order_instance: invalid disk_mirror 5"
}

eq/ovirt_novnc

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: ovirt_novnc
token ✅ string Токен авторизации
id ✅ integer ID сервера
white_ip ❌ string IP-адрес, разрешенный для подключения к консоли oVirt noVNC.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=ovirt_novnc" \
--data "token=YOUR_TOKEN" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"action": "ovirt_novnc",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "oVirt noVNC console request failed"
}

eq/reboot

Запрос на перезагрузку (Reboot) указанного сервера.

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=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "reboot",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "Reboot request failed"
}

eq/recreate_deploy

Перезапускает процесс развертывания, используя сообщение из тега deploy_message.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: recreate_deploy
token ✅ string Токен авторизации
id ✅ integer ID сервера
key ✅ string Уникальный идентификатор задачи для управления очередью развертывания.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=recreate_deploy" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "key=VALUE"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "recreate_deploy",
"callback": "string",
"id": "integer",
"os_name": "string",
"soft_name": "string"
}
Примеры ошибок
{
"code": -1,
"message": "No deploy message found on server"
}

eq/recreate_novnc

Перезапускает сессию NoVNC для управления сервером через браузер.

HTTP-метод: POST

Параметры:

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

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

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

eq/relocate

Перемещает юнит (оборудование) в другую стойку или на другую позицию.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: relocate
token ✅ string Токен авторизации
id ✅ integer ID оборудования (Unit ID)
rack ✅ string ID стойки (Rack ID), в которую перемещается оборудование
rack_position ❌ integer Позиция в стойке (Slot). Если не указана или равна -1, будет выбрана следующая свободная позиция.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=relocate" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "rack=RACK_ID" \
--data "rack_position=-1"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "relocate",
"id": 123,
"location": {
"rack_desc": "Rack Name",
"rack_id": 5,
"rack_position": 10
}
}
Примеры ошибок
{
"code": -1,
"message": "Unable to relocate eq:ID to rack:RACK @POS"
}

eq/remove_ipmi_user

Удаляет дополнительные учетные записи пользователей IPMI для сервера.

HTTP-метод: POST

Параметры:

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

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

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

eq/rename_server

Изменяет имя (hostname) существующего сервера или сбрасывает его на текущее значение из конфигурации оборудования.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: rename_server
id ✅ integer ID сервера для переименования.
server_name ❌ string Новое имя сервера. Если пусто, устанавливается текущее имя из конфигурации оборудования.
token ✅ string Уникальный идентификатор сессии для авторизации запроса.
params[name] ❌ string Новое имя сервера. Если пусто, устанавливается текущее имя из конфигурации оборудования.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=rename_server" \
--data "id=123" \
--data "server_name=new-hostname" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "rename_server",
"new_server_name": "example.com"
}
Примеры ошибок
{
"code": -1,
"message": "EQ/rename_server: invalid server id"
}

eq/replace_server

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: replace_server
id ✅ integer ID сервера (старого), который подлежит замене.
new_id ✅ integer ID нового оборудования для замены.
ticket ✅ string ID тикета Kayako для привязки операции. Обязателен для выполнения замены.
new_interface_id ❌ integer ID сетевого интерфейса на новом сервере для переноса IP-адресов.
dont_move_ip ❌ integer Флаг: не переносить IP-адреса со старого сервера на новый (0 или 1).
map_interface ❌ integer Флаг: копировать конфигурацию интерфейсов со старого сервера (0 или 1).
create_kayako_ticket ❌ integer Флаг создания нового тикета в Kayako для операции замены (0 или 1).
kayako_ticket_text ❌ string Текст сообщения для создания тикета Kayako.
tags_replace_confirmed ❌ integer Подтверждение замены тегов (пресетов) между серверами (0 или 1).
token ✅ string API-token аутентификации

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=replace_server" \
--data "id=123" \
--data "new_id=456" \
--data "ticket=789" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "replace_server"
}
Примеры ошибок
{
"code": -1,
"message": "Need both new and old server IDs for transfer"
}

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

HTTP-метод: POST

Параметры:

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

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

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",
"module": "eq",
"action": "request_backup_link",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "Error message"
}

eq/request_japl

Отправляет запрос на генерацию и отправку JNLP-файла для удаленного управления (KVM).

HTTP-метод: POST

Параметры:

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

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

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

eq/request_japl

Запрашивает файл для подключения к консоли KVM через Java Web Start.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=request_japl" \
--data "id=123" \
--data "token=your_token_here"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "request_japl",
"callback": "string (dynamically generated AMQP key)"
}
Примеры ошибок
{
"-1": {
"code": -1,
"message": "Request failed: Unknown IPMI type on server {id}"
},
"-2": {
"code": -1,
"message": "No active passthrought for $eq_id"
}
}

eq/restart_deploy

Перезапускает процесс развертывания сервера, используя данные из тега deploy_message.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: restart_deploy
id ✅ integer ID сервера.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=restart_deploy" \
--data "id=123" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "restart_deploy",
"callback": "string (key from amqp_store_job)",
"id": 123,
"os_name": "string",
"soft_name": "string"
}
Примеры ошибок
{
"code": -1,
"message": "eq/restart_deploy: invalid deploy_message tag for {id}"
}

eq/restore_backup

Запускает процесс восстановления сервера из выбранной резервной копии.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: restore_backup
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=VALUE" \
--data "name=VALUE"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "restore_backup",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "Restore request failed"
}

eq/run_scheduled_backups

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

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: run_scheduled_backups
id ✅ integer ID (используется как контекст или для фильтрации).
token ❌ string Уникальный идентификатор сессии или токен авторизации для выполнения запроса.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=run_scheduled_backups" \
--data "id=123" \
--data "token=your_token_here"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "run_scheduled_backups",
"data": [
{
"component_id": 1,
"days": 7,
"last_auto_backup": "2024-01-01 10:00:00",
"time": "12:00:00",
"timezone": "Europe/Moscow"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка выполнения задачи"
}

eq/search

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: search
token ✅ string Токен авторизации
query ❌ string Текстовый запрос для точного поиска по ID
group ❌ array<string> Группы оборудования. Принимает несколько значений: group[]=val1&group[]=val2
location ❌ array<string> Локации. Принимает несколько значений: location[]=RU&location[]=NL
status ❌ array<string> Статусы оборудования. Принимает несколько значений: status[]=rent&status[]=power_off
type ❌ array<string> Типы оборудования. Принимает несколько значений: type[]=server&type[]=switch
rack ❌ array<string> ID стойки для фильтрации оборудования
dc ❌ array<string> ID датацентра для фильтрации оборудования
owner ❌ array<string> Владелец оборудования (например: Hostkey, colo)
component ❌ array<integer> ID аппаратных компонентов для фильтрации
ip ❌ array<string> IP-адреса оборудования
mac ❌ array<string> MAC-адреса оборудования
account_id ❌ array<integer> ID аккаунта для фильтрации по биллинговой принадлежности
billing ❌ array<string> Язык или параметры биллинга (например: en, ru)
email ❌ array<string> Email-адреса для фильтрации
dc_id ❌ array<integer> ID датацентра (datacenter ID)
serialNumber ❌ array<string> Серийные номера оборудования
id ❌ array<integer> ID оборудования для фильтрации
name_client ❌ array<string> Поиск оборудования по имени клиента.
full ❌ boolean Флаг отображения полных данных о сервере.
kvm ❌ boolean Параметр для фильтрации или включения доступа к KVM.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=search" \
--data "token=HOSTKEY_TOKEN" \
--data "status[]=rent" \
--data "status[]=power_off" \
--data "type[]=server"
Пример успешного ответа
{
"servers": [
{
"id": 101,
"name_server": "srv-01",
"owner": "Hostkey",
"status": "rent",
"type": "Server",
"project_ids": [],
"mounted_iso": "",
"ipmi_model": "none",
"is_prebill": false,
"is_owner": ""
}
]
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

eq/sensors

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

HTTP-метод: POST

Параметры:

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

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

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

eq/set_node_params

Устанавливает произвольные параметры конфигурации для конкретного оборудования через JSON.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: set_node_params
id ✅ integer ID оборудования.
ovirt_disk_free ❌ number Значение свободного места на диске OVIRT.
ovirt_disk_total ❌ number Общий объем диска OVIRT.
token ❌ string Уникальный идентификатор сессии или токен авторизации для выполнения запроса.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=set_node_params" \
--data "id=123" \
--data "ovirt_disk_free=50.5" \
--data "token=your_token_here"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "set_node_params"
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка установки параметров"
}

eq/set_pin

Устанавливает новый PIN-код для доступа к управлению сервером.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: set_pin
token ✅ string Токен авторизации
id ✅ integer ID сервера
new_pin ✅ string Новый PIN-код. Допустимая длина: от 4 до 10 символов.
old_pin ❌ string Старый PIN-код для подтверждения операции.
no_pin_req ❌ boolean Отключить проверку PIN-кода (если применимо).
key ❌ string Идентификатор или ключ для выполнения операции.

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

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

eq/show

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

HTTP-метод: GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X GET \
--data "action=show" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"server_data": {
"id": 123,
"status": "rent",
"hostname": "srv-01.hostkey.com",
"ip": [
{
"IP": "192.168.1.1",
"mac": "00:1A:4B:3C:5D:6E"
}
],
"days_left": "",
"due_date": "",
"project_ids": [],
"is_prebill": false,
"prebill_service_id": null,
"name_client": "Client Name",
"server_contacts": "Contact Info",
"sla_level": "High",
"last_backup": {
"date": "2023-01-01",
"size": "10GB"
},
"reinstall": "",
"commitment": ""
},
"hardware": {},
"groups": [],
"licenses": [],
"location": {
"dc_name": "Amsterdam",
"dc_location": "NL"
},
"OS": {},
"IP": [],
"interfaces": [],
"IPMI": {
"model": "",
"interfaces": []
},
"tags": [],
"preset": "",
"commitment": "",
"emergency": {
"active": false,
"node_id": 0,
"started_at": ""
}
}
Примеры ошибок
{
"code": -1,
"message": "Nothing found for 123"
}

eq/start_speedtest

Инициирует запуск теста скорости (Speedtest) на сервере с использованием специализированного образа ОС.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: start_speedtest
id ✅ integer ID сервера.
token ✅ string API-токен аутентификации
os_id ❌ integer Идентификатор операционной системы для проведения теста скорости.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=start_speedtest" \
--data "id=VALUE" \
--data "token=HOSTKEY_TOKEN" \
--data "os_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "start_speedtest",
"callback_key": "7bc29eb231b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "Speedtest init failed"
}

eq/status

Возвращает текущий статус сервера и ключ для callback.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: status
token ✅ string Токен авторизации
id ✅ integer ID сервера
key ❌ string Ключ для получения статуса сервера.

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

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

eq/status_check

Возвращает общую информацию о состоянии системы.

HTTP-метод: GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X GET \
--data "action=status_check" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "status_check",
"data": [
"string"
]
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

eq/stop_novnc

Завершает текущую сессию NoVNC для сервера.

HTTP-метод: POST

Параметры:

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

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

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

eq/suspend

Приостанавливает работу сервера (для VPS).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: suspend
token ✅ string Токен авторизации
id ✅ integer ID сервера
key ❌ string Уникальный идентификатор или ключ для выполнения операции приостановки или разблокировки.

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

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

eq/sync_speedtest_tags

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

HTTP-метод: POST

Параметры:

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

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

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

eq/traffic_add

Запрашивает увеличение лимита исходящего трафика и создает инвойс.

HTTP-метод: POST

Параметры:

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

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

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

eq/type

Возвращает список доступных типов оборудования.

HTTP-метод: GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X GET \
--data "action=type"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "type",
"types": [
"Server",
"VPS",
"Switch"
]
}
Примеры ошибок
{
"code": -1,
"message": "Query error"
}

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: unified_server_search
query ❌ integer Поисковый запрос (ID сервера). Для выполнения поиска значение должно быть числовым.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=unified_server_search" \
--data "query=123" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "unified_server_search",
"results": {
"servers": [
{
"id": 123,
"name": "srv-01.hostkey.com",
"owner": "Hostkey",
"status": "rented",
"billing": "en",
"sla_level": "Gold"
}
]
},
"limited": {
"servers": false
},
"category": "servers"
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

eq/unit_reset

Запрашивает сброс устройства (IPMI reset) для указанного сервера.

HTTP-метод: POST

Параметры:

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

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

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

eq/suspend

Запрашивает блокировку (suspension) VPS/сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: suspend
token ✅ string Токен авторизации
id ✅ integer ID сервера
key ❌ string Уникальный идентификатор или ключ для выполнения операции приостановки или разблокировки.

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

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

eq/unsuspend

Запрашивает разблокировку (unsuspension) VPS/сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: unsuspend
token ✅ string Токен авторизации
id ✅ integer ID сервера
key ❌ string Уникальный идентификатор или ключ для выполнения операции разблокировки сервера.

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

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

eq/check_pin

Проверяет валидность PIN-кода для выполнения операций с оборудованием.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: check_pin
token ✅ string Токен авторизации
pin ✅ string PIN-код для проверки доступа к оборудованию
key ❌ string Уникальный идентификатор или ключ для проверки прав доступа.

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

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

eq/clear_pxe

Очищает PXE-конфигурацию для конкретного хоста.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: clear_pxe
token ✅ string Токен авторизации
id ✅ integer ID сервера/хоста
hostname ❌ string Имя хоста
key ❌ string Уникальный идентификатор или ключ для выполнения операции очистки конфигурации PXE.

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

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

eq/reinstall

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

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=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "reinstall",
"stage": "create_pxe",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "EQ/reinstall: invalid server id"
}

eq/update_config

Обновляет аппаратную конфигурацию сервера. Доступно только администраторам.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: update_config
id ✅ integer ID сервера.
config ❌ string Конфигурация оборудования в формате '1x1080;2x667;' (ID компонента x количество).
token ✅ string API-token аутентификации

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=update_config" \
--data "id=123" \
--data "config=1x1080;2x667;" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "update_config",
"id": 123
}
Примеры ошибок
{
"code": -1,
"message": "EQ/update_config: invalid request"
}

eq/update_groups

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

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: update_groups
id ✅ integer ID сервера.
groups ✅ array<integer> Список ID групп (ComponentGroup_ID).
token ❌ string Уникальный идентификатор сессии для авторизации запроса.

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

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

eq/update_server_options

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

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: update_server_options
id ✅ integer ID сервера.
option ✅ string Имя опции для обновления. Допустимые значения: ref_tableName, Comment, description, name, techAssigned, is_owner, serialNumber, costEUR, costRUR, costUSD, Condition_Component, name_client, owner, leasing_fk_id.
value ✅ string number
token ❌ string Уникальный идентификатор сессии для аутентификации запроса.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=update_server_options" \
--data "id=123" \
--data "option=name" \
--data "value=new_name"
Пример успешного ответа
{
"result": "OK",
"id": 123,
"value": "new_value",
"option": "name"
}
Примеры ошибок
{
"code": -1,
"message": "eq/update_server_options: invalid server id"
}

eq/update_servers

Обновляет список активных серверов для текущего токена/аккаунта.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: update_servers
token ✅ string Токен авторизации
load_servers_only ❌ boolean Загружать только серверы (true/false). Если true, исключаются серверы типа IP rent.

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=update_servers" \
--data "token=HOSTKEY_TOKEN" \
--data "load_servers_only=true"
Пример успешного ответа
{
"result": "OK",
"servers": [
101,
102
],
"billing_servers": [],
"deploy_keys": {},
"prebill_deploy_keys": [],
"prebill_pending": [],
"servers_emergency": {
"101": {
"active": true,
"node_id": 5,
"started_at": "2024-01-01T12:00:00Z"
}
}
}
Примеры ошибок
{
"code": -1,
"message": "No active servers were found for this account",
"no_servers": 1
}

eq/validate

Принимает данные от аппаратного чекера и выполняет валидацию.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=validate" \
--data "token=your_token_here"
Пример успешного ответа
{
"result": "OK",
"module": "eq",
"action": "validate",
"ticket": "displayid",
"id": "id"
}
Примеры ошибок
{
"code": -1,
"message": "EQ/validate: invalid incoming data - invalid JSON"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×