Портал > База знаний > API > API документация


API документация




API документация — VPS

v1.4 22.04.2026

REST API для управления VPS: создание, установка, переустановка, перезагрузка, мониторинг.
Все запросы аутентифицируются через заголовок X-Key.

Base URL: https://cp.inferno.name/api_client.php


Содержание

Аутентификация
GET Тарифы и шаблоны · GET Баланс
POST Создать заказ · GET Список заказов · POST Отменить заказ
POST Установка VPS · POST Переустановка
GET Информация о VPS · POST Reboot / Stop / Boot
SSH ключи · GET Услуги


Аутентификация

API использует ключи. Ключ передаётся в заголовке X-Key каждого запроса. Client ID уже зашит в ключ — передавать отдельно не нужно.

Внимание! Для создания API ключей необходимо включить двухфакторную аутентификацию (2FA). Ключ отображается только один раз — сохраните его.

Получение ключа:
1. Включите 2FA — Личный кабинет → Security → Two-Factor Authentication
2. Создайте API ключ — Security → вкладка «API Keys» → выберите доступные методы
3. Настройте IP Whitelist — укажите IP-адреса, с которых разрешён доступ

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

curl https://cp.inferno.name/api_client.php?action=balance \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY"

GET Тарифы и шаблоны

?action=list

Возвращает список тарифных планов (products) и шаблонов ОС (ostpls).

curl https://cp.inferno.name/api_client.php?action=list \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY"

Примечание: ostpls — имя шаблона для install. products → pid для создания заказов.


GET Баланс

?action=balance

curl https://cp.inferno.name/api_client.php?action=balance \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY"

POST Создать заказ

?action=create

Создаёт новый заказ на VPS. После создания — статус Pending до оплаты.

Параметры:

ПараметрТипОписание
pid *обяз. int ID продукта из action=list
extra_ips int Доп. IP-адреса (1–9)
curl https://cp.inferno.name/api_client.php?action=create \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY" \
-d '{"pid": 303}'

Ответ:

{
"result": "success",
"orderid": 47000,
"invoiceid": 366000,
"productids": "49700"
}

GET Список заказов

?action=orders

Возвращает все заказы — активные и неоплаченные (Pending).

curl https://cp.inferno.name/api_client.php?action=orders \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY"

POST Отменить заказ

?action=cancel

Отменяет неоплаченный (Pending) заказ. Параметр: orderid *обяз.

curl https://cp.inferno.name/api_client.php?action=cancel \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY" \
-d '{"orderid": 46000}'

Успех: {"result": "success"}
Ошибка: {"result": "fail", "message": "Order ID not found or Status not Pending"}


POST Установка VPS

?action=install

Установка ОС на оплаченный VPS. С run=0 — проверка без запуска.

Параметры:

ПараметрТипОписание
orderid *обяз. int ID оплаченного заказа
ostpl *обяз. string Шаблон ОС, напр. centos7-64-default
sshkey_ids string ID ключей через запятую
run *обяз. int 0 — проверка, 1 — запуск
curl https://cp.inferno.name/api_client.php?action=install \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY" \
-d '{"orderid": 47000, "ostpl": "centos7-64-default", "sshkey_ids": "1,2", "run": 1}'

POST Переустановка VPS

?action=reinstall

ВНИМАНИЕ: Переустановка уничтожает все данные. Убедитесь, что есть бэкап.

Параметры как у install + дополнительные:
serviceid — ID сервиса (альтернатива orderid)
ip — IP-адрес VPS (альтернатива orderid)
admin_password — пароль администратора (8–63 символа)
vps_password — root-пароль (8–63 символа)

curl https://cp.inferno.name/api_client.php?action=reinstall \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY" \
-d '{"orderid": 47000, "ostpl": "centos7-64-default", "run": 1}'

GET Информация о VPS

?action=getinfo

Статус, IP, дата продления, состояние VPS, шаблон ОС, root-пароль.
Параметры: orderid *обяз. или ip (при этом orderid=0).

curl https://cp.inferno.name/api_client.php?action=getinfo \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY" \
-d '{"orderid": 47012}'

Ответ:

{
"result": "success",
"orderid": 47012,
"orderStatus": "Active",
"dedicatedip": "37.1.0.111",
"nextduedate": "2025-06-01",
"vps_info": {
"vps_name": "37-1-0-111",
"iso": "centos7-64-default",
"real_state": "Включен",
"online": true
}
}

POST Reboot / Stop / Boot

Три команды управления питанием. Все принимают: orderid, serviceid или ip.

ActionОписание
reboot Перезагрузка
stop Остановить
boot Запустить
curl https://cp.inferno.name/api_client.php?action=reboot \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY" \
-d '{"orderid": 47012}'

SSH ключи

POST sshkey.add — добавить публичный ключ
Параметр: sshkey *обяз.

curl https://cp.inferno.name/api_client.php?action=sshkey.add \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY" \
-d '{"sshkey": "ssh-ed25519 AAAAC3NzaC... user@host"}'

GET sshkey.list — список ключей

curl https://cp.inferno.name/api_client.php?action=sshkey.list \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY"

POST sshkey.remove — удалить ключ
Параметр: id *обяз. — ID из sshkey.list

curl https://cp.inferno.name/api_client.php?action=sshkey.remove \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY" \
-d '{"id": 7}'

GET Услуги

Список услуг: ?action=services

curl https://cp.inferno.name/api_client.php?action=services \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY"

Детали услуги: ?action=getService
Параметр: serviceid *обяз. — ID из action=services

curl https://cp.inferno.name/api_client.php?action=getService \
-H "Content-Type: application/json" \
-H "X-Key: YOUR_API_KEY" \
-d '{"serviceid": 49700}'

Вопросы и предложения по API — откройте тикет в личном кабинете.



Этот ответ был полезен?

Добавить в избранное Добавить в избранное    Распечатать статью Распечатать статью