跳转至

ip.php

IP address and network infrastructure management module: retrieving IP information, managing PTR records, traffic monitoring, working with subnets and VLANs.

API Methods

Method Action Description
get_client_ip get client IP Returns the current IP address of the client making the request to the API
get_ip get IP information Returns full network configuration information for a specific IP address (mask, network, etc.)
get_ptr get PTR record Checks whether the specified IP address belongs to the server with the given ID and returns the current PTR record for this IP in the specified location.
get_traffic get traffic Returns inbound and outbound traffic data for the specified IP address for a selected period. Can return both summary information and detailed timestamps.
list_free_ip get list of free IPs Returns a list of unused IP addresses for the specified location based on Route Reflector tags. Used by internal mechanisms to prevent scanning.
set_main set main IP for server Sets the specified IP address as the primary (main) one for the server's network interface.
update_ptr update PTR record Updates the reverse DNS record (PTR) for an IP address belonging to a server. Requires permission verification and proof of IP ownership by the server.

ip/get_client_ip

Returns the current IP address of the client making the request to the API

HTTP-method: GET

Parameters:

Parameter Required Type Description
action string Method identifier: get_client_ip
token string Authorization token

Example Request

curl -s "https://invapi.hostkey.com/ip.php" -X GET \
--data "action=get_client_ip" \
--data "token=HOSTKEY_TOKEN"
Example of a successful response
{
"result": "OK",
"data": {
"ip": "192.168.1.1"
}
}
Failure response

``` { "code": -1, "message": "authentication required" }

```

ip/get_ip

Returns full network configuration information for a specific IP address (mask, network, etc.)

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: get_ip
token string Authorization token
ip string IP address to retrieve information for

Example Request

curl -s "https://invapi.hostkey.com/ip.php" -X POST \
--data "action=get_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=192.168.0.1"
Example of a successful response
{
"result": "OK",
"module": "ip",
"action": "get_ip",
"data": {
"network": "192.168.0.0",
"netmask": "255.255.255.0",
"gateway": "192.168.0.1"
}
}
Failure response

``` { "code": -1, "message": "No data for the loopback address" }

```

ip/get_ptr

Checks whether the specified IP address belongs to the server with the given ID and returns the current PTR record for this IP in the specified location.

HTTP-method: POST|GET

Parameters:

Parameter Required Type Description
action string Action name (get_ptr)
token string Authorization token
ip string IP address
id int Server ID
location string Location for PTR check

Example Request

curl -s "https://invapi.hostkey.com/ip.php" -X POST \
--data "action=get_ptr" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=1.2.3.4" \
--data "id=123" \
--data "location=moscow"
Example of a successful response
{
"result": "OK",
"message": "example.domain.com"
}
Failure response

``` { "code": -1, "message": "invalid request or IP not assigned to server" }

```

ip/get_traffic

Returns inbound and outbound traffic data for the specified IP address for a selected period. Can return both summary information and detailed timestamps.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: get_traffic
token string Authentication token
ip string IP address to report traffic for
period_start int Start timestamp (default: current time - 86400)
period_stop int End timestamp (default: current time)
summary int 1 - return only summary {ip, in, out} in GB, 0 - all ticks with stamps for graphics
unbilled int 1 - return only unbilled ticks, 0 - all ticks

Example Request

curl -s "https://invapi.hostkey.com/ip.php" -X POST \
--data "action=get_traffic" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=1.2.3.4"
Example of a successful response
{
"result": "OK",
"traffic": [
{
"timestamp": "2024-05-20T12:00:00Z",
"in": 1.45,
"out": 0.89
}
]
}
Failure response

``` { "code": -1, "message": "no significant traffic detected for [ip] in the period [date] - [date]" }

```

ip/list_free_ip

Returns a list of unused IP addresses for the specified location based on Route Reflector tags. Used by internal mechanisms to prevent scanning.

HTTP-method: POST|GET

Parameters:

Parameter Required Type Description
action string Action name (list_free_ip)
token string Authorization token
location string|int Location to search for free IPs
exclude_special int Exclude special IPs (0 or 1)

Example Request

curl -s "https://invapi.hostkey.com/ip.php" -X POST \
--data "action=list_free_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "location=NL" \
--data "exclude_special=1"
Example of a successful response
{
"result": "OK",
"ip": [
"NL 192.168.1.1",
"DE 10.0.0.5"
]
}
Failure response

``` { "code": -1, "message": "illegal IP subnet" }

```

ip/set_main

Sets the specified IP address as the primary (main) one for the server's network interface.

HTTP-method: POST

Parameters:

Parameter Required Type Description
token string Authentication token
ip string IP address to set as main
id int Server ID
main string Main parameter (e.g., 1 for main IPv4)
description string Description for the IP

Example Request

curl -s "https://invapi.hostkey.com/ip.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--data "ip=1.2.3.4" \
--data "id=123" \
--data "main=1" \
--data "description=My Main IP"
Example of a successful response
{
"result": "OK",
"message": "data from ipv4_set_main"
}
Failure response

``` { "code": -1, "message": "invalid IP 1.2.3.4 for server 123" }

```

ip/update_ptr

Updates the reverse DNS record (PTR) for an IP address belonging to a server. Requires permission verification and proof of IP ownership by the server.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Action name (update_ptr)
token string Authorization token
id int Server ID
ip string IP address
ptr string PTR record (FQDN)
location string Location

Example Request

curl -s "https://invapi.hostkey.com/ip.php" -X POST \
--data "action=update_ptr" \
--data "token=HOSTKEY_TOKEN" \
--data "id=5" \
--data "ip=1.2.3.4" \
--data "ptr=example.com"
Example of a successful response
{
"result": "OK",
"message": ""
}
Failure response
{
"code": -1,
"message": "IP 1.2.3.4 is not assigned for server id 5"
}
question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×