Перейти к основному содержанию

Обзор

AdGuard DNS API

AdGuard DNS предоставляет REST API, который вы можете использовать в своих приложениях.

Authentication

Генерация токена доступа

Сделайте POST-запрос с указанными параметрами по следующему URL, чтобы сгенерировать access_token:

https://api.adguard-dns.io/oapi/v1/oauth_token

ПараметрОписание
имя пользователяEmail
парольПароль
mfa_tokenТокен двухфакторной аутентификации (если включена в настройках аккаунта)

В ответ вы получите access_token и refresh_token.

  • access_token истекает через несколько секунд (срок указан в параметре expires_in). Вы можете запросить новый access_token, используя refresh_token (См.: Генерация токена доступа через продлеваемый токен).

  • refresh_token генерируется один раз и затем не изменяется. Чтобы отозвать refresh_token, см.: Отзыв продлеваемого токена.

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

$ curl 'https://api.adguard-dns.io/oapi/v1/oauth_token' -i -X POST \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'username=user%40adguard.com' \
-d 'password=********' \
-d 'mfa_token=727810'

Пример ответа

{
"access_token": "jTFho_aymtN20pZR5RRSQAzd81I",
"token_type": "bearer",
"refresh_token": "H3SW6YFJ-tOPe0FQCM1Jd6VnMiA",
"expires_in": 2620978
}

Генерация токена доступа через продлеваемый токен

Токены доступа имеют ограниченное время действия. После истечения этого срока ваше приложение должно использовать продлеваемый токен для генерации нового токена доступа.

Сделайте следующий POST-запрос с указанными параметрами, чтобы получить новый токен доступа:

https://api.adguard-dns.io/oapi/v1/oauth_token

ПараметрОписание
refresh_tokenПродлеваемый токен, с помощью которого должен быть сгенерирован новый токен доступа.

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

$ curl 'https://api.adguard-dns.io/oapi/v1/oauth_token' -i -X POST \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'refresh_token=H3SW6YFJ-tOPe0FQCM1Jd6VnMiA'

Пример ответа

{
"access_token": "xQnT7GYT6Ag--3oY_EcOOdXe-I0",
"token_type": "bearer",
"refresh_token": "H3SW6YFJ-tOPe0FQCM1Jd6VnMiA",
"expires_in": 2627999
}

Отзыв продлеваемого токена

Чтобы сбросить продлеваемый токен, сделайте следующий POST-запрос с указанными параметрами:

https://api.adguard-dns.io/oapi/v1/revoke_token

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

$ curl 'https://api.adguard-dns.com/oapi/v1/revoke_token' -i -X POST \
-d 'token=H3SW6YFJ-tOPe0FQCM1Jd6VnMiA'
ПараметрОписание
refresh_tokenПродлеваемый токен, который должен быть сброшен

Получение доступа к API

После того как токен доступа и продлеваемый токен сгенерированы, получить доступ к API можно, указав токен доступа в заголовке.

  • Имя заголовка должно быть Authorization
  • Значение заголовка должно быть Bearer {access_token}

API

Руководство по API

Перейдите по этой ссылке, чтобы ознакомиться с руководством по методам API.

Спецификация OpenAPI

Спецификация OpenAPI доступна по адресу https://api.adguard-dns.io/static/swagger/openapi.json.

Вы можете использовать другие инструменты для просмотра списка доступных методов API. Например, вы можете открыть этот файл в https://editor.swagger.io/.

Feedback

Если вы хотите расширить этот API, напишите нам по адресу devteam@adguard.com и расскажите, что вы хотите добавить.