Beget API хостинга: Создать сайт и привязать к нему домен

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

Развернуть новый сайт клиента на хостинге: каталог сайта, домен, привязка.

  1. Задай API-пароль в панели Beget. В каждом запросе передаются login и passwd (URL-кодированный). Формат вызова — https://api.beget.com/api/<раздел>/<метод>.
  2. Для методов с аргументами передавай input_format = json и input_data — JSON-строкой, URL-кодированной. output_format = json вернёт ответ в JSON.
  3. Создай каталог сайта: GET /api/site/add с input_data.name (например, shop.ru) — полный путь будет shop.ru/public_html.
  4. Добавь домен: GET /api/domain/addVirtual с hostname (имя без зоны) и zone_id (ID зоны из GET /api/domain/getZoneList). Метод вернёт ID домена.
  5. Привяжи домен к сайту: GET /api/site/linkDomain с domain_id и site_id. Сайт откроется через 5–10 минут. Ошибки метода приходят внутри успешного ответа: answer.status = error и массив answer.errors.
AUTH='login=<логин>&passwd=<API-пароль>&output_format=json&input_format=json'

curl "https://api.beget.com/api/site/add?$AUTH" --data-urlencode 'input_data={"name": "shop.ru"}' -G
curl "https://api.beget.com/api/domain/addVirtual?$AUTH" --data-urlencode 'input_data={"hostname": "shop", "zone_id": 1}' -G
curl "https://api.beget.com/api/site/linkDomain?$AUTH" --data-urlencode 'input_data={"domain_id": <ID домена>, "site_id": <ID сайта>}' -G

Базовые URL

Авторизация

Тип: Другое

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

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

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

GET /api/domain/getZoneList — Доменные зоны и цены

В result: id, zone, price, price_renew, is_idn, min_period, max_period и др.

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

GET /api/domain/addVirtual — Добавление домена

Возвращает ID домена.

Параметр Где Тип Обяз. Описание
input_format query string да json
input_data.hostname query string да Имя домена без зоны
input_data.zone_id query integer да ID зоны

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

https://api.beget.com/api/domain/addVirtual?login=userlogin&passwd=password&input_format=json&output_format=json&input_data={"hostname":"domain","zone_id": 1}

GET /api/site/add — Создание сайта

Полный путь сайта — name/public_html.

Параметр Где Тип Обяз. Описание
input_format query string да json
input_data.name query string да Имя директории сайта, например site.ru

GET /api/site/linkDomain — Привязка домена к сайту

Сайт начнёт открываться через 5–10 минут.

Параметр Где Тип Обяз. Описание
input_format query string да json
input_data.domain_id query integer да ID домена
input_data.site_id query integer да ID сайта

Нюансы

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


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