Всё, что можно сделать в веб-панели (добавлять и удалять домены, управлять DNS-записями), доступно и программно через REST API.
Все эндпоинты принимают и возвращают JSON. Для аутентификации требуется API-ключ (см. ниже). Сейчас нет ни постраничной выдачи, ни ограничения частоты запросов.
https://ns.nrnic.com/api
API-ключ можно создать в разделе «Настройки аккаунта». Новый ключ показывается только один раз, поэтому обязательно сохраните его в надёжном месте.
Добавляйте в каждый запрос следующий заголовок Authorization:
Authorization: Bearer nrnic_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
При ошибке возвращается соответствующий HTTP-код состояния (401/404/409/422/500 и т. д.) и JSON следующего вида.
{
"error": {
"code": "domain_not_found",
"message": "Domain not found."
}
}
| Метод | Путь | Описание |
|---|---|---|
| GET | /api/domains | Получить список доменов аутентифицированного пользователя |
| POST | /api/domains | Добавить домен |
| GET | /api/domains/{id} | Получить домен, включая статус синхронизации NS и делегирования |
| DELETE | /api/domains/{id} | Удалить домен |
| POST | /api/domains/{id}/resync | Повторно отправить DNS-зону на все неймсерверы (ns1–ns4) |
| POST | /api/domains/{id}/delegation-check | Проверить, делегирован ли домен на NRNIC |
| GET | /api/domains/{id}/records | Получить список DNS-записей домена |
| POST | /api/domains/{id}/records | Добавить DNS-запись |
| PUT | /api/domains/{id}/records/{record_id} | Обновить DNS-запись |
| DELETE | /api/domains/{id}/records/{record_id} | Удалить DNS-запись |
# Получить список доменов аутентифицированного пользователяcurl -s https://ns.nrnic.com/api/domains \
-H "Authorization: Bearer nrnic_xxxxxxxx"
# Добавить доменcurl -s https://ns.nrnic.com/api/domains \
-H "Authorization: Bearer nrnic_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"fqdn": "example.com"}'
# Удалить доменcurl -s -X DELETE https://ns.nrnic.com/api/domains/123 \
-H "Authorization: Bearer nrnic_xxxxxxxx"
# Добавить DNS-записьcurl -s https://ns.nrnic.com/api/domains/123/records \
-H "Authorization: Bearer nrnic_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"type": "A", "name": "@", "content": "192.0.2.1", "ttl": 3600}'
# Обновить DNS-записьcurl -s -X PUT https://ns.nrnic.com/api/domains/123/records/456 \
-H "Authorization: Bearer nrnic_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"type": "A", "name": "@", "content": "192.0.2.2", "ttl": 3600}'
# Удалить DNS-записьcurl -s -X DELETE https://ns.nrnic.com/api/domains/123/records/456 \
-H "Authorization: Bearer nrnic_xxxxxxxx"
| type | Тип записи. Одно из значений: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA. |
| name | Имя хоста (часть поддомена). Для вершины зоны используйте "@". |
| content | Значение записи (IP-адрес, имя целевого хоста и т. д.). |
| ttl | TTL в секундах, от 60 до 604800. Если не указан, по умолчанию 3600. |
| priority | Приоритет для записей MX/SRV (0–65535). |
| weight | Вес для записей SRV (0–65535). |
| port | Номер порта для записей SRV (0–65535). |