API для разработчиков
REST API Kvant VPS · версия 1
Начало работы
Создайте токен в личном кабинете → Настройки → API для разработчиков. Токен показывается один раз — сохраните его в секретах CI или менеджере паролей. Права: только чтение или полный доступ (питание и продление серверов с баланса).
Базовый адрес:
https://kvantvps.ru/api/client/v1Токен передаётся в заголовке Authorization:
curl -H "Authorization: Bearer kv_ваш_токен" https://kvantvps.ru/api/client/v1/serversМетоды
| Метод | Путь | Права | Описание |
|---|---|---|---|
| GET | /me | чтение | Баланс и права токена |
| GET | /servers | чтение | Ваши серверы (и те, к которым вам дали доступ) |
| GET | /servers/{id} | чтение | Один сервер: статус, IP, срок оплаты |
| POST | /servers/{id}/power | полный | Питание: {"action": "reboot" | "start" | "stop"} |
| POST | /servers/{id}/renew | полный | Продление с баланса: {"months": 1 | 3 | 6 | 12} (0 — на срок оплаты сервера) |
| GET | /tariffs | чтение | Тарифы и доступные сроки со скидками |
| GET | /os-templates?tariff_id=ID | чтение | Операционные системы для тарифа |
Примеры
Перезагрузить сервер:
curl -X POST https://kvantvps.ru/api/client/v1/servers/SERVER_ID/power \
-H "Authorization: Bearer $KVANT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"action":"reboot"}'Продлить на 3 месяца со скидкой:
curl -X POST https://kvantvps.ru/api/client/v1/servers/SERVER_ID/renew \
-H "Authorization: Bearer $KVANT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"months":3}'Python — серверы, которые скоро закончатся:
import os, requests, datetime as dt
r = requests.get("https://kvantvps.ru/api/client/v1/servers",
headers={"Authorization": "Bearer " + os.environ["KVANT_TOKEN"]}, timeout=15)
r.raise_for_status()
for s in r.json()["servers"]:
left = dt.datetime.fromisoformat(s["expires_at"].replace("Z", "+00:00")) - dt.datetime.now(dt.timezone.utc)
if left.days < 5:
print(s["name"], s["ip_address"], "осталось дней:", left.days)Terraform (провайдер restapi от Mastercard) — читаем список серверов как data source:
provider "restapi" {
uri = "https://kvantvps.ru/api/client/v1"
headers = { Authorization = "Bearer ${var.kvant_token}" }
}
data "restapi_object" "web" {
path = "/servers"
search_key = "name"
search_value = "web"
results_key = "servers"
}Ответы и ошибки
Все ответы — JSON. При ошибке возвращается HTTP-код и поле error с понятным описанием на русском, например {"error": "Недостаточно средств на балансе"}.
- 401 — нет токена, он неверный или отозван;
- 403 — у токена права только на чтение;
- 404 — сервер не найден или нет доступа;
- 409 — действие сейчас невозможно (например, сервер уже выключен);
- 429 — больше 120 запросов в минуту на один токен.
Пароль root через API не выдаётся — смотрите его в личном кабинете или в Telegram-боте.