Aller au contenu

eq.php

Equipment Management Module (eq.php): API for server deployment, power management, IPMI, backups, searching, and retrieving detailed hardware configuration information.

API Methods

Method Action Description
abort_reinstall abort_reinstall Interrupts the server reinstallation process, removes associated tags (reinstall_start, autodeploy_start, autodeploy_timeout) and restores VLAN settings.
add_ipmi_admin add_ipmi_admin Creates a new IPMI administrative user for the server. If an existing admin_user is provided, a user is created with the specified username and password; otherwise, a random login and password are generated.
add_ipmi_user add_ipmi_user Creates a new IPMI user for the server. If admin_user is specified, an administrator user is created (if permissions allow). Otherwise, a random login and password are generated.
announceip announceip Performs IP address/subnet announcement for the server using BGP.
backup_get_schedule backup_get_schedule Returns a list of scheduled backup tasks for the specified server.
backup_list backup_list Returns a list of available backups for the specified equipment (server).
backup_save_schedule backup_save_schedule Saves the configured automatic backup schedule for the specified server.
boot_dev boot_dev Requests switching the server boot mode (PXE or disk) specifying the media type and boot mode.
check_backup_lock check_backup_lock Checks if the backup process is locked for the specified server.
clear_pxe clear_pxe Clears the current PXE configuration for the specified host.
create_backup create_backup Initiates the backup creation process for the specified equipment. The operation is executed asynchronously via a queue.
create_pxe create_pxe Creates a configuration for booting the server over the network (PXE) specifying OS, disk, and network settings.
delete_backup delete_backup Deletes the specified server backup. Requires passing the backup name.
deploy deploy Starts the deployment process of an existing or new server by ID or preset. Supports various modes, including OpenStack and manual selection.
get_ipmi get_ipmi Returns a list of IP addresses and models (vendor) of available IPMI interfaces for the specified server. If no interfaces are found, an error is returned.
get_traffic get_traffic Returns IPv4 traffic usage data for the specified server.
getserversforannounce getserversforannounce Returns a list of available servers (rent or power_off) that match subnet mask constraints and are capable of IP subnet announcement.
groups groups Returns a list of groups for a specific server.
hard_off hard_off Sends a request for forced (hard) shutdown of the equipment by specified ID.
history history Returns the server event history.
list list Returns a list of available servers and equipment with support for advanced search by various parameters (location, status, type, IP, MAC, etc.).
off off Turns off the server.
on on Turns on the server.
order_instance order_instance Starts the deployment process of a new server from a preset or initiates reinstallation of an existing server with selection of OS, additional software, and network parameters.
reboot reboot Sends a request to reboot the equipment by its ID. If the server is in standby mode, execution via IPMI may be required.
reinstall reinstall Starts the server reinstallation preparation process, creating an operation key and notifying the client.
remove_ipmi_user remove_ipmi_user Deletes additional IPMI users for the specified server.
request_backup_link request_backup_link Requests generation of a temporary link to download a server backup.
restore_backup restore_backup Starts the server restoration process from a specified backup by name.
search search Returns a list of available servers or presets based on given filters (group, location, status, type, IP, MAC, etc.).
sensors sensors Returns sensor status data for the specified equipment.
show show Returns detailed server information, including hardware, operating system, IP addresses, interfaces, and IPMI.
status status Returns current equipment status and technical server data by its ID.
suspend suspend Request to suspend or unsuspend VPS/server service. If the action is suspend, the server will be locked.
unified_server_search unified_server_search Unified search for servers by query.
unit_reset unit_reset Requests a device reset via IPMI interface for the specified server.
unsuspend unsuspend Request to remove the lock (unsuspend) from the server. If the server was locked by an administrator, the action is performed immediately.
update_servers update_servers Updates the list of available servers linked to the client account in WHMCS, including active, suspended, and pending payment services.

eq/abort_reinstall

Interrupts the server reinstallation process, removes associated tags (reinstall_start, autodeploy_start, autodeploy_timeout) and restores VLAN settings.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: abort_reinstall
id integer Server ID
token string Authorization token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=abort_reinstall" \
--data "id=VALUE"
Example of a successful response
{
"result": "OK",
"action": "abort_reinstall",
"id": 123
}
Failure response

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

```

eq/add_ipmi_admin

Creates a new IPMI administrative user for the server. If an existing admin_user is provided, a user is created with the specified username and password; otherwise, a random login and password are generated.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: add_ipmi_admin
token string Authorization token
id integer Server ID
admin_user string Administrator name (if applicable)
admin_pass string Administrator password

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=add_ipmi_admin" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345" \
--data "admin_user=my_admin" \
--data "admin_pass=MySecurePass!"
Example of a successful response
{
"result": "OK",
"action": "add_ipmi_admin",
"user": "uabcde123",
"password": "Password123!"
}
Failure response

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

```

eq/add_ipmi_user

Creates a new IPMI user for the server. If admin_user is specified, an administrator user is created (if permissions allow). Otherwise, a random login and password are generated.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: add_ipmi_user
token string Authorization token
id integer Server ID
admin_user string Administrator name (if applicable)
admin_pass string Administrator password

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=add_ipmi_user" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345"
Example of a successful response
{
"result": "OK",
"action": "add_ipmi_user",
"user": "uabcde12",
"password": "A1bC2dE3fG4hI5jK"
}
Failure response

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

```

eq/announceip

Performs IP address/subnet announcement for the server using BGP.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: announceip
token string API authentication token
id integer Equipment (server) ID
subnet string IP subnet for announcement
server string Server name
subnetaddr string Subnet address
subnetaddrmask string Subnet mask
asn string|boolean Autonomous system number (can be 'own')
ownasn string Use own ASN
annonce boolean Announcement flag
return boolean Return result
route boolean Routing flag
cmnt string Announcement comment
checkboxes boolean Terms confirmation (ASRegistered, RKPIValid, SubNetNotSpamhaus, DataIsCorrect)

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=announceip" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "checkboxes=true"
Example of a successful response
{
"result": "OK",
"action": "announceip"
}
Failure response

``` { "code": -2, "message": "Authentication required or action disabled for subaccount" }

```

eq/backup_get_schedule

Returns a list of scheduled backup tasks for the specified server.

HTTP-method: GET

Parameters:

Parameter Required Type Description
action string Method identifier: backup_get_schedule
token string Authorization token
id integer Equipment (server) ID

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X GET \
--data "action=backup_get_schedule" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Example of a successful response
{
"result": "OK",
"action": "backup_get_schedule",
"module": "eq",
"days": [0, 0, 0, 0, 0, 0, 0],
"time": "",
"timezone": ""
}
Failure response

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

```

eq/backup_list

Returns a list of available backups for the specified equipment (server).

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: backup_list
id integer Server ID
token string Authorization token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=backup_list" \
--data "id=VALUE"
Example of a successful response
{
"result": "OK",
"module": "eq",
"action": "backup_list",
"data": [
{
"bucket_name": "example-bucket",
"files": [
{
"name": "backup_file.tar.gz",
"size": 1024,
"created_at": "2023-10-01T12:00:00Z"
}
]
}
]
}
Failure response

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

```

eq/backup_save_schedule

Saves the configured automatic backup schedule for the specified server.

HTTP-method: POST|GET

Parameters:

Parameter Required Type Description
action string Method identifier: backup_save_schedule
token string Authorization token
id integer Equipment (server) ID
backup_schedule array Array with backup schedule settings. Contains: days (0/1 array), time (string HH:mm), timezone (string)

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=backup_save_schedule" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "backup_schedule[0][days][0]=1" \
--data "backup_schedule[0][days][1]=0" \
--data "backup_schedule[0][time]=03:00" \
--data "backup_schedule[0][timezone]=Europe/London"
Example of a successful response
{
"result": "OK",
"action": "backup_save_schedule"
}
Failure response

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

```

eq/boot_dev

Requests switching the server boot mode (PXE or disk) specifying the media type and boot mode.

HTTP-method: POST|GET

Parameters:

Parameter Required Type Description
action string Method identifier: boot_dev
token string Authorization token
id integer Server ID
media string Bootable media type (e.g., iso, pxe)
boot_mode string Boot mode: auto (determined automatically), uefi or legacy

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=boot_dev" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
--data "media=VALUE"
Example of a successful response
{
"result": "OK",
"action": "boot_dev",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Failure response

``` { "code": -1, "message": "Bootable media change request failed: error_details" }

```

eq/check_backup_lock

Checks if the backup process is locked for the specified server.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: check_backup_lock
token string Authentication token
id integer Equipment (server) ID

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=check_backup_lock" \
--data "token=HOSTKEY_TOKEN"
--data "id=VALUE"
Example of a successful response
{
"result": "OK",
"module": "eq",
"action": "check_backup_lock",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Failure response

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

```

eq/check_pin

Checks the PIN code for operations.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: check_pin
token string Authorization token
pin string PIN code for verification

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=check_pin" \
--data "token=HOSTKEY_TOKEN" \
--data "pin=VALUE"
Example of a successful response
{
"result": "OK",
"action": "check_pin",
"callback": "pin_disabled"
}
Failure response
{
"code": -1,
"message": "PIN validation failed"
}

eq/clear_pxe

Clears the current PXE configuration for the specified host.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Action name: clear_pxe
token string Authorization token
id integer Server ID
hostname string Hostname to clear

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=clear_pxe" \
--data "token=YOUR_TOKEN"
--data "id=12345"
Example of a successful response
{
"result": "OK",
"action": "clear_pxe",
"callback": "string"
}
Failure response

``` { "code": -1, "message": "Failed to submit clear PXE config request" }

```

eq/console

Requests the launch of the server management console via IPMI/NoVNC.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: console
token string Authorization token
id integer Server ID

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=console"
--data "id=12345"
Example of a successful response
{
"result": "OK",
"action": "console",
"callback": "string"
}
Failure response

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

```

eq/create_backup

Initiates the backup creation process for the specified equipment. The operation is executed asynchronously via a queue.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: create_backup
id integer Server or equipment ID for backup creation
token string Authorization token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=create_backup" \
--data "id=VALUE"
--data "token=HOSTKEY_TOKEN"
Example of a successful response
{
"result": "OK",
"module": "eq",
"action": "create_backup",
"callback": "uuid-string",
"traceKey": "uuid-string"
}
Failure response

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

```

eq/create_pxe

Creates a configuration for booting the server over the network (PXE) specifying OS, disk, and network settings.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: create_pxe
token string Authentication token
id int Server ID
root_pass string Root password
os_id int Operating system ID (Foreman ID)
ssh_key string SSH public key
post_install_script string Post-installation script
post_install_callback string Callback URL
hostname string Hostname
reinstall_key string Reinstallation key
email string User email
os_name string OS name (alias)
disk_mirror int Disk mirroring (-1 by default)
activate_windows int Windows activation (0 or 1)
activation_key string OS activation key
uefi int UEFI boot mode (0 or 1)
attendedInstall string Automated installation
root_size int Root partition size (GB)
deploy_ticket string Kayako ticket ID
ignore_duplicated_install int Ignore duplicate installations
no_lvm int Disable LVM (0 or 1)
custom_domain string Custom domain

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=create_pxe" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "root_pass=VALUE" \
--data "os_id=VALUE" \
--data "hostname=VALUE" \
--data "email=VALUE"
Example of a successful response
{
"result": "OK",
"action": "create_pxe",
"callback": "string"
}
Failure response

``` { "code": -1, "message": "Create PXE config request failed: error message" }

```

eq/delete_backup

Deletes the specified server backup. Requires passing the backup name.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Action
token string Authorization token
id int Equipment (server) ID
name string Backup name for deletion

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=delete_backup" \
--data "token=HOSTKEY_TOKEN"
--data "id=VALUE"
--data "name=VALUE"
Example of a successful response
{
"result": "OK",
"module": "eq",
"action": "delete_backup",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Failure response

``` { "code": -1, "message": "Backup deletion error" }

```

eq/deploy

Starts the deployment process of an existing or new server by ID or preset. Supports various modes, including OpenStack and manual selection.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Action: deploy
token string Authorization token
id integer Server ID for deployment
preset string Preset name (if ID is not specified)
location integer Location/datacenter ID
hostname string Hostname
os_id integer Operating system ID
root_pass string Root password (minimum 8 characters for non-own OS)
ssh_key string SSH key
post_install_script string Post-installation script
post_install_callback string Callback URL to complete installation
deploy_data string Billing data (invoice/email)
deploy_options string Deployment options (e.g., location for WHMCS)
deploy_price integer Deployment price
deploy_period string Payment period (hourly, monthly, quarterly, semi-annually, annually)
deploy_notify integer Notify client?
imitate_error integer Error simulation (for testing)
imitate_deploy integer Dry run mode
own_os integer Use own OS (1 - yes)
activate_windows integer Windows activation
custom_domain string Custom domain

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=deploy" \
--data "token=YOUR_TOKEN"
--data "location=1" \
--data "os_id=5" \
--data "root_pass=StrongPassword123!" \
--data "deploy_data=invoice_12345" \
--data "deploy_options=loc_val" \
--data "deploy_period=monthly"
Example of a successful response
{
"result": "OK",
"action": "deploy",
"callback": "key_value",
"ticket": "ticket_id"
}
Failure response

``` { "code": -1, "message": "EQ/deploy: Empty billing data." }

```

eq/get_ipmi

Returns a list of IP addresses and models (vendor) of available IPMI interfaces for the specified server. If no interfaces are found, an error is returned.

HTTP-method: GET

Parameters:

Parameter Required Type Description
action string Method identifier: get_ipmi
id int Server ID
token string Authorization token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X GET \
--data "action=get_ipmi" \
--data "id=VALUE"
Example of a successful response
{
"result": "OK",
"ipmi": [
{
"IP": "192.168.1.100",
"MAC": "00:1A:4C:00:11:22",
"vendor": "Dell iDRAC"
}
]
}
Failure response

``` { "code": -1, "message": "No IPMI interfaces found" }

```

eq/get_traffic

Returns IPv4 traffic usage data for the specified server.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: get_traffic
id integer Server ID
token string Authorization token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=get_traffic" \
--data "id=123"
Example of a successful response
{
"result": "OK",
"module": "eq",
"action": "get_traffic",
"id": 123,
"traffic": [
{
"ip": "1.2.3.4",
"volume": 50.5,
"updated": "2024-01-01",
"billed": 1,
"direction": "in"
}
]
}
Failure response

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

```

eq/get_upgrade_key

Returns a key to perform an upgrade operation, linked to a specific invoice.

HTTP-method: POST|GET

Parameters:

Parameter Required Type Description
action string Method identifier: get_upgrade_key
invoice_id int Invoice ID to get the upgrade key
token string Authorization token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=get_upgrade_key" \
--data "invoice_id=VALUE"
--data "token=HOSTKEY_TOKEN"
Example of a successful response
{
"result": "OK",
"module": "eq",
"action": "get_upgrade_key",
"key": ""
}
Failure response

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

```

eq/getserversforannounce

Returns a list of available servers (rent or power_off) that match subnet mask constraints and are capable of IP subnet announcement.

HTTP-method: POST|GET

Parameters:

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

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=getserversforannounce" \
--data "token=HOSTKEY_TOKEN"
Example of a successful response
{
"result": "OK",
"module": "eq",
"action": "getserversforannounce",
"servers": [
{
"id": 123,
"location": "NL",
"mask_23": "255.255.254.0",
"mask_24": "255.255.255.0"
}
]
}
Failure response

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

```

eq/groups

Returns a list of groups for a specific server.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: groups
token string Authorization token
id integer Server ID

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=groups" \
--data "token=HOSTKEY_TOKEN"
--data "id=123"
Example of a successful response
{
"result": "OK",
"groups": [
{
"tag": "example_group",
"value": "1"
}
]
}
Failure response

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

```

eq/hard_off

Sends a request for forced (hard) shutdown of the equipment by specified ID.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: hard_off
token string Authorization token
id integer Server ID

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=hard_off" \
--data "token=YOUR_TOKEN"
--data "id=12345"
Example of a successful response
{
"result": "OK",
"action": "hard_off",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Failure response

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

```

eq/history

Returns the server event history.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: history
id int Server ID
token string Authorization token
type array<string> Filter by event types
date_from string Start date (YYYY-MM-DD)
date_to string End date (YYYY-MM-DD)

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=history" \
--data "id=VALUE"
--data "token=HOSTKEY_TOKEN"
--data "type[]=ACTION" \
--data "type[]=ERROR" \
--data "date_from=2023-10-01" \
--data "date_to=2023-10-31"
Example of a successful response
{
"result": "OK",
"module": "eq",
"action": "history",
"id": 12345,
"history": [
{
"id": 1,
"date": "2023-10-01 12:00:00",
"message": "Server rebooted",
"type": "ACTION"
}
]
}
Failure response
{
"code": 400,
"message": "Invalid server id"
}

eq/list

Returns a list of available servers and equipment with support for advanced search by various parameters (location, status, type, IP, MAC, etc.).

HTTP-method: POST|GET

Parameters:

Parameter Required Type Description
action string Method identifier: list or search
token string Authorization token
id int[] Filter by server IDs. Accepts multiple values: id[]=1&id[]=2
group string[] Filter by equipment groups. Accepts multiple values: group[]=1CPU&group[]=2CPU
location string[] Filter by locations (e.g., US-East, NL). Accepts multiple values: location[]=US-East&location[]=NL
status string[] Filter by statuses. Accepts multiple values: status[]=rent&status[]=power_off
type string[] Equipment type (server, switch, etc.). Accepts multiple values: type[]=server&type[]=switch
ip string[] Filter by IP address. Accepts multiple values: ip[]=1.2.3.4&ip[]=5.6.7.8
email string[] Filter by owner email. Accepts multiple values: email[][email protected]&email[][email protected]
full boolean Return full information (for administrators)
mac string[] Filter by MAC address
account_id int[] Filter by account ID (billing identity)

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=list" \
--data "id[]=123" \
--data "location[]=US-East" \
--data "status[]=rent"
Example of a successful response
{
"result": "OK",
"servers": [
{
"id": 123,
"status": "rent",
"hostname": "server-01.hostkey.com",
"is_prebill": true,
"prebill_service_id": 456,
"prebill_rate": 10.5,
"prebill_period": "monthly",
"project_ids": [
1,
2
],
"mounted_iso": ""
}
]
}
Failure response

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

```

eq/off

Turns off the server.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: off
id int Server ID
token string Authorization token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=off" \
--data "id=VALUE"
--data "token=HOSTKEY_TOKEN"
Example of a successful response
{
"result": "OK",
"action": "off",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Failure response
{
"code": -1,
"message": "EQ/off: invalid server id"
}

eq/on

Turns on the server.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: on
id int Server ID
token string Authorization token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=on" \
--data "id=VALUE"
--data "token=HOSTKEY_TOKEN"
Example of a successful response
{
"result": "OK",
"action": "on",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Failure response
{
"code": -1,
"message": "EQ/on: invalid server id"
}

eq/order_instance

Starts the deployment process of a new server from a preset or initiates reinstallation of an existing server with selection of OS, additional software, and network parameters.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: order_instance
token string Authorization token
id integer Existing server ID (for reinstallation)
preset string Preset ID or name for ordering a new instance
root_pass string Root password (must not contain @ or #)
os_template string OS template for deployment from template
soft_id integer Additional software ID
os_id integer Operating system ID
ssh_key string SSH public key
post_install_script string Post-installation script
post_install_callback string Callback URL for notification
hostname string Hostname
reinstall_key string Reinstallation key
email string User email
deploy_data string Deployment data (e.g., client email)
deploy_options string Deployment options (e.g., WHMCS location)
deploy_period string Payment period (hourly, quarterly, semi-annually, annually)
deploy_notify integer Notify client flag
deploy_ticket string Kayako ticket ID to link to the process
imitate_error integer Error simulation (0 or 1)
imitate_deploy integer Dry run mode (0 or 1)
own_os integer Use own OS (0 or 1)
jenkins_task integer Jenkins task ID
jenkins_tests integer Number of Jenkins tests
traffic_plan integer Traffic plan ID
disk_mirror string Disk mirroring (e.g., 1)
deploy_comment string Deployment comment
soft_name string Software name
uefi integer UEFI boot mode (0 or 1)
private_ip string Private IP address
root_size integer Root partition size (GB)
private_vlan integer Private VLAN ID
no_lvm integer Disable LVM (0 or 1)
ipv4_amount integer Number of IPv4 addresses
custom_domain string Custom domain

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=order_instance" \
--data "token=YOUR_TOKEN" \
--data "root_pass=SecurePass123!"
Example of a successful response
{
"result": "OK",
"action": "order_instance",
"callback": "7bc29eb23fb1b879b21fce509597f07c",
"deploy_status": "install",
"id": 123,
"os_name": "Ubuntu 22.04 LTS",
"soft_name": "Plesk Obsidian"
}
Failure response

``` { "code": -3, "message": "eq_reinstall_overdue" }

```

eq/ovirt_novnc

Requests the launch of a NoVNC console for the server via oVirt. Returns a callback key for asynchronous execution.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: ovirt_novnc
token string Authorization token
id integer Server ID

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=ovirt_novnc" \
--data "token=YOUR_TOKEN"
--data "id=123"
Example of a successful response
{
"result": "OK",
"action": "ovirt_novnc",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Failure response

``` { "code": -1, "message": "oVirt noVNC console request failed" }

```

eq/reboot

Sends a request to reboot the equipment by its ID. If the server is in standby mode, execution via IPMI may be required.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: reboot
token string Authorization token
id integer Equipment ID

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=reboot" \
--data "token=HOSTKEY_TOKEN"
--data "id=12345"
Example of a successful response
{
"result": "OK",
"action": "reboot",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Failure response

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

```

eq/reinstall

Starts the server reinstallation preparation process, creating an operation key and notifying the client.

HTTP-method: POST

Parameters:

Parameter Required Type Description
token string Authorization token
id int Server ID for reinstallation

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "token=HOSTKEY_TOKEN"
--data "id=VALUE"
Example of a successful response
{
"result": "OK",
"action": "reinstall",
"stage": "create_pxe",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Failure response

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

```

eq/remove_ipmi_user

Deletes additional IPMI users for the specified server.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: remove_ipmi_user
id int Server ID
token string Authorization token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=remove_ipmi_user"
--data "id=VALUE"
Example of a successful response
{
"result": "OK",
"action": "remove_ipmi_user",
"callback": "key"
}
Failure response

``` { "code": -1, "message": "EQ/remove_ipmi_user: action: error_message" }

```

Requests generation of a temporary link to download a server backup.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: request_backup_link
token string Authentication token
id integer Equipment (server) ID
name string Backup name for link request

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=request_backup_link" \
--data "token=HOSTKEY_TOKEN"
--data "id=VALUE"
--data "name=VALUE"
Example of a successful response
{
"result": "OK",
"action": "request_backup_link",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Failure response

``` { "code": -1, "message": "Request failed: error_message" }

```

eq/restore_backup

Starts the server restoration process from a specified backup by name.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: restore_backup
id int Equipment (server) ID
name string Backup name for restoration

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=restore_backup" \
--data "id=VALUE"
--data "name=VALUE"
Example of a successful response
{
"result": "OK",
"action": "restore_backup",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Failure response

``` { "code": -1, "message": "Request failed: error_details" }

```

eq/search

Returns a list of available servers or presets based on given filters (group, location, status, type, IP, MAC, etc.).

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: search
params[group] array<string> Accepts multiple values: group[]=1CPU&group[]=2CPU
params[dc] array<int> Datacenter ID
params[location] array<string> Location code (e.g., US-East, NL)
params[rack] array<int> Rack ID
params[status] array<string> Server status (e.g., sale, prepare_full)
params[owner] array<string> Equipment owner
params[component] array<int> Hardware component ID
params[type] array<string> Equipment type (server, switch, etc.)
params[ip] array<string> Search by IP address
params[mac] array<string> Search by MAC address
params[account_id] array<int> Account ID in billing
params[billing] array<string> Billing region (en/us)
params[email] array<string> Search by client email
params[name_client] array<string> Client name
params[full] boolean Return full server data
params[kvm] string Filter by KVM availability
params[serialNumber] array<string> Search by serial number
params[id] array<int> Search by specific server IDs
token string API authentication token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=search" \
--data "token=HOSTKEY_TOKEN" \
--data "params[group][]=1CPU" \
--data "params[group][]=2CPU" \
--data "params[location][]=US-East" \
--data "params[status][]=sale"
Example of a successful response
{
"result": "OK",
"module": "eq",
"action": "search",
"servers": [
{
"id": 123,
"hostname": "srv-01.hostkey.com",
"status": "sale",
"type": "Server",
"location": "NL",
"ip": [
"192.168.1.1"
],
"is_prebill": false,
"project_ids": [
10,
11
]
}
]
}
Failure response

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

```

eq/sensors

Returns sensor status data for the specified equipment.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: sensors
id int Server ID
token string Authorization token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=sensors" \
--data "id=VALUE"
Example of a successful response
{
"result": "OK",
"action": "sensors",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Failure response

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

```

eq/set_pin

Sets a PIN code for operations.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: set_pin
token string Authorization token
new_pin string New PIN code (4-10 characters)
old_pin string Old PIN code
no_pin_req string Skip PIN check flag (true/false)

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=set_pin" \
--data "token=HOSTKEY_TOKEN"
--data "new_pin=VALUE"
Example of a successful response
{
"result": "OK",
"action": "set_pin",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Failure response
{
"code": -1,
"message": "invalid PIN length"
}

eq/show

Returns detailed server information, including hardware, operating system, IP addresses, interfaces, and IPMI.

HTTP-method: GET

Parameters:

Parameter Required Type Description
id int Equipment ID
token string Authorization token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X GET \
--data "id=123"
Example of a successful response
{
"result": "OK",
"server_data": {
"id": 123,
"status": "rent",
"Condition_Component": "power_off",
"owner": "[email protected]",
"type": "Server",
"is_prebill": false,
"prebill_service_id": null,
"days_left": "",
"due_date": "2023-12-31 23:59:59",
"project_ids": [],
"is_owner": "Colocation"
},
"hardware": {
"cpu": "Intel Xeon E5-2680",
"ram": 64,
"hdd": 1000
},
"groups": [
{
"id": 1,
"name": "Group Name"
}
],
"licenses": [],
"reinstall": "",
"location": {
"dc_name": "Amsterdam",
"dc_location": "NL"
},
"OS": {},
"IP": [
{
"IP": "192.168.1.1",
"status": "active"
}
],
"interfaces": [],
"IPMI": {
"model": "none",
"interfaces": []
},
"tags": [
{
"tag": "server_name",
"value": "web-server-01"
}
],
"preset": "",
"commitment": ""
}
Failure response

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

```

eq/status

Returns current equipment status and technical server data by its ID.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Action (status)
token string Authorization token
id int Server ID

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=status" \
--data "token=YOUR_TOKEN"
--data "id=123"
Example of a successful response
{
"result": "OK",
"action": "status",
"callback": "string"
}
Failure response

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

```

eq/status_check

Returns current equipment status (availability, component state, etc.).

HTTP-method: POST

Parameters:

Parameter Required Type Description
token string Authentication token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "token=HOSTKEY_TOKEN"
Example of a successful response
{
"result": "OK",
"data": [
"User @admin changed [Hostkey RENT Server US NL] status `PREPARE_FAST` -> `TT` for [123](https://host.com/ticket/1) 8 days ago: description"
]
}
Failure response

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

```

eq/suspend

Request to suspend or unsuspend VPS/server service. If the action is suspend, the server will be locked.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: suspend or unsuspend
id int Server ID
token string Authorization token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=suspend" \
--data "id=VALUE"
--data "token=HOSTKEY_TOKEN"
Example of a successful response
{
"result": "OK",
"action": "suspend",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Failure response

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

```

eq/traffic_add

Increases the outbound traffic limit for the server and creates a corresponding invoice in WHMCS.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: traffic_add
id int Equipment (server) ID
new_limit int New traffic limit in TB
token string API authentication token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=traffic_add" \
--data "id=VALUE"
--data "new_limit=VALUE"
--data "token=HOSTKEY_TOKEN"
Example of a successful response
{
"result": "OK",
"action": "traffic_add",
"invoice": 12345,
"status": "Unpaid"
}
Failure response

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

```

Unified search for servers by query.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: unified_server_search
token string Authorization token
query string Search query (string or numeric ID)

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=unified_server_search" \
--data "token=HOSTKEY_TOKEN"
--data "query=VALUE"
Example of a successful response
{
"result": "OK",
"module": "eq",
"action": "unified_server_search",
"results": {
"servers": [
{
"id": 123,
"name": "Server 1",
"owner": "[email protected]",
"status": "rent",
"billing": "en",
"type": "server"
}
]
},
"limited": {
"servers": false
},
"category": "servers"
}
Failure response
{
"code": -2,
"message": "Authentication required"
}

eq/unit_reset

Requests a device reset via IPMI interface for the specified server.

HTTP-method: POST

Parameters:

Parameter Required Type Description
action string Method identifier: unit_reset
id int Equipment/server ID
token string Authorization token

Example Request

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=unit_reset" \
--data "id=VALUE"
Example of a successful response
{
"result": "OK",
"action": "unit_reset",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Failure response

``` { "code": -1, "message": "IPMI unit reset request failed: error_details" }

```

eq/unsuspend

Request to remove the lock (unsuspend) from the server. If the server was locked