Beget API хостинга: Изменить DNS-записи домена

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

Направить домен на другой сервер, добавить MX для почты или TXT для подтверждения.

  1. Получи текущие записи: GET /api/dns/getData с input_data.fqdn. В ответе records по типам и set_type.
  2. Отправь новый набор: GET /api/dns/changeRecords с fqdn и records — одной группой: A, MX и TXT (до 10 каждого), или NS (только для поддоменов), или CNAME (только поддомен, одна запись). У каждой записи priority и value.
  3. Метод заменяет группу записей целиком — передавай все записи, которые должны остаться, а не только новые.
curl -G "https://api.beget.com/api/dns/changeRecords?login=<логин>&passwd=<API-пароль>&input_format=json&output_format=json" \
  --data-urlencode 'input_data={"fqdn": "shop.ru", "records": {
      "A": [{"priority": 10, "value": "203.0.113.10"}],
      "MX": [{"priority": 10, "value": "mx1.beget.com"}, {"priority": 20, "value": "mx2.beget.com"}],
      "TXT": [{"priority": 10, "value": "v=spf1 redirect=beget.com"}]}}'

Базовые URL

Авторизация

Тип: Другое

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

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

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

GET /api/dns/getData — DNS-записи домена

В result: is_under_control, is_beget_dns, is_subdomain, fqdn, records (по типам DNS, DNS_IP, A, MX, TXT; у записи value и priority), set_type (1 — A/MX/TXT, 2 — NS, 3 — CNAME).

Параметр Где Тип Обяз. Описание
input_format query string да json
input_data.fqdn query string да Полное имя домена

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

https://api.beget.com/api/dns/getData?login=userlogin&passwd=password&input_format=json&output_format=json&input_data={"fqdn":"beget.ru"}

GET /api/dns/changeRecords — Изменение DNS-записей

Передаётся одна группа записей: A/MX/TXT (до 10 каждого типа), NS (только поддомены, до 10), CNAME (только поддомены, одна запись) или DNS (до 4, для доменов на Beget). У каждой записи priority и value.

Параметр Где Тип Обяз. Описание
input_format query string да json
input_data.fqdn query string да Полное имя домена
input_data.records query object да Записи по типам

Нюансы

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


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