# RUVDS API (legacy): Создать VPS и дождаться готовности

Сценарий из mcp-everything. Актуально на 2026-10-24.

Заказать сервер из скрипта: дата-центр, тариф, ОС и диск.

1. Это прежняя версия API — RUVDS её больше не развивает; для новых интеграций смотри документацию API v2. Ниже — как работает legacy.
2. Получи токен: GET /api/logon/ с key (персональный ключ из настроек), username и password. endless = 1 даёт бессрочный токен, 0 — на 24 часа. Смена логина или пароля отзывает все токены.
3. Выбери параметры: GET /api/datacenter/ (дата-центры и тарифы), GET /api/tariff/ (цены за ядро, ГБ ОЗУ и диска), GET /api/os/ (операционные системы).
4. Создай сервер: GET /api/server/create/ с sessionToken, datacenter, tariff, os, cpu, ram, vram, drivesCount, drive0Tariff, drive0Capacity, drive0System, ip и paymentPeriod (2 — месяц). В ответе id и cost.
5. Создание асинхронное — следи за state и running через GET /api/servers/ с id. В каждом ответе rejectReason = 0 означает успех, 19 — не хватает денег.

```bash
TOKEN=$(curl -s -G https://ruvds.com/api/logon/ -d key=<ключ> --data-urlencode 'username=<логин>' --data-urlencode 'password=<пароль>' -d endless=0 | jq -r .sessionToken)

curl -G https://ruvds.com/api/server/create/ -d sessionToken=$TOKEN \
  -d datacenter=1 -d tariff=14 -d os=15 -d cpu=2 -d ram=4 -d vram=0 \
  -d drivesCount=1 -d drive0Tariff=1 -d drive0Capacity=40 -d drive0System=true \
  -d ip=1 -d paymentPeriod=2 -d computerName=web-1042
```

## Базовые URL

- Боевой: `https://ruvds.com`

## Авторизация

Тип: Другое

Вызовите `/api/logon/` с персональным ключом API (`key` из настроек аккаунта), логином и паролем; полученный `sessionToken` передавайте параметром во всех последующих запросах. Токен храните только на своём сервере. Смена логина или пароля деактивирует все выданные токены.

```
https://ruvds.com/api/logon/?key=KEY&username=LOGIN&password=PASSWORD&endless=0
```

## Методы сценария

### GET /api/logon/ — Получение сессионного токена

В ответе: `sessionToken`, `expire` (ddMMyyyyHHmmss UTC или NULL для бессрочного).

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `key` | query | string | да | Персональный ключ API |
| `username` | query | string | да | Логин или email |
| `password` | query | string | да | Пароль |
| `endless` | query | integer | нет | 1 — бессрочный токен, 0 — на 24 часа |

### GET /api/datacenter/ — Дата-центры

В ответе `datacenters`: `id`, `name`, `tariffs`, `driveTariffCombinations`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `sessionToken` | query | string | да | Сессионный токен |
| `language` | query | integer | нет | 1 — русский, 5 — английский, 6 — немецкий |

### GET /api/tariff/ — Тарифы

Цены серверов — за ядро, ГБ ОЗУ, МБ видеопамяти и доп. IP; дисков — за ГБ.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `sessionToken` | query | string | да | Сессионный токен |
| `tariffIds` | query | string | нет | ID тарифов серверов через запятую (включая устаревшие) |
| `driveTariffIds` | query | string | нет | ID тарифов дисков через запятую |

### GET /api/os/ — Операционные системы

В ответе `os[]`: `Id`, `Name`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `sessionToken` | query | string | да | Сессионный токен |

### GET /api/servers/ — Список серверов

В `items`: `cpu`, `ram`, `vram`, `drive`, `ip`, `tariff`, `paymentPeriod`, `state`, `running`, `paid`, `paidTill`, `stat`, `configurationChangeable` и др.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `sessionToken` | query | string | да | Сессионный токен |
| `id` | query | string | нет | ID серверов через запятую (рекомендуется указывать) |
| `fields` | query | string | нет | Какие поля вернуть; пусто — все |
| `userId` | query | string | нет | ID пользователя |

### GET /api/server/create/ — Создание сервера

Создание асинхронное: в ответе `id` и `cost`, ход — через `/api/servers/`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `sessionToken` | query | string | да | Сессионный токен |
| `datacenter` | query | integer | да | ID дата-центра |
| `tariff` | query | integer | да | ID тарифа сервера |
| `os` | query | integer | нет | ID ОС |
| `cpu` | query | integer | да | Число ядер |
| `ram` | query | integer | да | ОЗУ, ГБ |
| `vram` | query | integer | да | Видеопамять, МБ: 0, 64, 128, 256, 512, 1024 |
| `drivesCount` | query | integer | да | Число дисков |
| `drive0Tariff` | query | integer | да | ID тарифа диска (для каждого X от 0) |
| `drive0Capacity` | query | integer | да | Размер диска, ГБ |
| `drive0System` | query | boolean | да | Системный диск |
| `ip` | query | integer | да | Число IP-адресов |
| `ddosProtection` | query | number | нет | Полоса защиты от DDoS, Мбит/с, шаг 0.5 |
| `paymentPeriod` | query | integer | да | 2 — месяц, 3 — 3 месяца, 4 — 6 месяцев, 5 — год |
| `promocode` | query | string | нет | Промокод |
| `computerName` | query | string | нет | Имя сервера |
| `userComment` | query | string | нет | Комментарий |

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

```
https://ruvds.com/api/server/create/?sessionToken=YOURTOKEN&datacenter=1&tariff=14&os=15&cpu=2&ram=4&vram=0&drivesCount=1&drive0Tariff=1&drive0Capacity=40&drive0System=true&ip=1&ddosProtection=0&paymentPeriod=2&promocode=PROMO-API&computerName=CustomVDS
```

## Нюансы

- Запросы GET или POST, параметры — в строке запроса; ответы — JSON.
- В каждом ответе `rejectReason` (`0` — успех) и `errMessage`; коды ошибок свои у каждого метода.
- Методы управления пользователями (`/api/user/...`) отключены и доступны только юрлицам с партнёрским договором.
- Для тестов документация советует SSD-серверы и минимум запросов.

## Другие сценарии

- [Перезапустить или выключить сервер](https://mcp-everything.ru/integrations/ruvds/scenarios/perezapustit-ili-vyklyuchit-server.md)
- [Следить за балансом и оплатой серверов](https://mcp-everything.ru/integrations/ruvds/scenarios/sledit-za-balansom-i-oplatoy-serverov.md)

---

Если этого недостаточно — официальная документация: https://ruvds.com/en-rub/use_api
Вся интеграция одним документом: https://mcp-everything.ru/integrations/ruvds.md
