Обновлена: 8 августа 2023 г. в 13:15
Публичный DNS
Перед выполнением запросов получите токен доступа X-Subject-Token
и запишите его в переменную OS_AUTH_TOKEN
.
Для всех методов API используются параметры:
tenant
— номер проекта, который можно найти в личном кабинете VK Cloud.dns-uuid
(uuid
) — уникальный идентификатор DNS-записи;record-type
— тип записи:A
,AAAA
,CNAME
, и т.д;a-uuid
— уникальный идентификаторА
записи для DNS.
POST /v2/dns/
Пример запроса:
curl -X POST "https://mcs.mail.ru/public-dns/v2/dns/" -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"soa_admin_email": "admin@example.com", "soa_expire": 3600000, "soa_refresh": 7200, "soa_primary_dns": "ns1.mcs.mail.ru.", "soa_ttl": 3600, "zone": "example.com." }'
Код ответа:
201
— DNS-запись создана успешно.
Тело ответа:
1{ 2 "uuid": "a5ef043e-b517-4c45-a727-e8298f5d47d6", 3 "tenant": "7642b2c2-4162-4983-a7e7-b26de7cbdaf9", 4 "soa_primary_dns": "ns1.mcs.mail.ru.", 5 "soa_admin_email": "admin@example.com", 6 "soa_refresh": 7200, 7 "soa_expire": 3600000, 8 "soa_ttl": 3600, 9 "zone": "example.com.", 10 "status": "pending" 11}
GET /v2/dns/<dns-uuid>
Пример запроса:
curl -X GET "https://mcs.mail.ru/public-dns/v2/dns/a5ef043e-b517-4c45-a727-e8298f5d47d6" -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json"
Код ответа:
200
— успешный ответ.404
— DNS-запись не найдена.409
— DNS-запись уже существует.
Тело ответа:
1{ 2 "uuid": "a5ef043e-b517-4c45-a727-e8298f5d47d6", 3 "tenant": "7642b2c2-4162-4983-a7e7-b26de7cbdaf9", 4 "soa_primary_dns": "ns1.mcs.mail.ru.", 5 "soa_admin_email": "admin@example.com", 6 "soa_serial": 2020080304, 7 "soa_refresh": 7200, 8 "soa_retry": 3600, 9 "soa_expire": 1209600, 10 "soa_ttl": 3600, 11 "zone": "example.com.", 12 "status": "pending" 13}
GET /v2/dns/
Пример запроса:
curl -X GET "https://mcs.mail.ru/public-dns/v2/dns/" -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json"
Код ответа:
200
— успешный ответ.
Тело ответа:
1[ 2 { 3 "uuid": "a5ef043e-b517-4c45-a727-e8298f5d47d6", 4 "tenant": "7642b2c2-4162-4983-a7e7-b26de7cbdaf9", 5 "soa_primary_dns": "ns1.mcs.mail.ru.", 6 "soa_admin_email": "admin@example.com", 7 "soa_serial": 2020080304, 8 "soa_refresh": 7200, 9 "soa_retry": 3600, 10 "soa_expire": 1209600, 11 "soa_ttl": 3600, 12 "zone": "example.com.", 13 "status": "pending" 14 } 15]
PUT /v2/dns/<dns-uuid>
Пример запроса:
curl -X PUT "https://mcs.mail.ru/public-dns/v2/dns/a5ef043e-b517-4c45-a727-e8298f5d47d6" -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"soa_admin_email": "admin1@example.com", "soa_ttl": 7200, "zone": "example1.com." }'
Код ответа:
200
— успешный ответ.404
— DNS-запись не найдена.
Тело ответа:
1{ 2 "uuid": "a5ef043e-b517-4c45-a727-e8298f5d47d6", 3 "tenant": "7642b2c2-4162-4983-a7e7-b26de7cbdaf9", 4 "soa_primary_dns": "ns1.mcs.mail.ru.", 5 "soa_admin_email": "admin1@example.com", 6 "soa_serial": 2020120302, 7 "soa_refresh": 7200, 8 "soa_retry": 3600, 9 "soa_expire": 1209600, 10 "soa_ttl": 7200, 11 "zone": "example1.com.", 12 "status": "pending" 13}
DELETE /v2/dns/<dns-uuid>
Пример запроса:
curl -X DELETE "https://mcs.mail.ru/public-dns/v2/dns/ff1b847e-730b-40c9-a458-d5b153fd0fc9" -H "X-Auth-Token: $OS_AUTH_TOKEN"
Код ответа:
204
— удалено успешно.404
— DNS-запись не найдена.
POST /v2/dns/<dns-uuid>/a/
Пример запроса:
curl -X POST "https://mcs.mail.ru/public-dns/v2/dns/a5ef043e-b517-4c45-a727-e8298f5d47d6/a/" -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"name": "google-dns-servers", "ipv4": "8.8.8.8", "ttl": 60}'
Заголовки:
1Location: 2<https://mcs.mail.ru/public-dns/v2/dns/a5ef043e-b517-4c45-a727-e8298f5d47d6/a/631519fb-f2d3-43e0-ae9c-8f18adcf3b1a> 3Content-Type: application/json; charset=UTF-8 4Content-Length: 211
Код ответа:
201
— A-запись создана успешно.409
— A-запись уже существует.
Тело ответа:
1{ 2 "uuid": "631519fb-f2d3-43e0-ae9c-8f18adcf3b1a", 3 "name": "google-dns-servers", 4 "dns": "/v2/dns/a5ef043e-b517-4c45-a727-e8298f5d47d6", 5 "ipv4": "8.8.8.8", 6 "ttl": 60 7}
GET /v2/dns/<dns-uuid>/a/<a-uuid>
Пример запроса:
curl -X GET "https://mcs.mail.ru/public-dns/v2/dns/a5ef043e-b517-4c45-a727-e8298f5d47d6/a/631519fb-f2d3-43e0-ae9c-8f18adcf3b1a" -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json"
Код ответа:
200
— успешный ответ.404
— A-запись не найдена.
Тело ответа:
1{ 2 "uuid": "631519fb-f2d3-43e0-ae9c-8f18adcf3b1a", 3 "name": "google-dns-servers", 4 "dns": "/v2/dns/a5ef043e-b517-4c45-a727-e8298f5d47d6", 5 "ipv4": "8.8.8.8", 6 "ttl": 60 7}
GET /v2/dns/<dns-uuid>/a/
Пример ответа:
curl -X GET "https://mcs.mail.ru/public-dns/v2/dns/a5ef043e-b517-4c45-a727-e8298f5d47d6/a/" -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json"
Код ответа:
200
— успешный ответ.
Тело ответа:
1[ 2 { 3 "uuid": "631519fb-f2d3-43e0-ae9c-8f18adcf3b1a", 4 "name": "google-dns-servers", 5 "dns": "/v2/dns/a5ef043e-b517-4c45-a727-e8298f5d47d6", 6 "ipv4": "8.8.8.8", 7 "ttl": 60 8 } 9]
GET /v2/dns/<dns-uuid>/cname/
Пример ответа:
curl -X GET "https://mcs.mail.ru/public-dns/v2/dns/ff1b847e-730b-40c9-a458-d5b153fd0fc9/cname/" -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json"
Код ответа:
200
— успешный ответ.
Тело ответа:
1[ 2 { 3 "uuid": "732d2f59-b5a3-429a-8013-5340dcebcbb6", 4 "name": "@", 5 "dns": "/v2/dns/ff1b847e-730b-40c9-a458-d5b153fd0fc9", 6 "content": "example.com", 7 "ttl": 86400, 8 } 9]
PUT /v2/dns/<dns-uuid>/a/<a-uuid>
Пример запроса:
curl -X PUT "https://mcs.mail.ru/public-dns/v2/dns/ff1b847e-730b-40c9-a458-d5b153fd0fc9/a/631519fb-f2d3-43e0-ae9c-8f18adcf3b1a" -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"name": "hela", "ipv4": "8.8.4.4", "ttl": 60}'
Код ответа:
200
— успешный ответ.404
— A-запись не найдена.
Тело ответа:
1{ 2 "uuid": "631519fb-f2d3-43e0-ae9c-8f18adcf3b1a", 3 "name": "hela", 4 "dns": "/v2/dns/ff1b847e-730b-40c9-a458-d5b153fd0fc9", 5 "ipv4": "8.8.4.4", 6 "ttl": 60 7}
DELETE /v2/dns/<dns-uuid>/a/<a-uuid>
Пример запроса:
curl -X DELETE "https://mcs.mail.ru/public-dns/v2/dns/ff1b847e-730b-40c9-a458-d5b153fd0fc9/a/bc0b9630-13cf-4ff1-a025-0ff9e746815f" -H "X-Auth-Token: $OS_AUTH_TOKEN"
Код ответа:
202
— удалено успешно.404
— A-запись не найдена.
Все операции абсолютно аналогичны A-записи, за исключением полей. Ниже приведены примеры ответов.
GET /v2/dns/<dns-uuid>/<record-type>/<record-uuid>
1{ 2 "uuid": "00e52f77-2694-46de-b6e0-a37370bef2c5", 3 "name": "@", 4 "dns": "/v2/dns/a5ef043e-b517-4c45-a727-e8298f5d47d6", 5 "ipv6": "2001:0DB8:AA10:0001:0000:0000:0000:00FB", 6 "ttl": 86400 7}
1{ 2 "uuid": "4f2a4306-1c17-4f84-b6c5-438d2eb3d2d3", 3 "name": "@", 4 "dns": "/v2/dns/a5ef043e-b517-4c45-a727-e8298f5d47d6", 5 "priority": 10, 6 "content": "mx.example.com", 7 "ttl": 86400 8}
Пример запроса на создание записи CNAME:
curl -X POST "https://mcs.mail.ru/public-dns/v2/dns/ff1b847e-730b-40c9-a458-d5b153fd0fc9/cname/" -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"name": "test3", "ttl": 86400, "content": "www.mail.ru"}'
1{ 2 "uuid": "732d2f59-b5a3-429a-8013-5340dcebcbb6", 3 "name": "@", 4 "dns": "/v2/dns/a5ef043e-b517-4c45-a727-e8298f5d47d6", 5 "content": "example.com", 6 "ttl": 86400, 7}
1{ 2 "uuid": "dccc755c-6f88-4e9c-9823-8589fa5c6d4e", 3 "name": "@", 4 "dns": "/v2/dns/a5ef043e-b517-4c45-a727-e8298f5d47d6", 5 "content": "ns2.mcs.mail.ru", 6 "ttl": 86400 7}
1{ 2 "uuid": "545d152d-3cd1-4eba-946f-6931e8dd5874", 3 "name": "_sip._udp", 4 "dns": "/v2/dns/a5ef043e-b517-4c45-a727-e8298f5d47d6", 5 "priority": 10, 6 "weight": 5, 7 "port": 5060, 8 "host": "example.com", 9 "ttl": 86400 10}
Пример запроса на создание записи TXT:
curl -X POST "https://mcs.mail.ru/public-dns/v2/dns/ff1b847e-730b-40c9-a458-d5b153fd0fc9/txt/" -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"name": "@", "ttl": 86400, "content": "textstring"}'
1{ 2 "uuid": "39186a66-e165-4069-8ab7-0934d1d69634", 3 "name": "@", 4 "dns": "/v2/dns/a5ef043e-b517-4c45-a727-e8298f5d47d6", 5 "content": "Text example", 6 "ttl": 86400 7}