# RUVDS API (legacy): Следить за балансом и оплатой серверов

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

Не допустить отключения серверов из-за нехватки денег.

1. Запроси баланс: GET /api/balance/ — amount и currency; с details = 1 — история пополнений и списаний.
2. Узнай, до какого числа оплачены серверы: GET /api/servers/ — поля paid и paidTill.
3. Чтобы платить реже, поменяй период оплаты: GET /api/server/update/payment_period/ с id и paymentPeriod (3 — 3 месяца, 4 — полгода, 5 — год). Новый период начнётся после текущего.

```bash
curl -G https://ruvds.com/api/balance/ -d sessionToken=$TOKEN -d details=0
curl -G https://ruvds.com/api/servers/ -d sessionToken=$TOKEN -d fields=paid,paidTill,paymentPeriod
```

## Базовые URL

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

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

Тип: Другое

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

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

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

### GET /api/balance/ — Баланс

В ответе: `amount`, `currency` (1 RUB, 2 UAH, 3 USD, 4 EUR), при `details=1` — история (`income`, `debited`, `items`).

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

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

```
https://ruvds.com/api/balance/?sessionToken=YOURTOKEN&details=0
```

### 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/update/payment_period/ — Смена периода оплаты

Применяется по окончании текущего периода.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `sessionToken` | query | string | да | Сессионный токен |
| `id` | query | integer | да | ID сервера |
| `paymentPeriod` | query | integer | да | 2, 3, 4 или 5 |

## Нюансы

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

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

- [Создать VPS и дождаться готовности](https://mcp-everything.ru/integrations/ruvds/scenarios/sozdat-vps-i-dozhdatsya-gotovnosti.md)
- [Перезапустить или выключить сервер](https://mcp-everything.ru/integrations/ruvds/scenarios/perezapustit-ili-vyklyuchit-server.md)

---

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