Что можно автоматизировать

Развёртывание

Создавайте VPS в любой из восьми локаций с нужной ОС и тарифом прямо из скрипта или CI-пайплайна.

Жизненный цикл

Старт, стоп и перезагрузка, переустановка ОС, сброс пароля, смена hostname, апгрейд тарифа, продление и удаление.

Вебхуки

Подпишитесь на события, и платформа сама позовёт ваш endpoint, когда что-то произойдёт. Без поллинга.

Авторизация

Каждый запрос несёт API-ключ в заголовке Authorization. Ключи привязаны к аккаунту и, для надёжности, к списку разрешённых IP-адресов: даже утёкший ключ бесполезен из чужой сети.

Authorization: Bearer ВАШ_КЛЮЧ

Чтобы получить ключ, откройте тикет из личного кабинета со списком IP, с которых будете ходить в API. Ключи выдаём в тот же день.

Быстрый старт

Базовый URL: https://my.serva.one/api/v1/ext. Проверьте, что ключ работает:

curl -s https://my.serva.one/api/v1/ext/whoami \
  -H "Authorization: Bearer ВАШ_КЛЮЧ"

Создайте сервер:

curl -s -X POST https://my.serva.one/api/v1/ext/vps \
  -H "Authorization: Bearer ВАШ_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{
    "plan": "Micro",
    "os": "ubuntu-24.04",
    "datacenter": "Netherlands",
    "hostname": "worker-01"
  }'

В ответе придёт id нового сервера; IP и root-пароль появятся в объекте, как только завершится установка, обычно в пределах минуты.

Методы

МетодПутьНазначение
GET/whoamiПроверка ключа, данные аккаунта
GET/plansДоступные тарифы и цены
GET/osОбразы операционных систем
GET/datacentersЛокации, открытые для заказа
GET/vpsСписок ваших серверов, фильтр по IP, пагинация
GET/vps/{id}Один сервер подробно
POST/vpsСоздать сервер
POST/vps/{id}/power/{action}start, stop или restart
POST/vps/{id}/reinstallПереустановка ОС
POST/vps/{id}/reset-passwordНовый root-пароль
POST/vps/{id}/hostnameСмена hostname
POST/vps/{id}/change-planПереход на тариф выше
POST/vps/{id}/renewПродление услуги
POST/vps/{id}/consoleОдноразовая ссылка на консоль
DELETE/vps/{id}Удаление сервера
GET/webhooksСписок подписок на события
POST/webhooksСоздать подписку
POST/webhooks/{id}/testОтправить тестовое событие
DELETE/webhooks/{id}Удалить подписку

Ошибки

API говорит на обычном HTTP: 2xx при успехе, 400 при неверном теле запроса, 401 без ключа или с неверным ключом, 403 при вызове с IP вне вашего списка, 404 для объектов, которых нет или которые принадлежат другому аккаунту. Тело ошибки - JSON с человекочитаемым полем detail.

Разрушительные вызовы намеренно строгие: удаление требует явного поля подтверждения в теле запроса, а действия с питанием проверяются против текущего состояния сервера. Автоматизация не снесёт сервер случайной опечаткой.