# Beget API хостинга: Проверить аккаунт и восстановить файлы из бэкапа

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

Мониторинг тарифа и баланса и восстановление сайта после неудачного обновления.

1. Состояние аккаунта: GET /api/user/getAccountInfo — тариф, баланс, дни до блокировки, использование лимитов. Значение лимита 2147483647 означает «без ограничений».
2. Найди бэкап: GET /api/backup/getFileBackupList — backup_id и date.
3. Восстанови нужные пути: GET /api/backup/restoreFile с backup_id и paths — путями от корня домашней директории. Восстановление выполняется в очереди.

```bash
curl -G "https://api.beget.com/api/backup/restoreFile?login=<логин>&passwd=<API-пароль>&input_format=json&output_format=json" \
  --data-urlencode 'input_data={"backup_id": <ID бэкапа>, "paths": ["shop.ru/public_html/wp-content"]}'
```

## Базовые URL

- Боевой: `https://api.beget.com`
- Формат вызова: `https://api.beget.com/api/раздел/метод?параметры`

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

Тип: Другое

В каждом запросе передаются `login` (логин аккаунта) и `passwd` (API-пароль, URL-кодированный).

```
https://api.beget.com/api/user/getAccountInfo?login=user&passwd=mypassword
```

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

### GET /api/user/getAccountInfo — Информация об аккаунте

Тариф, баланс, дни до блокировки, использование и лимиты (сайты, домены, MySQL, квота, FTP, почта), параметры сервера и версии ПО. Значение лимита `2147483647` означает «без ограничений».

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `login` | query | string | да | Логин |
| `passwd` | query | string | да | API-пароль |
| `output_format` | query | string | нет | json (по умолчанию) |

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

```
https://api.beget.com/api/user/getAccountInfo?login=userlogin&passwd=password&output_format=json
```

### GET /api/backup/getFileBackupList — Список файловых бэкапов

В ответе: `backup_id`, `date`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `login` | query | string | да | Логин |
| `passwd` | query | string | да | API-пароль |

### GET /api/backup/restoreFile — Восстановление файлов из бэкапа

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `input_format` | query | string | да | json |
| `input_data.backup_id` | query | integer | да | ID бэкапа |
| `input_data.paths` | query | array | да | Пути от корня домашней директории |

## Нюансы

- `input_format`: `plain` (по умолчанию) или `json`; при `json` все аргументы метода передаются в `input_data` JSON-строкой, URL-кодированной.
- Успешный ответ: `{"status": "success", "answer": ...}`; результат метода — в `answer.result`. Ошибка метода приходит внутри успешного ответа: `answer.status` = `error`, массив `answer.errors`.
- Изменения (заморозка сайта, привязка домена, создание БД) выполняются в очереди и применяются через несколько минут.
- Другие разделы: `stat` (статистика), `mail`, `ftp`, `cron`; методы `domain/getSubdomainList`, `deleteSubdomain`, `getDirectives`, `addDirectives`, `site/delete`, `freeze`, `unfreeze`, `mysql/addAccess`, `dropDb`, `backup/getLog` и др.

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

- [Создать сайт и привязать к нему домен](https://mcp-everything.ru/integrations/beget/scenarios/sozdat-sayt-i-privyazat-k-nemu-domen.md)
- [Изменить DNS-записи домена](https://mcp-everything.ru/integrations/beget/scenarios/izmenit-dns-zapisi-domena.md)
- [Создать базу MySQL для сайта](https://mcp-everything.ru/integrations/beget/scenarios/sozdat-bazu-mysql-dlya-sayta.md)

---

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