Added openapi description
This commit is contained in:
@@ -2,7 +2,7 @@ swagger: '2.0'
|
||||
info:
|
||||
title: 'AdGuard Home'
|
||||
description: 'AdGuard Home REST API. Admin web interface is built on top of this REST API.'
|
||||
version: 0.92.0
|
||||
version: 0.93.0
|
||||
schemes:
|
||||
- http
|
||||
basePath: /control
|
||||
@@ -12,6 +12,9 @@ tags:
|
||||
-
|
||||
name: global
|
||||
description: 'AdGuard Home server general settings and controls'
|
||||
-
|
||||
name: tls
|
||||
description: 'AdGuard Home HTTPS/DOH/DOT settings'
|
||||
-
|
||||
name: log
|
||||
description: 'AdGuard Home query log'
|
||||
@@ -267,6 +270,70 @@ paths:
|
||||
200:
|
||||
description: OK
|
||||
|
||||
# --------------------------------------------------
|
||||
# TLS server methods
|
||||
# --------------------------------------------------
|
||||
|
||||
/tls/status:
|
||||
get:
|
||||
tags:
|
||||
- tls
|
||||
operationId: tlsStatus
|
||||
summary: "Returns TLS configuration and its status"
|
||||
responses:
|
||||
200:
|
||||
description: OK
|
||||
schema:
|
||||
$ref: "#/definitions/TlsConfig"
|
||||
|
||||
/tls/configure:
|
||||
post:
|
||||
tags:
|
||||
- tls
|
||||
operationId: tlsConfigure
|
||||
summary: "Updates current TLS configuration"
|
||||
consumes:
|
||||
- application/json
|
||||
parameters:
|
||||
- in: "body"
|
||||
name: "body"
|
||||
description: "TLS configuration JSON"
|
||||
required: true
|
||||
schema:
|
||||
$ref: "#/definitions/TlsConfig"
|
||||
responses:
|
||||
200:
|
||||
description: "TLS configuration and its status"
|
||||
schema:
|
||||
$ref: "#/definitions/TlsConfig"
|
||||
400:
|
||||
description: "Invalid configuration or unavailable port"
|
||||
500:
|
||||
description: "Error occurred while applying configuration"
|
||||
|
||||
/tls/validate:
|
||||
post:
|
||||
tags:
|
||||
- tls
|
||||
operationId: tlsValidate
|
||||
summary: "Checks if the current TLS configuration is valid"
|
||||
consumes:
|
||||
- application/json
|
||||
parameters:
|
||||
- in: "body"
|
||||
name: "body"
|
||||
description: "TLS configuration JSON"
|
||||
required: true
|
||||
schema:
|
||||
$ref: "#/definitions/TlsConfig"
|
||||
responses:
|
||||
200:
|
||||
description: "TLS configuration and its status"
|
||||
schema:
|
||||
$ref: "#/definitions/TlsConfig"
|
||||
400:
|
||||
description: "Invalid configuration or unavailable port"
|
||||
|
||||
# --------------------------------------------------
|
||||
# DHCP server methods
|
||||
# --------------------------------------------------
|
||||
@@ -1063,4 +1130,81 @@ definitions:
|
||||
type: "array"
|
||||
description: "Query log"
|
||||
items:
|
||||
$ref: "#/definitions/QueryLogItem"
|
||||
$ref: "#/definitions/QueryLogItem"
|
||||
TlsConfig:
|
||||
type: "object"
|
||||
description: "TLS configuration settings and status"
|
||||
properties:
|
||||
# TLS configuration
|
||||
enabled:
|
||||
type: "boolean"
|
||||
example: "true"
|
||||
description: "enabled is the encryption (DOT/DOH/HTTPS) status"
|
||||
server_name:
|
||||
type: "string"
|
||||
example: "example.org"
|
||||
description: "server_name is the hostname of your HTTPS/TLS server"
|
||||
force_https:
|
||||
type: "boolean"
|
||||
example: "true"
|
||||
description: "if true, forces HTTP->HTTPS redirect"
|
||||
port_https:
|
||||
type: "integer"
|
||||
format: "int32"
|
||||
example: 443
|
||||
description: "HTTPS port. If 0, HTTPS will be disabled."
|
||||
port_dns_over_tls:
|
||||
type: "integer"
|
||||
format: "int32"
|
||||
example: 853
|
||||
description: "DNS-over-TLS port. If 0, DOT will be disabled."
|
||||
certificate_chain:
|
||||
type: "string"
|
||||
description: "Base64 string with PEM-encoded certificates chain"
|
||||
private_key:
|
||||
type: "string"
|
||||
description: "Base64 string with PEM-encoded private key"
|
||||
# Below goes validation fields
|
||||
valid_cert:
|
||||
type: "boolean"
|
||||
example: "true"
|
||||
description: "valid_cert is true if the specified certificates chain is a valid chain of X509 certificates"
|
||||
valid_chain:
|
||||
type: "boolean"
|
||||
example: "true"
|
||||
description: "valid_chain is true if the specified certificates chain is verified and issued by a known CA"
|
||||
subject:
|
||||
type: "string"
|
||||
example: "CN=example.org"
|
||||
description: "subject is the subject of the first certificate in the chain"
|
||||
issuer:
|
||||
type: "string"
|
||||
example: "CN=Let's Encrypt Authority X3,O=Let's Encrypt,C=US"
|
||||
description: "issuer is the issuer of the first certificate in the chain"
|
||||
not_before:
|
||||
type: "string"
|
||||
example: "2019-01-31T10:47:32Z"
|
||||
description: "not_before is the NotBefore field of the first certificate in the chain"
|
||||
not_after:
|
||||
type: "string"
|
||||
example: "2019-05-01T10:47:32Z"
|
||||
description: "not_after is the NotAfter field of the first certificate in the chain"
|
||||
dns_names:
|
||||
type: "array"
|
||||
items:
|
||||
type: "string"
|
||||
description: "dns_names is the value of SubjectAltNames field of the first certificate in the chain"
|
||||
example:
|
||||
- "*.example.org"
|
||||
valid_key:
|
||||
type: "boolean"
|
||||
example: "true"
|
||||
description: "valid_key is true if the key is a valid private key"
|
||||
key_type:
|
||||
type: "string"
|
||||
example: "RSA"
|
||||
description: "key_type is either RSA or ECDSA"
|
||||
warning_validation:
|
||||
type: "string"
|
||||
example: "You have specified an empty certificate"
|
||||
description: "warning_validation is a validation warning message with the issue description"
|
||||
Reference in New Issue
Block a user