API DNS-хостинга

С помощью API DNS можно осуществлять следующие операции:

  • добавление, изменение и удаление доменов;
  • добавление и редактирование ресурсных записей SRV, MX, CNAME, TXT, A, AAAA, NS, SPF (оставлена для совместимости, не рекомендуем к использованию, RFC 7208), PTR (запись SOA создаётся автоматически при добавлении домена, значения MINIMUM и EXPIRE будет равны 300 и 604800 соответственно);
  • изменение контактного email в SOA-записи;
  • добавление и редактирование обратных записей для IP-адресов;
  • пометка доменов тегами для более удобной группировки и фильтрации.

Авторизация

Для работы с API необходимо передавать Selectel Token в заголовке X-Token при выполнении каждого запроса. Подробнее о том, как получить токен Selectel и авторизоваться читайте в статье.

Базовый URL API https://api.selectel.ru/domains/v1/.

Например, запрос ниже вернет список всех добавленных доменов:

curl -H 'X-Token: <ключ>' -H "Content-Type: application/json" https://api.selectel.ru/domains/v1/

Ответ:

[{"user_id": 1174374, "name": "test.com", "tags": [], "change_date": 1590484494, "create_date": 1590484494, "id": 2363763}]

Все доступные методы для работы с API DNS-хостинга приведены ниже в виде спецификации OpenAPI 3.0.

Скрипт для загрузки BIND-зоны

Скрипт для автоматизации переноса для Python 2

Скрипт для автоматизации переноса для Python 3

Чтобы загрузить BIND-зону, введите команду вида:

bind_upload.py [-h] --key <key> --name <name> --zone <zone>

, где:

  • --key — ключ доступа к API;
  • --name — имя домена, который будет добавлен;
  • --zone — путь к файлу зоны.

Скрипт возвращает информацию о добавленном домене в формате JSON. Если при добавлении какой-либо ресурсной записи возникают ошибки, информация о них будет включена в ответ.