Selectel API: Управлять DNS-записями домена

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

Автоматически добавлять поддомены для клиентов, менять записи при переезде, подтверждать домен TXT-записью.

  1. Получи зоны: GET /domains/v2/zones с токеном проекта — найди id своей зоны. Новую зону создаёт POST /domains/v2/zones (имя с точкой в конце).
  2. Добавь запись: POST /domains/v2/zones/{zone_id}/rrset с name (полное имя с точкой в конце), type, ttl (60–604800) и records — списком content.
  3. Найти существующую запись — GET /domains/v2/zones/{zone_id}/rrset с name или search; изменить — PATCH /domains/v2/zones/{zone_id}/rrset/{rrset_id} с ttl и новым records (ответ 204); удалить — DELETE по тому же адресу.
curl -X POST "https://api.selectel.ru/domains/v2/zones/<zone_id>/rrset" \
  -H "X-Auth-Token: $TOKEN" -H 'Content-Type: application/json' \
  -d '{"name": "shop.example.ru.", "type": "A", "ttl": 300, "records": [{"content": "203.0.113.10"}]}'

Базовые URL

Авторизация

Тип: Другое

Для рабочих интеграций документация рекомендует сервисных пользователей.

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

GET /domains/v2/zones — Список DNS-зон

Параметр Где Тип Обяз. Описание
X-Auth-Token header string да IAM-токен проекта
limit query integer нет Сколько вернуть, по умолчанию 1000
offset query integer нет Смещение, по умолчанию 0
filter query string нет Фильтр по имени
sort_by query array нет Сортировка, по умолчанию name.ascend

POST /domains/v2/zones — Создание DNS-зоны

Параметр Где Тип Обяз. Описание
name body string да Доменное имя зоны (оканчивается точкой)

GET /domains/v2/zones/{zone_id}/rrset — Записи зоны

Параметр Где Тип Обяз. Описание
zone_id path string да UUID зоны
limit query integer нет По умолчанию 1000
offset query integer нет Смещение
rrset_types query array нет Фильтр по типу
name query string нет Фильтр по имени
search query string нет Поиск по имени или содержимому

POST /domains/v2/zones/{zone_id}/rrset — Создание набора записей

Параметр Где Тип Обяз. Описание
zone_id path string да UUID зоны
name body string да Имя (FQDN с точкой в конце)
ttl body integer да 60–604800 секунд
type body string да A, AAAA, ALIAS, CAA, CNAME, DNAME, HTTPS, MX, NS, SOA, SRV, SVCB, SSHFP, TXT
records body array да 1–100 записей: content, disabled
comment body string нет Комментарий

PATCH /domains/v2/zones/{zone_id}/rrset/{rrset_id} — Изменение набора записей

Успех — 204.

Параметр Где Тип Обяз. Описание
zone_id path string да UUID зоны
rrset_id path string да UUID набора записей
ttl body integer да 60–604800 секунд
records body array да Новый список записей
comment body string нет Комментарий

Нюансы

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


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