메인 컨텐츠로 건너뛰기

Reference

AdGuard DNS API

DNS API documentation

AdGuard DNS API Change Log

v1.0

  • Added authentication.
  • CRUD operations with devices and DNS servers.
  • Query log.
  • Downloading DOT and DOT .mobileconfig.
  • Filter Lists and Web-Services.

v1.1

  • Added methods to retrieve statistics by time, domains, companies and devices.

  • Added method for updating device settings.

  • Fixed required fields definition.

v1.2

  • Added new protocol types DNS and DNSCRYPT. Deprecating the PLAIN_TCP, PLAIN_UDP, DNSCRYPT_TCP and DNSCRYPT_UDP that will be removed later.

v1.3

  • Added method to get account limits.

v1.4

  • Added configurable option for blocking response: default (0.0.0.0), REFUSED, NXDOMAIN or custom IP-address.

v1.5

  • Added new setting block_nrd and group all security-related settings to one place.

Model for safebrowsing settings changed from

{
"enabled": true
}

to:

{
"enabled": true,
"block_dangerous_domains": true,
"block_nrd": false
}

where enabled is now control all settings in group, block_dangerous_domains is previous model field "enabled" and block_nrd is settings for filtering newly registered domains.

Model for saving server settings changed from

{
"protection_enabled" : true,
"safebrowsing_enabled" : true,
...
}

to:

{
"protection_enabled" : true,
"safebrowsing_settings" : {
"enabled": true,
"block_dangerous_domains": true,
"block_nrd": false
}
...
}

here new field safebrowsing_settings is used instead of deprecated safebrowsing_enabled, whose value stored in block_dangerous_domains.

Version: 1.5

/oapi/v1/account/limits

GET

Summary

Gets account limits

Responses
CodeDescription
200Account limits info

/oapi/v1/devices

GET

Summary

Lists devices

Responses
CodeDescription
200List of devices

POST

Summary

Creates a new device

Responses
CodeDescription
200Device created
400Validation failed
429Devices count reached the limit

/oapi/v1/devices/{device_id}

DELETE

Summary

Removes a device

Parameters
NameLocated inDescriptionRequiredSchema
device_idpathYesstring
Responses
CodeDescription
200Device deleted
404Device not found

GET

Summary

Gets an existing device by ID

Parameters
NameLocated inDescriptionRequiredSchema
device_idpathYesstring
Responses
CodeDescription
200Device info
404Device not found

PUT

Summary

Updates an existing device

Parameters
NameLocated inDescriptionRequiredSchema
device_idpathYesstring
Responses
CodeDescription
200Device updated
400Validation failed
404Device not found

/oapi/v1/devices/{device_id}/doh.mobileconfig

GET

Summary

Gets DNS-over-HTTPS .mobileconfig file.

Parameters
NameLocated inDescriptionRequiredSchema
device_idpathYesstring
exclude_wifi_networksqueryList Wi-Fi networks by their SSID in which you want AdGuard DNS to be disabledNo[ string ]
exclude_domainqueryList domains that will use default DNS servers instead of AdGuard DNSNo[ string ]
Responses
CodeDescription
200DNS-over-HTTPS .plist file
404Device not found

/oapi/v1/devices/{device_id}/dot.mobileconfig

GET

Summary

Gets DNS-over-TLS .mobileconfig file.

Parameters
NameLocated inDescriptionRequiredSchema
device_idpathYesstring
exclude_wifi_networksqueryList Wi-Fi networks by their SSID in which you want AdGuard DNS to be disabledNo[ string ]
exclude_domainqueryList domains that will use default DNS servers instead of AdGuard DNSNo[ string ]
Responses
CodeDescription
200DNS-over-HTTPS .plist file
404Device not found

/oapi/v1/devices/{device_id}/settings

PUT

Summary

Updates device settings

Parameters
NameLocated inDescriptionRequiredSchema
device_idpathYesstring
Responses
CodeDescription
200Device settings updated
400Validation failed
404Device not found

/oapi/v1/dns_servers

GET

Summary

Lists DNS servers that belong to the user.

Description

Lists DNS servers that belong to the user. By default there is at least one default server.

Responses
CodeDescription
200List of DNS servers

POST

Summary

Creates a new DNS server

Description

Creates a new DNS server. You can attach custom settings, otherwise DNS server will be created with default settings.

Responses
CodeDescription
200DNS server created
400Validation failed
429DNS servers count reached the limit

/oapi/v1/dns_servers/{dns_server_id}

DELETE

Summary

Removes a DNS server

Description

Removes a DNS server. All devices attached to this DNS server will be moved to the default DNS server. Deleting the default DNS server is forbidden.

Parameters
NameLocated inDescriptionRequiredSchema
dns_server_idpathYesstring
Responses
CodeDescription
200DNS server deleted
404DNS server not found

GET

Summary

Gets an existing DNS server by ID

Parameters
NameLocated inDescriptionRequiredSchema
dns_server_idpathYesstring
Responses
CodeDescription
200DNS server info
404DNS server not found

PUT

Summary

Updates an existing DNS server

Parameters
NameLocated inDescriptionRequiredSchema
dns_server_idpathYesstring
Responses
CodeDescription
200DNS server updated
400Validation failed
404DNS server not found

/oapi/v1/dns_servers/{dns_server_id}/settings

PUT

Summary

Updates DNS server settings

Parameters
NameLocated inDescriptionRequiredSchema
dns_server_idpathYesstring
Responses
CodeDescription
200DNS server settings updated
400Validation failed
404DNS server not found

/oapi/v1/filter_lists

GET

Summary

Gets filter lists

Responses
CodeDescription
200List of filters

/oapi/v1/oauth_token

POST

Summary

Generates Access and Refresh token

Responses
CodeDescription
200Access token issued
400Missing required parameters
401Invalid credentials, MFA token or refresh token provided

null

/oapi/v1/query_log

DELETE

Summary

Clears query log

Responses
CodeDescription
202Query log was cleared

GET

Summary

Gets query log

Parameters
NameLocated inDescriptionRequiredSchema
time_from_millisqueryTime from in milliseconds (inclusive)Yeslong
time_to_millisqueryTime to in milliseconds (inclusive)Yeslong
devicesqueryFilter by devicesNo[ string ]
countriesqueryFilter by countriesNo[ string ]
companiesqueryFilter by companiesNo[ string ]
statusesqueryFilter by statusesNo[ FilteringActionStatus ]
categoriesqueryFilter by categoriesNo[ CategoryType ]
searchqueryFilter by domain nameNostring
limitqueryLimit the number of records to be returnedNointeger
cursorqueryPagination cursor. Use cursor from response to paginate through the pages.Nostring
Responses
CodeDescription
200Query log

/oapi/v1/revoke_token

POST

Summary

Revokes a Refresh Token

Parameters
NameLocated inDescriptionRequiredSchema
refresh_tokenqueryRefresh TokenYesstring
Responses
CodeDescription
200Refresh token revoked

null

/oapi/v1/stats/categories

GET

Summary

Gets categories statistics

Parameters
NameLocated inDescriptionRequiredSchema
time_from_millisqueryTime from in milliseconds (inclusive)Yeslong
time_to_millisqueryTime to in milliseconds (inclusive)Yeslong
devicesqueryFilter by devicesNo[ string ]
countriesqueryFilter by countriesNo[ string ]
Responses
CodeDescription
200Categories statistics received
400Validation failed

/oapi/v1/stats/companies

GET

Summary

Gets companies statistics

Parameters
NameLocated inDescriptionRequiredSchema
time_from_millisqueryTime from in milliseconds (inclusive)Yeslong
time_to_millisqueryTime to in milliseconds (inclusive)Yeslong
devicesqueryFilter by devicesNo[ string ]
countriesqueryFilter by countriesNo[ string ]
Responses
CodeDescription
200Companies statistics received
400Validation failed

/oapi/v1/stats/companies/detailed

GET

Summary

Gets detailed companies statistics

Parameters
NameLocated inDescriptionRequiredSchema
time_from_millisqueryTime from in milliseconds (inclusive)Yeslong
time_to_millisqueryTime to in milliseconds (inclusive)Yeslong
devicesqueryFilter by devicesNo[ string ]
countriesqueryFilter by countriesNo[ string ]
cursorqueryPagination cursorNostring
Responses
CodeDescription
200Detailed companies statistics received
400Validation failed

/oapi/v1/stats/countries

GET

Summary

Gets countries statistics

Parameters
NameLocated inDescriptionRequiredSchema
time_from_millisqueryTime from in milliseconds (inclusive)Yeslong
time_to_millisqueryTime to in milliseconds (inclusive)Yeslong
devicesqueryFilter by devicesNo[ string ]
countriesqueryFilter by countriesNo[ string ]
Responses
CodeDescription
200Countries statistics received
400Validation failed

/oapi/v1/stats/devices

GET

Summary

Gets devices statistics

Parameters
NameLocated inDescriptionRequiredSchema
time_from_millisqueryTime from in milliseconds (inclusive)Yeslong
time_to_millisqueryTime to in milliseconds (inclusive)Yeslong
devicesqueryFilter by devicesNo[ string ]
countriesqueryFilter by countriesNo[ string ]
Responses
CodeDescription
200Devices statistics received
400Validation failed

/oapi/v1/stats/domains

GET

Summary

Gets domains statistics

Parameters
NameLocated inDescriptionRequiredSchema
time_from_millisqueryTime from in milliseconds (inclusive)Yeslong
time_to_millisqueryTime to in milliseconds (inclusive)Yeslong
devicesqueryFilter by devicesNo[ string ]
countriesqueryFilter by countriesNo[ string ]
Responses
CodeDescription
200Domains statistics received
400Validation failed

/oapi/v1/stats/time

GET

Summary

Gets time statistics

Parameters
NameLocated inDescriptionRequiredSchema
time_from_millisqueryTime from in milliseconds (inclusive)Yeslong
time_to_millisqueryTime to in milliseconds (inclusive)Yeslong
devicesqueryFilter by devicesNo[ string ]
countriesqueryFilter by countriesNo[ string ]
Responses
CodeDescription
200Time statistics received
400Validation failed

/oapi/v1/web_services

GET

Summary

Lists web services

Responses
CodeDescription
200List of web-services