badguardhome/openapi
Simon Zolin a869ec4cbb * DNS API: new setting "upstream_mode"; remove "fastest_addr", "parallel_requests"
* use dnsproxy v0.29.0

Squashed commit of the following:

commit f18b7231f3f3f84446c0d837855af342f3c971b4
Merge: 501a4e06 dae275e6
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jun 10 15:24:15 2020 +0300

    Merge remote-tracking branch 'origin/master' into update-dnsproxy

commit 501a4e06ab350e46ff78656141d925de9f2e4996
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Fri Jun 5 12:47:13 2020 +0300

    openapi

commit 3930bd196572924f164ed011629356a0ac0ec631
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Fri Jun 5 12:21:32 2020 +0300

    * DNS API: new setting "upstream_mode"; remove "fastest_addr", "parallel_requests"

    * use dnsproxy v0.29.0
2020-06-10 15:33:23 +03:00
..
.gitignore Added swagger UI scripts 2018-12-28 18:26:14 +03:00
CHANGELOG.md *(querylog): added offset/limit parameters 2020-05-26 15:37:37 +03:00
index.html *(documentation): removed unnecessary dependencies 2020-05-21 00:04:41 +03:00
openapi.yaml * DNS API: new setting "upstream_mode"; remove "fastest_addr", "parallel_requests" 2020-06-10 15:33:23 +03:00
package.json *(documentation): removed unnecessary dependencies 2020-05-21 00:04:41 +03:00
README.md *(documentation): removed unnecessary dependencies 2020-05-21 00:04:41 +03:00
yarn.lock *(documentation): removed unnecessary dependencies 2020-05-21 00:04:41 +03:00

AdGuard Home OpenAPI

We are using OpenAPI specification to generate AdGuard Home API specification.

How to edit the API spec

The easiest way would be to use Swagger Editor and just copy/paste the YAML file there.

How to read the API doc

  1. yarn install
  2. yarn start
  3. Open http://localhost:4000/

Changelog

Here we keep track of all non-compatible changes that are being made.

Authentication

If AdGuard Home's web user is password-protected, a web client must use authentication mechanism when sending requests to server. Basic access authentication is the most simple method - a client must pass Authorization HTTP header along with all requests:

Authorization: Basic BASE64_DATA

where BASE64_DATA is base64-encoded data for username:password string.