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

ip.php

В этой статье

Модуль управления IP-адресами: получение информации о клиенте, трафике, PTR-записях и управление основными адресами

Методы API

Метод Действие Описание
add_dhcp_lease управление DHCP арендой Добавление или удаление записи в DHCP-аренде для указанного IP.
bill_traffic запуск биллинга трафика Запускает процесс расчета входящего и исходящего трафика для IP-адресов за указанную дату.
change_ip смена IP-адреса Выполняет процедуру смены текущего IPv4 адреса сервера на новый. Поддерживает предварительный просмотр доступного IP, проверку ограничений для клиентов и автоматическую блокировку старого IP в списках (RKND).
dhcp_report отчет DHCP Получение отчета по DHCP-арендам в указанной локации.
flow_remove удаление сетевого потока Удаляет запись о сетевом потоке (mac_flow) по её ID.
get_client_ip получение клиентского IP Возвращает текущий IP-адрес клиента, совершившего запрос.
get_ip получение информации об IP Возвращает полные данные о сетевом адресе, включая маску подсети и информацию о сети.
get_ip_pricing получение цен на IP Возвращает таблицу цен на IPv4 адреса для различных конфигураций.
get_ptr получение PTR-записи Возвращает текущую обратную DNS-запись (PTR) для указанного IP-адреса.
get_range_ip получение данных диапазона IP Возвращает данные о диапазоне IP-адресов вместе с информацией о серверах.
get_range_subnets получение подсетей диапазона Возвращает список подсетей, входящих в указанный IPv4 диапазон.
get_subnet получение данных подсети по IP или ID Возвращает данные о подсети (network, broadcast, netmask и др.) по её IP-адресу или идентификатору.
get_traffic получение трафика Возвращает данные о входящем и исходящем трафике для IP за указанный период.
get_vlan получение списка VLAN Возвращает список VLAN для указанной локации.
get_vlan_ip получение IP в VLAN Возвращает полный список IP-адресов, принадлежащих конкретному VLAN.
ip_flow получение потока трафика IP Загружает данные о MAC-адресах (flow) для указанного IP.
ip_history получение истории IP Возвращает историю изменений для конкретного IP-адреса.
list_free_ip получение свободных IP Возвращает список неиспользуемых IP-адресов для конкретной локации на основе тегов RR.
list_private_vlans получение приватных VLAN Возвращает список приватных VLAN для указанного email.
list_range_ip получение списка IPv4 диапазонов для указанной локации Возвращает список IPv4 диапазонов (subnets) с привязанными тегами для указанной локации или всех локаций.
list_subnets получение списка подсетей Возвращает список всех доступных IPv4 подсетей для указанной локации.
list_subnets_with_tags получение подсетей с тегами Возвращает список подсетей в указанной локации с учетом фильтрации по VLAN.
list_used_ip получение списка использованных IP Возвращает список всех занятых IPv4 адресов в указанной локации.
list_white_ip получение списка белых IP Возвращает список IPv4 адресов, находящихся в белом списке (whitelist) для указанной локации.
range_add_subnet добавление подсети в диапазон Добавляет новую подсеть в существующий IP-диапазон через вызов функции range_add_subnet.
range_clear_subnet очистка подсети Очищает подсеть от привязанных IP-адресов (удаляет серверные привязки).
range_delete_subnet удаление подсети Удаляет указанную подсеть из диапазона.
range_show_subnet получение данных подсети по ID Возвращает информацию о конкретной подсети в рамках диапазона по её идентификатору.
range_update_subnet обновление подсети Обновляет данные существующей подсети (VLAN, описание, локация).
relocate_ip перемещение IP-адресов между сетевыми интерфейсами Перемещает указанные IP-адреса с одного сетевого интерфейса (NIC) на другой.
remove_dhcp_lease удаление DHCP-аренды Удаляет запись о DHCP-аренде для указанного IP-адреса.
set_main установка основного IP Устанавливает выбранный IP-адрес как основной для сетевого интерфейса сервера.
set_white_ddos управление белым списком DDOS Добавляет или удаляет IP-адрес из белого списка защиты от DDoS для конкретного сервера.
update_ptr обновление PTR-записи Устанавливает новую обратную DNS-запись (PTR) для IP-адреса.
update_ptr обновление PTR-записи Обновляет обратную DNS-запись (PTR) для указанного IP.

ip/add_dhcp_lease

Добавление или удаление записи в DHCP-аренде для указанного IP.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_dhcp_lease
token ✅ string Токен авторизации
params[ip] ✅ string IP-адрес для управления арендой.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=add_dhcp_lease" \
--data "token=HOSTKEY_TOKEN" \
--data "params[ip]=192.168.1.1"
Пример успешного ответа
{
"result": "OK",
"action": "add_dhcp_lease",
"callback": "string (amqp job key)"
}
Примеры ошибок
{
"code": -1,
"message": "invalid IPv4 {ip}, incorrect IP syntax",
"description": "Ошибка синтаксиса IP-адреса"
}

ip/bill_traffic

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: bill_traffic
token ✅ string Токен авторизации
date ❌ string Дата для расчета трафика. По умолчанию: вчерашняя дата в формате Y-m-d.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=bill_traffic" \
--data "token=HOSTKEY_TOKEN" \
--data "date=2023-10-27"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "bill_traffic",
"message": [
"Preparing inbound data for 2023-10-27",
"Preparing outbound data",
"got outbound traffic",
"got inbound traffic",
" getting recent due dates.. ",
"got due dates",
"got billing cycles",
"discarding data for 0 servers with new billing period",
"updating server's counters.. ",
"processed servers",
"finishing billing.. ",
"cleared ip_traffic from the unbilled",
"moving billed data to the main table",
"cleanup temp table",
"Traffic data updated for 2023-10-27, 0 servers"
],
"traceKey": "550e8400-e29b-41d4-a716-446655440000"
}
Примеры ошибок
{
"code": -1,
"message": "bill_traffic for 2023-10-27 is already running, skipping duplicate run"
}

ip/change_ip

Выполняет процедуру смены текущего IPv4 адреса сервера на новый. Поддерживает предварительный просмотр доступного IP, проверку ограничений для клиентов и автоматическую блокировку старого IP в списках (RKND).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: change_ip
token ✅ string Токен авторизации пользователя
ip ✅ string Текущий IPv4 адрес сервера, который необходимо заменить
id ✅ integer Идентификатор услуги (сервера)
new_ip ❌ string Новый IPv4 адрес для назначения. Если не указан, система подберет свободный IP в текущей локации.
block_subnet ❌ boolean Флаг блокировки всей подсети старого IP-адреса в списках RKND
add_to_blacklist ❌ boolean Флаг принудительной добавления старого IP в черный список (для администраторов)

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=change_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=1.2.3.4" \
--data "id=123" \
--data "new_ip=5.6.7.8" \
--data "block_subnet=true" \
--data "add_to_blacklist=false"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "change_ip",
"data": {
"old_ip": "1.2.3.4",
"new_ip": "5.6.7.8",
"reason": "Customer request",
"blocked": true,
"note": "Standard change procedure"
}
}
Примеры ошибок
{
"code": -1,
"message": "change_ip: ip and id are required"
}

ip/dhcp_report

Получение отчета по DHCP-арендам в указанной локации.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: dhcp_report
token ✅ string Токен авторизации
hw_tag ❌ string Hardware tag фильтрации.
status ❌ integer Статус DHCP аренды.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=dhcp_report" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "dhcp_report",
"dhcp": [
{
"id": 123,
"ipv4": "1.2.3.4",
"mac": "00:1A:4C:4E:F9:D1",
"cidr": "1.2.3.0/24",
"gateway": "1.2.3.1"
}
],
"dup_mac": {
"00:1A:4C:4E:F9:D1": [
123,
124
]
},
"wrong_mac": []
}
Примеры ошибок
{
"-1": "dhcp_report IP/MAC data missing for location US",
"Exception": "module/action: no location in request | module/action: invalid location [location] | module/action: no main parameter | module/action: invalid main parameter [main], should be 0 for IPMI or 1 for a main IPv4 | module/action: permission denied, logout | module/action: invalid token, logout"
}

ip/flow_remove

Удаляет запись о сетевом потоке (mac_flow) по её ID.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: flow_remove
token ✅ string Токен авторизации
params[id] ✅ integer Идентификатор сетевого потока (mac_flow)

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=flow_remove" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=VALUE"
Пример успешного ответа
{
"result": "OK"
}
Примеры ошибок
{
"-1": "IP flow delete error - {$res['error']}"
}

ip/get_client_ip

Возвращает текущий IP-адрес клиента, совершившего запрос.

HTTP-метод: POST

Параметры:

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

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

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

ip/get_ip_pricing

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

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_ip_pricing
token ✅ string Токен авторизации
currency ❌ string Валюта для отображения цен.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=get_ip_pricing" \
--data "token=HOSTKEY_TOKEN" \
--data "currency=USD"
Пример успешного ответа
{
"data": {}
}
Примеры ошибок
{}

ip/get_ptr

Возвращает текущую обратную DNS-запись (PTR) для указанного IP-адреса.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_ptr
token ✅ string Токен авторизации.
id ✅ integer Идентификатор сервера для проверки прав доступа и получения списка IP.
ip ✅ string IP-адрес, для которого необходимо получить PTR-запись.
location ❌ string Местоположение или зона для получения PTR-записи IP-адреса.

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

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

ip/get_range_ip

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

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_range_ip
token ✅ string Токен авторизации
params[id] ✅ integer Идентификатор диапазона IP (range id)
params[full] ❌ boolean Флаг для возврата полных данных с информацией о серверах.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=get_range_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=123" \
--data "params[full]=true"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "get_range_ip",
"data": [
{
"IP": "1.2.3.4",
"server_id": 10,
"server_type": "server",
"server_status": "active",
"server_owner": "Hostkey"
}
]
}
Примеры ошибок
{
"-1": {
"result": -1,
"message": "zero result for [id]: [error_details]"
}
}

ip/get_range_subnets

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

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_range_subnets
token ✅ string Токен авторизации
id ✅ integer Идентификатор диапазона IPv4 (range id)
full ❌ boolean Флаг для возврата полных данных подсетей в ответе.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=get_range_subnets" \
--data "token=HOSTKEY_TOKEN" \
--data "id=1"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "get_range_subnets",
"data": [
{
"id": 1,
"network": "192.168.1.0",
"broadcast": "192.168.1.255",
"netmask": "255.255.255.0",
"gateway": "192.168.1.1",
"description": "test",
"vlan": 10,
"tags": []
}
]
}
Примеры ошибок
{
"-1": {
"result": -1,
"message": "no subnets defined for the range {id}"
},
"exception": {
"result": -1,
"message": "{module}/{action}: range id required"
}
}

ip/get_subnet

Возвращает данные о подсети (network, broadcast, netmask и др.) по её IP-адресу или идентификатору.

HTTP-метод: POST/GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=get_subnet" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=192.168.0.0"
Пример успешного ответа
{
"result": "OK",
"action": "get_subnet",
"data": {
"id": 1,
"vlan_id": 10,
"network": "192.168.0.0",
"broadcast": "192.168.0.255",
"netmask": "255.255.255.0",
"range_id": 5,
"description": "Test subnet",
"gateway": "192.168.0.1",
"DateUpdate": "2023-01-01 00:00:00",
"reg_id": 2,
"groups": "[\"group1\"]",
"vlan_number": 10
}
}
Примеры ошибок
{
"400": {
"message": "Subnet ID or network address is required"
},
"404": {
"message": "zero result for [ip/id]"
}
}

ip/get_vlan

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_vlan
full_ip_counts ❌ integer Флаг для включения полного подсчета IP. По умолчанию 0.
token ✅ string Уникальный идентификатор сессии или токен авторизации.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=get_vlan" \
--data "full_ip_counts=1" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "get_vlan",
"data": [
{
"vlan_number": 10,
"vlan_desc": "Description",
"vlan_id": 1,
"tags": [],
"total_ip": 254,
"used_ip": 10
}
]
}
Примеры ошибок
{
"result": -1,
"message": "location required"
}

ip/get_vlan_ip

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_vlan_ip
token ✅ string Уникальный идентификатор сессии или токен авторизации для выполнения запроса.
vlan ✅ integer ID указанного VLAN для получения списка IP-адресов.
full ❌ boolean Флаг для возврата полного списка IP-адресов в формате с оберткой данных.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=get_vlan_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "vlan=100"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "get_vlan_ip",
"data": [
{
"IP": "192.168.1.0",
"broadcast": "192.168.1.255",
"net": "customer_name",
"server_id": -1,
"server_type": "",
"server_status": "",
"server_owner": ""
}
]
}
Примеры ошибок
{
"PlatformException": {
"code": -1,
"message": "zero result"
},
"Exception": {
"code": null,
"message": "vlan id required"
}
}

ip/ip_flow

Загружает данные о MAC-адресах (flow) для указанного IP.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: ip_flow
ip ❌ string IP-адрес или MAC-адрес для получения данных о трафике.
status ❌ integer Статус проверки (по умолчанию 100).
start ❌ integer Смещение для пагинации данных.
token ✅ string Уникальный идентификатор сессии или токен авторизации.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=ip_flow" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=1.2.3.4"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "ip_flow",
"flow": [
{
"id": 1,
"ip": "1.2.3.4",
"mac": "00:11:22:33:44:55",
"updated": "2023-01-01 00:00:00",
"created": "2023-01-01 00:00:00",
"checked": 1,
"location": "DataCenterName",
"origin": "NetworkName"
}
]
}
Примеры ошибок
{
"-1": [
"$module/ip_flow: IP flow data missing"
],
"Exception": [
"$module/ip_flow: permission denied, logout",
"$module/ip_flow: invalid token, logout",
"$module/ip_flow: invalid request",
"$module/ip_flow: IP flow load error - {error}"
]
}

ip/ip_history

Возвращает историю изменений для конкретного IP-адреса.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: ip_history
params[ip] ❌ string IP-адрес для получения истории изменений. Если не указан, возвращается история по всем IP (в зависимости от реализации ipv4_load_history).
params[id] ✅ integer Идентификатор компонента (server_id) для фильтрации истории.
token ✅ string Уникальный идентификатор сессии или токен авторизации.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=ip_history" \
--data "params[id]=123" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "ip_history",
"history": [
{
"ip": "1.2.3.4",
"active_from": "2024-01-01 10:00:00",
"bind_user": "admin",
"active_to": "2024-01-02 12:00:00",
"unbind_user": null,
"email": "client@example.com",
"server_id": 123,
"comment": "Note",
"hwconfig": "...",
"eq_type": "...",
"location": "Rack-Pos-ID",
"email_client": "owner@test.com",
"status": "rented",
"client": "Client Name",
"ip_server_id": 123
}
]
}
Примеры ошибок
{
"-1": [
"$module/$action: IP history load error - {error}",
"$module/$action: IP history data missing"
],
"Exception": [
"$module/$action: invalid id $id",
"$module/$action: invalid IP $ip",
"$module/$action: invalid request"
]
}

ip/list_private_vlans

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=list_private_vlans" \
--data "email=user@example.com" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "list_private_vlans",
"data": []
}
Примеры ошибок
{
"code": -1,
"message": "authentication required"
}

ip/list_range_ip

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: list_range_ip
params[location] ✅ string Код локации (например, 'RU', 'NL') или 'all' для получения всех диапазонов.
params[full] ❌ boolean Флаг для возврата полного набора данных в ответе (обертка в data).
token ✅ string Уникальный идентификатор токена для авторизации или проверки сессии.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=list_range_ip" \
--data "params[location]=RU" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "list_range_ip",
"data": [
{
"id": 1,
"network": "192.168.0.0",
"broadcast": "192.168.0.255",
"hidden": 0,
"groups": null,
"location": "RU",
"tags": [
{
"component_id": 1,
"t": "tag_name"
}
]
}
],
"_note": "If 'full' is false, response returns the array directly without 'data' wrapper."
}
Примеры ошибок
{
"code": -1,
"message": "location required"
}

ip/list_subnets

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

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: list_subnets
params[location] ✅ string Код локации (например, RU, NL)
params[vlan] ❌ integer Номер VLAN для фильтрации подсетей
token ❌ string Уникальный идентификатор сессии для авторизации запроса.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=list_subnets" \
--data "params[location]=RU"
Пример успешного ответа
{
"result": "OK",
"subnets": [
{
"id": 1,
"network": "192.168.1.0",
"broadcast": "192.168.1.255",
"netmask": "255.255.255.0",
"gateway": "192.168.1.1",
"cidr": "192.168.1.0/24",
"vlan": 100
}
]
}
Примеры ошибок
{
"errors": [
{
"code": -1,
"message": "ip/list_subnets: location required"
},
{
"code": -1,
"message": "ip/list_subnets: zero result for [location]"
}
]
}

ip/list_subnets_with_tags

Возвращает список подсетей в указанной локации с учетом фильтрации по VLAN.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: list_subnets_with_tags
params[location] ✅ string Локация для поиска подсетей. Обязательный параметр.
params[vlan] ❌ integer Фильтр по VLAN. Если указано -1 или пусто, фильтрация не применяется.
token ✅ string Уникальный идентификатор сессии или токен авторизации для выполнения запроса.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=list_subnets_with_tags" \
--data "params[location]=VALUE" \
--data "params[vlan]=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"subnets": [
{
"component_id": 1,
"tags": [
{
"tag": "customer",
"value": "user@example.com"
}
]
}
]
}
Примеры ошибок
{
"400": {
"message": "VLAN must be an integer"
},
"500": {
"message": "location required"
}
}

ip/list_used_ip

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: list_used_ip
token ✅ string Токен авторизации для доступа к API.
zone ❌ string Название или идентификатор зоны.
reg_zoneid ❌ integer Идентификатор региональной зоны.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=list_used_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "zone=some_zone" \
--data "reg_zoneid=123"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "list_used_ip",
"count": 150,
"ips": [
{
"ip": "192.168.1.1",
"locked": 0,
"white_ddos": 0,
"server": 123,
"server_type": "physical",
"server_status": "active",
"owner": "client",
"ddos_limit": 0
}
]
}
Примеры ошибок
{
"PlatformException": {
"code": -1,
"message": "general failure"
}
}

ip/list_white_ip

Возвращает список IPv4 адресов, находящихся в белом списке (whitelist) для указанной локации.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: list_white_ip
token ✅ string Токен авторизации для выполнения запроса.
zone ❌ string Название или идентификатор зоны.
reg_zoneid ❌ integer Идентификатор региональной зоны.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=list_white_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "zone=my_zone" \
--data "reg_zoneid=123"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "list_white_ip",
"data": [
{
"IpAdress2.ip": "10.0.0.1",
"NetWhiteIp.ID": 5
}
]
}
Примеры ошибок
{
"-1": {
"message": "general failure for [location]"
},
"failed to resolve [location]: [error]": {
"message": "failed to resolve $location: {$l['error']}"
}
}

ip/range_add_subnet

Добавляет новую подсеть в существующий IP-диапазон через вызов функции range_add_subnet.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=range_add_subnet" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "range_add_subnet",
"data": "результат выполнения функции range_add_subnet"
}
Примеры ошибок
{
"code": -1,
"message": "Error message"
}

ip/range_clear_subnet

Очищает подсеть от привязанных IP-адресов (удаляет серверные привязки).

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: range_clear_subnet
params[id] ✅ integer ID подсети (извлекается из \(_POST/\)_GET).
params[range_id] ✅ integer ID диапазона.
token ✅ string Уникальный идентификатор сессии или токен авторизации для выполнения запроса.

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

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

ip/range_delete_subnet

Удаляет указанную подсеть из диапазона.

HTTP-метод: POST

Параметры:

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

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

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

ip/range_show_subnet

Возвращает информацию о конкретной подсети в рамках диапазона по её идентификатору.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: range_show_subnet
token ✅ string Токен авторизации
id ❌ integer Идентификатор подсети. По умолчанию 0.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=range_show_subnet" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "range_show_subnet",
"component_id": 123,
"tags": [
{
"tag": "customer",
"value": "user@example.com"
}
]
}
Примеры ошибок
{}

ip/range_update_subnet

Обновляет данные существующей подсети (VLAN, описание, локация).

HTTP-метод: POST

Параметры:

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

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

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

ip/relocate_ip

Перемещает указанные IP-адреса с одного сетевого интерфейса (NIC) на другой.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: relocate_ip
token ✅ string Токен авторизации
move_ip[] ❌ array<object> Массив объектов для перемещения. Каждый объект содержит: ip (IP в длинном формате), port (ID старого сетевого интерфейса). Принимает несколько значений.
new_nic ❌ integer ID нового сетевого интерфейса (NetInterface ID)

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=relocate_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "move_ip[0][ip]=3232235776" \
--data "move_ip[0][port]=1" \
--data "new_nic=2"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "relocate_ip",
"data": [
{
"result": 1,
"error": null
}
]
}
Примеры ошибок
{
"code": -1,
"message": "ipv4_move: unable to find old interface {id}"
}

ip/remove_dhcp_lease

Удаляет запись о DHCP-аренде для указанного IP-адреса.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: remove_dhcp_lease
token ✅ string Токен авторизации
params[ip] ✅ string IP-адрес для удаления DHCP-аренды

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=remove_dhcp_lease" \
--data "token=HOSTKEY_TOKEN" \
--data "params[ip]=192.168.1.1"
Пример успешного ответа
{
"result": "OK",
"action": "remove_dhcp_lease",
"callback": "string (32 char hex string)"
}
Примеры ошибок
{
"-1": {
"code": -1,
"message": "remove DHCP lease request failed: error message"
}
}

ip/set_white_ddos

Добавляет или удаляет IP-адрес из белого списка защиты от DDoS для конкретного сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: set_white_ddos
token ✅ string Токен авторизации
id ✅ integer Идентификатор сервера
ip ✅ string IP-адрес для добавления или удаления из белого списка
white ✅ integer Режим операции: 1 — добавить в белый список, иначе — удалить

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=set_white_ddos" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "ip=VALUE" \
--data "white=VALUE"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "set_white_ddos",
"message": "$ip [added to|removed from] DDOS whitelist for server $id"
}
Примеры ошибок
{
"-1": {
"result": "-1",
"message": "error adding IP to whitelist"
},
"invalid request": {
"result": "Exception",
"message": "$module/$action: invalid request"
},
"invalid IP": {
"result": "Exception",
"message": "$module/$action: invalid IP"
}
}

ip/update_ptr

Устанавливает новую обратную DNS-запись (PTR) для IP-адреса.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: update_ptr
token ✅ string Токен авторизации.
id ✅ integer Идентификатор сервера для проверки прав доступа и получения списка IP-адресов.
ip ✅ string IP-адрес, для которого устанавливается PTR-запись.
ptr ✅ string Новое значение обратной DNS-записи (PTR).
location ✅ string Местоположение или контекст для записи в лог истории.

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

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

ip/get_traffic

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_traffic
token ✅ string Токен авторизации.
ip ✅ string IP-адрес для получения данных о трафике.
period_start ❌ integer Начальная временная метка (timestamp) периода.
period_stop ❌ integer Конечная временная метка (timestamp) периода.
summary ❌ integer Режим возврата данных: 1 — вернуть только сводку {ip, in, out} в GB, 0 — вернуть все тики с метками времени для графиков.
unbilled ❌ integer Фильтр по оплаченному трафику: 1 — вернуть только неоплаченные тики, 0 — все тики.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=get_traffic" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=1.2.3.4"
Пример успешного ответа
{
"result": "OK",
"traffic": [
{
"timestamp": "2024-05-20T12:00:00Z",
"in": 0.5,
"out": 1.2
}
]
}
Примеры ошибок
{
"code": -1,
"message": "no significant traffic detected for IP in the period..."
}

ip/list_free_ip

Возвращает список неиспользуемых IP-адресов для конкретной локации на основе тегов RR.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: list_free_ip
token ✅ string Токен авторизации.
exclude_special ❌ integer Исключать специальные IP. Допустимые значения: 0, 1.
full ❌ boolean Флаг для возврата полного набора данных в ответе.
location ❌ string Идентификатор или название локации для поиска свободных IP-адресов.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=list_free_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "location=London" \
--data "exclude_special=1"
Пример успешного ответа
{
"result": "OK",
"ip": [
"192.168.1.10",
"192.168.1.11"
]
}
Примеры ошибок
{
"code": -1,
"message": "invalid IP subnet"
}

ip/set_main

Устанавливает выбранный IP-адрес как основной для сетевого интерфейса сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: set_main
token ✅ string Токен авторизации.
id ✅ integer Идентификатор сервера для назначения основного IP-адреса.
ip ✅ string IP-адрес, который необходимо установить как основной.
description ❌ string Текстовое описание для назначения основного IP-адреса.
main ❌ string Флаг или значение, определяющее статус основного адреса.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=set_main" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "ip=192.168.1.1"
Пример успешного ответа
{
"result": "OK",
"message": "Success message or data"
}
Примеры ошибок
{
"code": -1,
"message": "invalid IP for server id"
}

ip/update_ptr

Обновляет обратную DNS-запись (PTR) для указанного IP.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: update_ptr
token ✅ string Токен авторизации.
id ✅ integer Идентификатор сервера для проверки прав доступа и получения списка IP.
ip ✅ string IP-адрес, для которого необходимо обновить PTR-запись.
ptr ✅ string Новое значение обратной DNS-записи (PTR).
location ✅ string Местоположение или контекст для логирования операции.

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

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

ip/get_ip

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_ip
ip ✅ string Сетевой адрес (IPv4), для которого необходимо получить информацию о сети.
full ❌ boolean Возможность получения полной информации о сетевых настройках IP-адреса.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=get_ip" \
--data "ip=192.168.1.1"
Пример успешного ответа
{
"result": -1,
"message": "No data for the loopback address",
"data": {
"network": "192.168.1.0",
"netmask": "255.255.255.0",
"broadcast": "192.168.1.255",
"gateway": "192.168.1.1"
}
}
Примеры ошибок
{
"code": -1,
"message": "malformed IP=127.0.0.1"
}

ip/update_range_ip

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

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: update_range_ip
token ✅ string Токен авторизации
hidden ❌ string Параметр скрытости. По умолчанию -1.
groups ❌ string Группы диапазона. По умолчанию -1.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=update_range_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "hidden=-1" \
--data "groups=-1"
Пример успешного ответа
{
"result": "OK"
}
Примеры ошибок
{
"code": -1,
"message": "zero result",
"invalid_data": "$module/$action: invalid data supplied"
}

ip/update_subnet

Обновляет данные существующей подсети.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: update_subnet
token ✅ string Токен авторизации
params[id] ✅ integer Идентификатор подсети для обновления
params[vlan_id] ❌ integer Номер виртуальной локальной сети (VLAN). Значение -1 означает отсутствие изменений.
params[description] ❌ string Описание подсети. Значение -1 означает отсутствие изменений.
params[region_id] ❌ integer Идентификатор региона (location). Значение -1 означает отсутствие изменений.
params[vlan] ❌ integer Номер виртуальной локальной сети (VLAN). Значение -1 означает отсутствие изменений.
params[location] ❌ integer Идентификатор региона (reg_id). Значение -1 означает отсутствие изменений.

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=update_subnet" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=123" \
--data "params[vlan_id]=-1"
Пример успешного ответа
{
"result": "OK"
}
Примеры ошибок
{
"-1": "zero result",
"Exception": "invalid data supplied, zero result"
}

ip/update_vlan

Обновляет описание (description) для указанного VLAN. Если параметр full передан, возвращает полные данные о VLAN.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: update_vlan
token ✅ string Токен авторизации
full ❌ boolean Флаг возврата полных данных о VLAN (через \(_GET/\)_POST)

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=update_vlan" \
--data "token=HOSTKEY_TOKEN" \
--data "full=true"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "update_vlan",
"data": "object|null"
}
Примеры ошибок
{
"500": {
"message": "zero result"
}
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×