API DNS-хостинга

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

  • добавление, изменение и удаление доменов;
  • добавление и редактирование ресурсных записей SRV, MX, CNAME, TXT, A, AAAA, NS, 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.

Адрес (URL): https://api.selectel.ru/domains/v1/

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

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

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

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

Загрузите BIND-зону:

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

Укажите:

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

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