eq.php¶
Модуль управления оборудованием (eq.php): API для развертывания серверов, управления питанием, IPMI, резервными копиями, поиска и получения детальной информации о конфигурации оборудования.
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
abort_reinstall | прерывание переустановки | Прерывает процесс переустановки сервера, удаляет связанные теги (reinstall_start, autodeploy_start, autodeploy_timeout) и восстанавливает настройки VLAN. |
add_ipmi_admin | добавление IPMI пользователя (администратора) | Создает нового административного пользователя IPMI для указанного оборудования. Если пользователь уже существует, возвращает его учетные данные. |
add_ipmi_user | добавление IPMI пользователя | Создает нового пользователя IPMI для сервера. Если пользователь является администратором, требуются соответствующие права. |
announceip | объявление IP-адреса | Выполняет процедуру объявления (announcement) указанного подсетевого диапазона для сервера. |
backup_get_schedule | получение расписания бэкапов | Возвращает список запланированных задач резервного копирования для указанного сервера |
backup_list | получение списка бэкапов | Возвращает список доступных резервных копий для указанного оборудования (сервера) |
backup_save_schedule | сохранение расписания бэкапов | Сохраняет настроенное расписание автоматических резервных копий для указанного сервера |
boot_dev | запрос загрузки с носителя | Запрашивает перезагрузку сервера для загрузки с указанного носителя (PXE или диск) в зависимости от выбранного режима. |
check_backup_lock | проверка блокировки бэкапа | Проверяет наличие активной блокировки для выполнения операций с резервными копиями сервера. |
clear_pxe | очистка конфигурации PXE | Очищает конфигурацию PXE для указанного хоста. Если параметр full равен 1, удаляется всё содержимое. |
create_backup | создание резервной копии | Инициирует процесс создания резервной копии для указанного оборудования. Операция выполняется асинхронно. |
create_pxe | подготовка конфигурации PXE для переустановки | Создает конфигурацию загрузки через PXE для последующей переустановки ОС на сервере. Поддерживает выбор OS, настройку hostname, SSH-ключей и скриптов post-install. |
delete_backup | удаление бэкапа | Удаляет указанный бэкап сервера. Требует выполнения асинхронной задачи. |
deploy | развертывание сервера | Запускает процесс развертывания (деплоя) выбранного сервера или пресета. Поддерживает выбор ОС, настройку hostname, SSH-ключей и параметров диска. |
get_ipmi | получение IPMI интерфейсов | Возвращает список доступных IPMI интерфейсов сервера, включая IP-адрес и модель (vendor). |
get_traffic | получение данных о трафике | Возвращает данные об IPv4 трафике для указанного сервера |
getserversforannounce | получение серверов для анонса | Возвращает список доступных серверов (тип Server) в статусе rent или power_off, которые прошли проверку на ограничения масок подсетей и доступны для анонсирования IP-адресов. |
groups | получение групп | Возвращает список групп для указанного сервера |
hard_off | принудительное выключение сервера | Отправляет запрос на немедленное (жесткое) выключение оборудования через IPMI/контроллер. |
history | история | Возвращает историю событий сервера. |
list | получение списка оборудования | Возвращает список доступных серверов и оборудования с поддержкой расширенного поиска по различным параметрам (локация, статус, тип, IP, MAC и др.) |
off | выключение | Выключает сервер. |
on | включение | Включает сервер. |
order_instance | заказ инстанса (деплой или переустановка) | Запускает процесс развертывания нового сервера из пресета или переустановку существующего сервера с выбором ОС, программного обеспечения и параметров сети. |
reboot | перезагрузка сервера | Отправляет запрос на перезагрузку оборудования по указанному ID. Если сервер находится в режиме ожидания, может потребоваться выполнение через IPMI. |
reinstall | инициализация переустановки | Запускает процесс подготовки к переустановке сервера, создавая ключ задачи и уведомляя клиента. |
remove_ipmi_user | удаление пользователя IPMI | Удаляет дополнительные учетные записи пользователей IPMI для указанного сервера. |
request_backup_link | запрос ссылки на бэкап | Запрашивает временную ссылку для скачивания резервной копии сервера. Метод является асинхронным и возвращает callback-ключ. |
restore_backup | восстановление из бэкапа | Запускает процесс восстановления сервера из существующего резервного копирования по имени бэкапа. |
search | поиск оборудования | Возвращает список доступных серверов и оборудования, соответствующих заданным фильтрам (группа, локация, статус, тип, IP, MAC и др.) |
sensors | получение данных сенсоров оборудования | Возвращает текущие показания сенсоров для указанного сервера (например, температура или состояние дисков) |
show | получение данных о сервере | Возвращает подробную информацию о сервере, включая аппаратное обеспечение (hwconfig), операционную систему, IP-адреса, интерфейсы и IPMI. |
status | получение статуса сервера | Возвращает текущий статус оборудования и связанные с ним данные (IP, интерфейсы, IPMI, теги) |
suspend | приостановка сервера | Запрашивает приостановку (suspend) или разблокировку (unsuspend) VPS/сервера. Если действие unsuspend, сервер будет разблокирован. |
unified_server_search | единый поиск серверов | Единый поиск серверов по запросу. |
unit_reset | сброс IPMI устройства | Запрашивает выполнение операции сброса (reset) для IPMI-интерфейса указанного сервера. |
unsuspend | разблокировка сервера | Запрос на снятие блокировки (unsuspend) с сервера. Если сервер был заблокирован администратором, действие выполняется немедленно. |
update_servers | обновление списка серверов | Возвращает актуальный список серверов пользователя, включая данные из WHMCS и информацию о деплое. |
eq/abort_reinstall¶
Прерывает процесс переустановки сервера, удаляет связанные теги (reinstall_start, autodeploy_start, autodeploy_timeout) и восстанавливает настройки VLAN.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: abort_reinstall |
| id | ✅ | integer | ID сервера |
| token | ❌ | string | Токен авторизации |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "\(module/\)action: invalid server id" }
```
eq/add_ipmi_admin¶
Создает нового административного пользователя IPMI для указанного оборудования. Если пользователь уже существует, возвращает его учетные данные.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: add_ipmi_admin |
| id | ✅ | integer | ID сервера/оборудования |
| admin_user | ❌ | string | Имя администратора (если не указано, генерируется автоматически) |
| admin_pass | ❌ | string | Пароль администратора (если не указано, генерируется автоматически) |
| token | ✅ | string | API-токен аутентификации |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Add IPMI user request failed" }
```
eq/add_ipmi_user¶
Создает нового пользователя IPMI для сервера. Если пользователь является администратором, требуются соответствующие права.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: add_ipmi_user |
| token | ✅ | string | Authentication token |
| id | ✅ | integer | ID сервера |
| admin_user | ❌ | string | Имя пользователя (если требуется административный доступ) |
| admin_pass | ❌ | string | Пароль администратора IPMI |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Add IPMI user request failed" }
```
eq/announceip¶
Выполняет процедуру объявления (announcement) указанного подсетевого диапазона для сервера.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| id | ✅ | integer | ID оборудования/сервера |
| subnet | ❌ | string | Подсеть для объявления |
| server | ❌ | boolean | Флаг использования сервера |
| subnetaddr | ❌ | string | Адрес в подсети |
| subnetaddrmask | ❌ | string | Маска адреса в подсети |
| asn | ❌ | string|boolean | Номер автономной системы (можно передать 'own') |
| ownasn | ❌ | boolean | Использовать собственный ASN |
| annonce | ❌ | boolean | Флаг объявления |
| return | ❌ | boolean | Возвращать результат |
| route | ❌ | boolean | Флаг маршрутизации |
| cmnt | ❌ | string | Комментарий к объявлению |
| checkboxes | ✅ | boolean | Подтверждение условий (ASRegistered, RKPIValid, SubNetNotSpamhaus, DataIsCorrect) |
| token | ✅ | string | API-токен аутентификации |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -2, "message": "Authentication required or invalid token" }
```
eq/backup_get_schedule¶
Возвращает список запланированных задач резервного копирования для указанного сервера
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: backup_get_schedule |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID оборудования (сервера) |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "EQ/backup_get_schedule: invalid server id" }
```
eq/backup_list¶
Возвращает список доступных резервных копий для указанного оборудования (сервера)
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: backup_list |
| id | ✅ | integer | ID сервера |
| token | ❌ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "EQ/backup_list: invalid server id" }
```
eq/backup_save_schedule¶
Сохраняет настроенное расписание автоматических резервных копий для указанного сервера
HTTP-метод: POST|GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: backup_save_schedule |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID оборудования (сервера) |
| backup_schedule | ✅ | object | Объект с настройками расписания: days (array), time (string), timezone (string) |
Пример запроса
curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=backup_save_schedule" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "backup_schedule[days][]=monday" \
--data "backup_schedule[days][]=tuesday" \
--data "backup_schedule[time]=03:00" \
--data "backup_schedule[timezone]=Europe/Moscow"
Примеры ошибок
``` { "code": -1, "message": "Ошибка выполнения операции" }
```
eq/boot_dev¶
Запрашивает перезагрузку сервера для загрузки с указанного носителя (PXE или диск) в зависимости от выбранного режима.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: boot_dev |
| token | ✅ | string | Авторизационный токен |
| id | ✅ | integer | ID сервера |
| media | ✅ | string | Тип загрузочного носителя |
| boot_mode | ❌ | string | Режим загрузки (auto, uefi или legacy) |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Bootable media change request failed: invalid server id" }
```
eq/check_backup_lock¶
Проверяет наличие активной блокировки для выполнения операций с резервными копиями сервера.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: check_backup_lock |
| token | ✅ | string | Authentication token |
| id | ✅ | int | ID оборудования (сервера) |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "Request failed" }
```
eq/check_pin¶
Проверяет PIN-код для операций.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: check_pin |
| token | ✅ | string | Токен авторизации |
| pin | ✅ | string | PIN-код для проверки |
Пример запроса
eq/clear_pxe¶
Очищает конфигурацию PXE для указанного хоста. Если параметр full равен 1, удаляется всё содержимое.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: clear_pxe |
| token | ✅ | string | Authentication token |
| id | ✅ | integer | ID сервера |
| hostname | ❌ | string | Имя хоста для очистки |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "Failed to submit clear PXE config request" }
```
eq/console¶
Запрашивает запуск консоли управления сервером через IPMI/NoVNC.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: console |
| token | ❌ | string | Токен авторизации |
| id | ✅ | integer | ID сервера |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "Console request failed" }
```
eq/create_backup¶
Инициирует процесс создания резервной копии для указанного оборудования. Операция выполняется асинхронно.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: create_backup |
| id | ✅ | int | ID сервера/оборудования для создания бэкапа |
| token | ❌ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Ошибка при создании бэкапа или доступ запрещен" }
```
eq/create_pxe¶
Создает конфигурацию загрузки через PXE для последующей переустановки ОС на сервере. Поддерживает выбор OS, настройку hostname, SSH-ключей и скриптов post-install.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: create_pxe |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
| root_pass | ✅ | string | Пароль root |
| os_id | ✅ | int | ID операционной системы (Foreman ID) |
| hostname | ❌ | string | Имя хоста |
| ssh_key | ❌ | string | SSH публичный ключ |
| post_install_script | ❌ | string | Скрипт после установки |
| post_install_callback | ❌ | string | URL для обратного вызова после завершения |
| reinstall_key | ❌ | string | Ключ переустановки |
| ❌ | string | Email пользователя | |
| os_name | ❌ | string | Алиас ОС |
| disk_mirror | ❌ | int | Зеркалирование диска (0 или 1) |
| activate_windows | ❌ | int | Активация Windows (0/1) |
| uefi | ❌ | int | Режим загрузки UEFI (0/-1/1) |
| attendedInstall | ❌ | string | Атрибут автоматической установки |
| root_size | ❌ | int | Размер корневого раздела (GB) |
| deploy_ticket | ❌ | string | ID тикета Kayako для админской версии |
| ignore_duplicated_install | ❌ | int | Игнорировать дубликаты установки (для админов) |
| no_lvm | ❌ | int | Отключить LVM (0/1) |
| custom_domain | ❌ | string | Кастомный домен |
| manual_choice_dsk | ❌ | int | Ручной выбор диска (0/1) |
Пример запроса
Примеры ошибок
``` { "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 | Имя бэкапа для удаления |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Ошибка удаления бэкапа" }
```
eq/deploy¶
Запускает процесс развертывания (деплоя) выбранного сервера или пресета. Поддерживает выбор ОС, настройку hostname, SSH-ключей и параметров диска.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: deploy |
| token | ✅ | string | Токен авторизации |
| id | ❌ | integer | ID конкретного сервера для деплоя |
| preset | ❌ | string | Название пресета (если id не указан) |
| location | ✅ | integer | ID локации/датацентра |
| hostname | ❌ | string | Имя хоста для сервера |
| os_id | ❌ | integer | ID операционной системы |
| root_pass | ✅ | string | Пароль root (минимум 8 символов) |
| ssh_key | ❌ | string | SSH публичный ключ |
| post_install_script | ❌ | string | Скрипт после установки |
| post_install_callback | ❌ | string | URL для callback-уведомления |
| deploy_data | ✅ | string | Данные биллинга (invoice ID или email) |
| deploy_options | ✅ | string | Опции деплоя (например, whmcs location) |
| deploy_price | ❌ | number | Цена деплоя |
| deploy_period | ✅ | string | Период оплаты (hourly, monthly, quarterly, semi-annually, annually) |
| imitate_deploy | ❌ | integer | Режим имитации (dry run) (0 или 1) |
| imitate_error | ❌ | integer | Имитация ошибки деплоя |
| own_os | ❌ | integer | Использовать собственную ОС (0 или 1) |
| activate_windows | ❌ | integer | Активация Windows (0 или 1) |
| os_activation_code | ❌ | string | Код активации ОС |
| uefi | ❌ | integer | Режим загрузки UEFI (0 or 1) |
| attendedInstall | ❌ | integer | Автоматическая установка |
| jenkins_task | ❌ | integer | ID задачи Jenkins |
| jenkins_tests | ❌ | integer | Тесты Jenkins |
| traffic_plan | ✅ | integer | ID тарифного плана трафика |
| disk_mirror | ❌ | string | Зеркалирование дисков (RAID) |
| deploy_comment | ❌ | string | Комментарий к деплою |
| invoice_relid | ❌ | integer | ID связанного инвойса |
| no_lvm | ❌ | integer | Отключить LVM (0 или 1) |
| ipv4_amount | ✅ | integer | Количество IPv4 адресов |
| custom_domain | ❌ | string | Кастомный домен |
Пример запроса
curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=deploy" \
--data "token=YOUR_TOKEN" \
--data "location=1" \
--data "root_pass=SecurePassword123!" \
--data "deploy_data=INV-12345" \
--data "deploy_options=whmcs" \
--data "deploy_period=monthly" \
--data "traffic_plan=10" \
--data "ipv4_amount=1"
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "EQ/deploy: Empty billing data." }
```
eq/get_ipmi¶
Возвращает список доступных IPMI интерфейсов сервера, включая IP-адрес и модель (vendor).
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_ipmi |
| id | ✅ | integer | ID оборудования |
| token | ❌ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "No IPMI interfaces found" }
```
eq/get_traffic¶
Возвращает данные об IPv4 трафике для указанного сервера
HTTP-метод: POST|GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_traffic |
| id | ✅ | int | ID сервера |
| token | ❌ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "EQ/get_traffic: invalid server id" }
```
eq/get_upgrade_key¶
Возвращает ключ апгрейда, привязанный к конкретному счету (invoice_id), если для него найден соответствующий тег upgrade_key.
HTTP-метод: POST|GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_upgrade_key |
| token | ✅ | string | Токен авторизации |
| invoice_id | ✅ | integer | ID инвойса для поиска ключа апгрейда |
Пример запроса
Примеры ошибок
``` { "code": 0, "message": "EQ/get_upgrade_key: invalid invoice id or no upgrade key found" }
```
eq/getserversforannounce¶
Возвращает список доступных серверов (тип Server) в статусе rent или power_off, которые прошли проверку на ограничения масок подсетей и доступны для анонсирования IP-адресов.
HTTP-метод: POST|GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Имя действия: getserversforannounce |
| token | ❌ | string | Токен авторизации |
| subaccount | ❌ | mixed | ID или массив ID подаккаунта для фильтрации серверов |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "EQ/getserversforannounce is disabled for this subaccount." }
```
eq/groups¶
Возвращает список групп для указанного сервера
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: groups |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "EQ/groups: invalid server id" }
```
eq/hard_off¶
Отправляет запрос на немедленное (жесткое) выключение оборудования через IPMI/контроллер.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: hard_off |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "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) |
Пример запроса
Пример успешного ответа
eq/list¶
Возвращает список доступных серверов и оборудования с поддержкой расширенного поиска по различным параметрам (локация, статус, тип, IP, MAC и др.)
HTTP-метод: POST|GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: list или search |
| token | ❌ | string | Токен авторизации |
| id | ❌ | int[] | Фильтр по ID серверов. Принимает несколько значений: id[]=1&id[]=2 |
| group | ❌ | string[] | Фильтр по группам оборудования. Принимает несколько значений: group[]=1CPU&group[]=2CPU |
| location | ❌ | string[] | Фильтр по локациям (например, RU, NL). Принимает несколько значений: location[]=RU&location[]=NL |
| status | ❌ | string[] | Фильтр по статусам. Принимает несколько значений: status[]=rent&status[]=power_off |
| type | ❌ | string[] | Тип оборудования (server, switch и т.д.). Принимает несколько значений: type[]=server&type[]=switch |
| ip | ❌ | string[] | Фильтр по IP адресу. Принимает несколько значений: ip[]=1.2.3.4&ip[]=5.6.7.8 |
| ❌ | string[] | Фильтр по email владельца. Принимает несколько значений: email[]=user@test.com&email[]=admin@test.com | |
| full | ❌ | boolean | Возвращать полную информацию (для администраторов) |
| mac | ❌ | string[] | Фильтр по MAC адресу |
| account_id | ❌ | int[] | Фильтр по ID аккаунта (billing identity) |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "EQ/list: invalid server id" }
```
eq/off¶
Выключает сервер.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: off |
| id | ✅ | int | ID сервера |
| token | ✅ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
eq/on¶
Включает сервер.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: on |
| id | ✅ | int | ID сервера |
| token | ✅ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
eq/order_instance¶
Запускает процесс развертывания нового сервера из пресета или переустановку существующего сервера с выбором ОС, программного обеспечения и параметров сети.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Имя действия (order_instance) |
| token | ✅ | string | Токен авторизации |
| id | ❌ | integer | ID существующего сервера (для переустановки/reinstall) |
| preset | ❌ | string | ID или имя пресета для нового заказа |
| root_pass | ✅ | string | Пароль root (не должен содержать @ или #) |
| os_template | ❌ | string | Шаблон ОС для деплоя из шаблона |
| soft_id | ❌ | integer | ID дополнительного программного обеспечения |
| ssh_key | ❌ | string | SSH публичный ключ |
| post_install_script | ❌ | string | Скрипт после установки |
| post_install_callback | ❌ | string | URL для callback-уведомления |
| hostname | ❌ | string | Имя хоста |
| reinstall_key | ❌ | string | Ключ переустановки |
| ❌ | string | Email пользователя | |
| deploy_data | ❌ | string | Данные для деплоя (например, email или ID инвойса) |
| deploy_options | ❌ | string | Параметры деплоя (локация WHMCS) |
| deploy_period | ❌ | string | Период оплаты (hourly, quarterly, semi-annually, annually) |
| deploy_notify | ❌ | integer | Уведомлять ли о деплое (-1 - нет, 0 - да) |
| os_name | ❌ | string | Алиас ОС |
| deploy_ticket | ❌ | string | ID тикета Kayako для привязки к деплою |
| imitate_error | ❌ | integer | Имитация ошибки (0 - нет) |
| imitate_deploy | ❌ | integer | Dry run режим (1 - да) |
| own_os | ❌ | integer | Использовать собственную ОС (1 - да) |
| jenkins_task | ❌ | integer | ID задачи Jenkins |
| jenkins_tests | ❌ | integer | Количество тестов Jenkins |
| traffic_plan | ❌ | integer | ID тарифного плана трафика |
| disk_mirror | ❌ | string | Зеркалирование дисков (например, 1) |
| deploy_comment | ❌ | string | Комментарий к деплою |
| custom_domain | ❌ | string | Кастомный домен |
| vlan | ❌ | integer | ID приватного VLAN |
| ipv4_amount | ❌ | integer | Количество IPv4 адресов |
| no_lvm | ❌ | integer | Не использовать LVM (1 - да) |
| promocode | ❌ | string | Промо코드 |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "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 для доступа к консоли |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "oVirt noVNC console request failed" }
```
eq/reboot¶
Отправляет запрос на перезагрузку оборудования по указанному ID. Если сервер находится в режиме ожидания, может потребоваться выполнение через IPMI.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: reboot |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "Reboot request failed" }
```
eq/reinstall¶
Запускает процесс подготовки к переустановке сервера, создавая ключ задачи и уведомляя клиента.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: reinstall |
| id | ✅ | int | ID сервера для переустановки |
| token | ✅ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "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 | Токен авторизации |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "EQ/remove_ipmi_user: action: error message" }
```
eq/request_backup_link¶
Запрашивает временную ссылку для скачивания резервной копии сервера. Метод является асинхронным и возвращает callback-ключ.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: request_backup_link |
| token | ✅ | string | Авторизационный токен |
| id | ✅ | int | ID сервера |
| name | ❌ | string | Имя бэкапа |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Request failed: error_details" }
```
eq/restore_backup¶
Запускает процесс восстановления сервера из существующего резервного копирования по имени бэкапа.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: restore_backup |
| id | ✅ | int | ID оборудования (сервера) |
| name | ✅ | string | Имя бэкапа для восстановления |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Request failed: error_details" }
```
eq/search¶
Возвращает список доступных серверов и оборудования, соответствующих заданным фильтрам (группа, локация, статус, тип, IP, MAC и др.)
HTTP-метод: POST|GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| params[group] | ❌ | array<string> | Фильтр по группе (например: 1CPU, 2CPU) |
| params[location] | ❌ | array<string> | Код локации (например: RU, NL) |
| params[rack] | ❌ | array<string> | ID стойки |
| params[status] | ❌ | array<string> | Статус сервера (например: sale, prepare_full) |
| params[owner] | ❌ | array<string> | Владелец оборудования |
| params[component] | ❌ | array<int> | ID аппаратного компонента |
| params[type] | ❌ | array<string> | Тип оборудования (server, switch и т.д.) |
| params[ip] | ❌ | array<string> | Поиск по IP адресу |
| params[mac] | ❌ | array<string> | Поиск по MAC-адресу |
| params[account_id] | ❌ | array<int> | ID аккаунта в биллинге |
| params[billing] | ❌ | array<string> | Регион биллинга (en/ru) |
| params[email] | ❌ | array<string> | Поиск по email клиента |
| params[name_client] | ❌ | array<string> | Имя клиента |
| params[full] | ❌ | boolean | Возвращать полные данные (true/false) |
| params[kvm] | ❌ | array<string> | Фильтр по наличия KVM |
| params[serialNumber] | ❌ | array<string> | Поиск по серийному номеру |
| params[id] | ❌ | array<int> | Фильтр по ID оборудования |
| token | ✅ | string | API-токен аутентификации |
Пример запроса
Пример успешного ответа
{
"result": "OK",
"servers": [
{
"id": 123,
"name_server": "srv-01",
"owner": "Hostkey",
"status": "sale",
"billing": "en",
"type": "Server",
"location": "NL",
"ip": [
{
"IP": "1.2.3.4",
"Status": "active"
}
],
"project_ids": [],
"mounted_iso": "",
"is_prebill": false,
"prebill_service_id": null,
"prebill_rate": 0.0,
"prebill_period": ""
}
]
}
Примеры ошибок
``` { "code": -2, "message": "Authentication required" }
```
eq/sensors¶
Возвращает текущие показания сенсоров для указанного сервера (например, температура или состояние дисков)
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| id | ✅ | integer | ID сервера |
| action | ❌ | string | Действие (sensors) |
| token | ❌ | string | Токен авторизации |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "EQ/sensors: invalid server id" }
```
eq/set_pin¶
Устанавливает PIN-код для операций.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: set_pin |
| token | ✅ | string | Токен авторизации |
| new_pin | ✅ | string | Новый PIN-код (4-10 символов) |
| old_pin | ❌ | string | Старый PIN-код |
| no_pin_req | ❌ | string | Флаг пропуска проверки PIN (true/false) |
Пример запроса
Пример успешного ответа
eq/show¶
Возвращает подробную информацию о сервере, включая аппаратное обеспечение (hwconfig), операционную систему, IP-адреса, интерфейсы и IPMI.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: show |
| id | ✅ | int | ID оборудования |
| token | ❌ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
{
"result": "OK",
"server_data": {
"id": 123,
"status": "rent",
"Condition_Component": "power_on",
"hostname": "srv-01.hostkey.com",
"owner": "user@example.com",
"type": "Server",
"is_prebill": false,
"project_ids": [
1,
2
],
"days_left": "",
"due_date": "",
"server_contacts": null,
"sla_level": null,
"last_backup": {
"date": "string",
"size": "string"
},
"prebill_service_id": null,
"name_client": "string"
},
"hardware": {
"cpu": "Intel Xeon E5-2680 v4",
"ram": "64GB",
"hdd": "2x960GB SSD"
},
"groups": [
{
"tag": "group_name",
"value": "premium"
}
],
"licenses": [],
"reinstall": "",
"location": {
"rack_id": 10,
"rack_position": 5,
"rack_name": "Rack-A",
"dc_name": "Amsterdam",
"dc_location": 2,
"location_id": 45
},
"OS": {
"id": 10,
"name": "Ubuntu 22.04 LTS",
"active": 1
},
"IP": [
{
"IP": "192.168.1.1",
"mac": "00:1A:2B:3C:4D:5E",
"type": "IPv4"
}
],
"interfaces": [
{
"id": 1,
"type": "eth0",
"mac": "00:1A:2B:3C:4D:5E",
"IsMain": true,
"Status": "up",
"port_of_virt_node": 0,
"tags": []
}
],
"IPMI": {
"model": "",
"interfaces": [],
"user": "",
"password": "",
"white_ip": "",
"ip_acl": "",
"rule_id": ""
},
"tags": [
{
"tag": "server_name",
"value": "my-server"
}
],
"preset": null,
"commitment": ""
}
Примеры ошибок
``` { "code": -1, "message": "Nothing found for 123" }
```
eq/status¶
Возвращает текущий статус оборудования и связанные с ним данные (IP, интерфейсы, IPMI, теги)
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: status |
| id | ✅ | int | ID сервера |
| token | ❌ | string | Токен авторизации |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "Status request failed" }
```
eq/status_check¶
Возвращает текущий статус оборудования (доступен для проверки без авторизации)
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: status_check |
| - | - | - | Других параметров нет |
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "EQ/status: invalid server id" }
```
eq/suspend¶
Запрашивает приостановку (suspend) или разблокировку (unsuspend) VPS/сервера. Если действие unsuspend, сервер будет разблокирован.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: suspend или unsuspend |
| id | ✅ | int | ID сервера |
| token | ✅ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Suspend request failed" }
```
eq/traffic_add¶
Увеличивает лимит исходящего трафика для сервера и формирует счет на оплату в WHMCS.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: traffic_add |
| token | ❌ | string | Токен авторизации |
| id | ✅ | integer | ID сервера |
| new_limit | ✅ | integer | Новый лимит трафика (в ТБ) |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "\(module/\)action: invalid new_limit" }
```
eq/unified_server_search¶
Единый поиск серверов по запросу.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: unified_server_search |
| token | ✅ | string | Токен авторизации |
| query | ✅ | string | Запрос поиска (строка или числовой ID) |
Пример запроса
Пример успешного ответа
eq/unit_reset¶
Запрашивает выполнение операции сброса (reset) для IPMI-интерфейса указанного сервера.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: unit_reset |
| id | ✅ | int | ID оборудования/сервера |
| token | ❌ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "IPMI unit reset request failed: error_details" }
```
eq/unsuspend¶
Запрос на снятие блокировки (unsuspend) с сервера. Если сервер был заблокирован администратором, действие выполняется немедленно.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: unsuspend |
| id | ✅ | int | ID сервера |
| token | ✅ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Unsuspend request failed" }
```
eq/update_servers¶
Возвращает актуальный список серверов пользователя, включая данные из WHMCS и информацию о деплое.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: update_servers |
| token | ✅ | string | API-токен аутентификации |
| servers[] | ❌ | int[] | Список ID серверов для синхронизации |
| load_servers_only | ❌ | string | Если true, возвращает только не-IP серверы |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Failed to retrive servers list, billing error: ..." }
```