|
@@ -1,1456 +0,0 @@
|
|
|
-{
|
|
|
- "openapi": "3.0.0",
|
|
|
- "info": {
|
|
|
- "title": "Nginx Proxy Manager API",
|
|
|
- "version": "2.x.x"
|
|
|
- },
|
|
|
- "servers": [
|
|
|
- {
|
|
|
- "url": "http://127.0.0.1:81/api"
|
|
|
- }
|
|
|
- ],
|
|
|
- "paths": {
|
|
|
- "/": {
|
|
|
- "get": {
|
|
|
- "operationId": "health",
|
|
|
- "summary": "Returns the API health status",
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": {
|
|
|
- "status": "OK",
|
|
|
- "version": {
|
|
|
- "major": 2,
|
|
|
- "minor": 1,
|
|
|
- "revision": 0
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/HealthObject"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "/nginx/proxy-hosts": {
|
|
|
- "get": {
|
|
|
- "operationId": "getProxyHosts",
|
|
|
- "summary": "Get all proxy hosts",
|
|
|
- "tags": ["Proxy Hosts"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["users"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "parameters": [
|
|
|
- {
|
|
|
- "in": "query",
|
|
|
- "name": "expand",
|
|
|
- "description": "Expansions",
|
|
|
- "schema": {
|
|
|
- "type": "string",
|
|
|
- "enum": ["access_list", "owner", "certificate"]
|
|
|
- }
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": [
|
|
|
- {
|
|
|
- "id": 1,
|
|
|
- "created_on": "2023-03-30T01:12:23.000Z",
|
|
|
- "modified_on": "2023-03-30T02:15:40.000Z",
|
|
|
- "owner_user_id": 1,
|
|
|
- "domain_names": ["aasdasdad"],
|
|
|
- "forward_host": "asdasd",
|
|
|
- "forward_port": 80,
|
|
|
- "access_list_id": 0,
|
|
|
- "certificate_id": 0,
|
|
|
- "ssl_forced": 0,
|
|
|
- "caching_enabled": 0,
|
|
|
- "block_exploits": 0,
|
|
|
- "advanced_config": "sdfsdfsdf",
|
|
|
- "meta": {
|
|
|
- "letsencrypt_agree": false,
|
|
|
- "dns_challenge": false,
|
|
|
- "nginx_online": false,
|
|
|
- "nginx_err": "Command failed: /usr/sbin/nginx -t -g \"error_log off;\"\nnginx: [emerg] unknown directive \"sdfsdfsdf\" in /data/nginx/proxy_host/1.conf:37\nnginx: configuration file /etc/nginx/nginx.conf test failed\n"
|
|
|
- },
|
|
|
- "allow_websocket_upgrade": 0,
|
|
|
- "http2_support": 0,
|
|
|
- "forward_scheme": "http",
|
|
|
- "enabled": 1,
|
|
|
- "locations": [],
|
|
|
- "hsts_enabled": 0,
|
|
|
- "hsts_subdomains": 0,
|
|
|
- "owner": {
|
|
|
- "id": 1,
|
|
|
- "created_on": "2023-03-30T01:11:50.000Z",
|
|
|
- "modified_on": "2023-03-30T01:11:50.000Z",
|
|
|
- "is_deleted": 0,
|
|
|
- "is_disabled": 0,
|
|
|
- "email": "[email protected]",
|
|
|
- "name": "Administrator",
|
|
|
- "nickname": "Admin",
|
|
|
- "avatar": "",
|
|
|
- "roles": ["admin"]
|
|
|
- },
|
|
|
- "access_list": null,
|
|
|
- "certificate": null
|
|
|
- },
|
|
|
- {
|
|
|
- "id": 2,
|
|
|
- "created_on": "2023-03-30T02:11:49.000Z",
|
|
|
- "modified_on": "2023-03-30T02:11:49.000Z",
|
|
|
- "owner_user_id": 1,
|
|
|
- "domain_names": ["test.example.com"],
|
|
|
- "forward_host": "1.1.1.1",
|
|
|
- "forward_port": 80,
|
|
|
- "access_list_id": 0,
|
|
|
- "certificate_id": 0,
|
|
|
- "ssl_forced": 0,
|
|
|
- "caching_enabled": 0,
|
|
|
- "block_exploits": 0,
|
|
|
- "advanced_config": "",
|
|
|
- "meta": {
|
|
|
- "letsencrypt_agree": false,
|
|
|
- "dns_challenge": false,
|
|
|
- "nginx_online": true,
|
|
|
- "nginx_err": null
|
|
|
- },
|
|
|
- "allow_websocket_upgrade": 0,
|
|
|
- "http2_support": 0,
|
|
|
- "forward_scheme": "http",
|
|
|
- "enabled": 1,
|
|
|
- "locations": [],
|
|
|
- "hsts_enabled": 0,
|
|
|
- "hsts_subdomains": 0,
|
|
|
- "owner": {
|
|
|
- "id": 1,
|
|
|
- "created_on": "2023-03-30T01:11:50.000Z",
|
|
|
- "modified_on": "2023-03-30T01:11:50.000Z",
|
|
|
- "is_deleted": 0,
|
|
|
- "is_disabled": 0,
|
|
|
- "email": "[email protected]",
|
|
|
- "name": "Administrator",
|
|
|
- "nickname": "Admin",
|
|
|
- "avatar": "",
|
|
|
- "roles": ["admin"]
|
|
|
- },
|
|
|
- "access_list": null,
|
|
|
- "certificate": null
|
|
|
- }
|
|
|
- ]
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/ProxyHostsList"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "post": {
|
|
|
- "operationId": "createProxyHost",
|
|
|
- "summary": "Create a Proxy Host",
|
|
|
- "tags": ["Proxy Hosts"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["users"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "parameters": [
|
|
|
- {
|
|
|
- "in": "body",
|
|
|
- "name": "proxyhost",
|
|
|
- "description": "Proxy Host Payload",
|
|
|
- "required": true,
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/ProxyHostObject"
|
|
|
- }
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "201": {
|
|
|
- "description": "201 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": {
|
|
|
- "id": 3,
|
|
|
- "created_on": "2023-03-30T02:31:27.000Z",
|
|
|
- "modified_on": "2023-03-30T02:31:27.000Z",
|
|
|
- "owner_user_id": 1,
|
|
|
- "domain_names": ["test2.example.com"],
|
|
|
- "forward_host": "1.1.1.1",
|
|
|
- "forward_port": 80,
|
|
|
- "access_list_id": 0,
|
|
|
- "certificate_id": 0,
|
|
|
- "ssl_forced": 0,
|
|
|
- "caching_enabled": 0,
|
|
|
- "block_exploits": 0,
|
|
|
- "advanced_config": "",
|
|
|
- "meta": {
|
|
|
- "letsencrypt_agree": false,
|
|
|
- "dns_challenge": false
|
|
|
- },
|
|
|
- "allow_websocket_upgrade": 0,
|
|
|
- "http2_support": 0,
|
|
|
- "forward_scheme": "http",
|
|
|
- "enabled": 1,
|
|
|
- "locations": [],
|
|
|
- "hsts_enabled": 0,
|
|
|
- "hsts_subdomains": 0,
|
|
|
- "certificate": null,
|
|
|
- "owner": {
|
|
|
- "id": 1,
|
|
|
- "created_on": "2023-03-30T01:11:50.000Z",
|
|
|
- "modified_on": "2023-03-30T01:11:50.000Z",
|
|
|
- "is_deleted": 0,
|
|
|
- "is_disabled": 0,
|
|
|
- "email": "[email protected]",
|
|
|
- "name": "Administrator",
|
|
|
- "nickname": "Admin",
|
|
|
- "avatar": "",
|
|
|
- "roles": ["admin"]
|
|
|
- },
|
|
|
- "access_list": null,
|
|
|
- "use_default_location": true,
|
|
|
- "ipv6": true
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/ProxyHostObject"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "/schema": {
|
|
|
- "get": {
|
|
|
- "operationId": "schema",
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response"
|
|
|
- }
|
|
|
- },
|
|
|
- "summary": "Returns this swagger API schema"
|
|
|
- }
|
|
|
- },
|
|
|
- "/tokens": {
|
|
|
- "get": {
|
|
|
- "operationId": "refreshToken",
|
|
|
- "summary": "Refresh your access token",
|
|
|
- "tags": ["Tokens"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["tokens"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": {
|
|
|
- "expires": 1566540510,
|
|
|
- "token": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.ey...xaHKYr3Kk6MvkUjcC4"
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/TokenObject"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "post": {
|
|
|
- "operationId": "requestToken",
|
|
|
- "parameters": [
|
|
|
- {
|
|
|
- "description": "Credentials Payload",
|
|
|
- "in": "body",
|
|
|
- "name": "credentials",
|
|
|
- "required": true,
|
|
|
- "schema": {
|
|
|
- "additionalProperties": false,
|
|
|
- "properties": {
|
|
|
- "identity": {
|
|
|
- "minLength": 1,
|
|
|
- "type": "string"
|
|
|
- },
|
|
|
- "scope": {
|
|
|
- "minLength": 1,
|
|
|
- "type": "string",
|
|
|
- "enum": ["user"]
|
|
|
- },
|
|
|
- "secret": {
|
|
|
- "minLength": 1,
|
|
|
- "type": "string"
|
|
|
- }
|
|
|
- },
|
|
|
- "required": ["identity", "secret"],
|
|
|
- "type": "object"
|
|
|
- }
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": {
|
|
|
- "result": {
|
|
|
- "expires": 1566540510,
|
|
|
- "token": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.ey...xaHKYr3Kk6MvkUjcC4"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/TokenObject"
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "description": "200 response"
|
|
|
- }
|
|
|
- },
|
|
|
- "summary": "Request a new access token from credentials",
|
|
|
- "tags": ["Tokens"]
|
|
|
- }
|
|
|
- },
|
|
|
- "/settings": {
|
|
|
- "get": {
|
|
|
- "operationId": "getSettings",
|
|
|
- "summary": "Get all settings",
|
|
|
- "tags": ["Settings"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["settings"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": [
|
|
|
- {
|
|
|
- "id": "default-site",
|
|
|
- "name": "Default Site",
|
|
|
- "description": "What to show when Nginx is hit with an unknown Host",
|
|
|
- "value": "congratulations",
|
|
|
- "meta": {}
|
|
|
- }
|
|
|
- ]
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/SettingsList"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "/settings/{settingID}": {
|
|
|
- "get": {
|
|
|
- "operationId": "getSetting",
|
|
|
- "summary": "Get a setting",
|
|
|
- "tags": ["Settings"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["settings"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "parameters": [
|
|
|
- {
|
|
|
- "in": "path",
|
|
|
- "name": "settingID",
|
|
|
- "schema": {
|
|
|
- "type": "string",
|
|
|
- "minLength": 1
|
|
|
- },
|
|
|
- "required": true,
|
|
|
- "description": "Setting ID",
|
|
|
- "example": "default-site"
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": {
|
|
|
- "id": "default-site",
|
|
|
- "name": "Default Site",
|
|
|
- "description": "What to show when Nginx is hit with an unknown Host",
|
|
|
- "value": "congratulations",
|
|
|
- "meta": {}
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/SettingObject"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "put": {
|
|
|
- "operationId": "updateSetting",
|
|
|
- "summary": "Update a setting",
|
|
|
- "tags": ["Settings"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["settings"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "parameters": [
|
|
|
- {
|
|
|
- "in": "path",
|
|
|
- "name": "settingID",
|
|
|
- "schema": {
|
|
|
- "type": "string",
|
|
|
- "minLength": 1
|
|
|
- },
|
|
|
- "required": true,
|
|
|
- "description": "Setting ID",
|
|
|
- "example": "default-site"
|
|
|
- },
|
|
|
- {
|
|
|
- "in": "body",
|
|
|
- "name": "setting",
|
|
|
- "description": "Setting Payload",
|
|
|
- "required": true,
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/SettingObject"
|
|
|
- }
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": {
|
|
|
- "id": "default-site",
|
|
|
- "name": "Default Site",
|
|
|
- "description": "What to show when Nginx is hit with an unknown Host",
|
|
|
- "value": "congratulations",
|
|
|
- "meta": {}
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/SettingObject"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "/users": {
|
|
|
- "get": {
|
|
|
- "operationId": "getUsers",
|
|
|
- "summary": "Get all users",
|
|
|
- "tags": ["Users"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["users"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "parameters": [
|
|
|
- {
|
|
|
- "in": "query",
|
|
|
- "name": "expand",
|
|
|
- "description": "Expansions",
|
|
|
- "schema": {
|
|
|
- "type": "string",
|
|
|
- "enum": ["permissions"]
|
|
|
- }
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": [
|
|
|
- {
|
|
|
- "id": 1,
|
|
|
- "created_on": "2020-01-30T09:36:08.000Z",
|
|
|
- "modified_on": "2020-01-30T09:41:04.000Z",
|
|
|
- "is_disabled": 0,
|
|
|
- "email": "[email protected]",
|
|
|
- "name": "Jamie Curnow",
|
|
|
- "nickname": "James",
|
|
|
- "avatar": "//www.gravatar.com/avatar/6193176330f8d38747f038c170ddb193?default=mm",
|
|
|
- "roles": ["admin"]
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- "withPermissions": {
|
|
|
- "value": [
|
|
|
- {
|
|
|
- "id": 1,
|
|
|
- "created_on": "2020-01-30T09:36:08.000Z",
|
|
|
- "modified_on": "2020-01-30T09:41:04.000Z",
|
|
|
- "is_disabled": 0,
|
|
|
- "email": "[email protected]",
|
|
|
- "name": "Jamie Curnow",
|
|
|
- "nickname": "James",
|
|
|
- "avatar": "//www.gravatar.com/avatar/6193176330f8d38747f038c170ddb193?default=mm",
|
|
|
- "roles": ["admin"],
|
|
|
- "permissions": {
|
|
|
- "visibility": "all",
|
|
|
- "proxy_hosts": "manage",
|
|
|
- "redirection_hosts": "manage",
|
|
|
- "dead_hosts": "manage",
|
|
|
- "streams": "manage",
|
|
|
- "access_lists": "manage",
|
|
|
- "certificates": "manage"
|
|
|
- }
|
|
|
- }
|
|
|
- ]
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/UsersList"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "post": {
|
|
|
- "operationId": "createUser",
|
|
|
- "summary": "Create a User",
|
|
|
- "tags": ["Users"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["users"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "parameters": [
|
|
|
- {
|
|
|
- "in": "body",
|
|
|
- "name": "user",
|
|
|
- "description": "User Payload",
|
|
|
- "required": true,
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/UserObject"
|
|
|
- }
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "201": {
|
|
|
- "description": "201 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": {
|
|
|
- "id": 2,
|
|
|
- "created_on": "2020-01-30T09:36:08.000Z",
|
|
|
- "modified_on": "2020-01-30T09:41:04.000Z",
|
|
|
- "is_disabled": 0,
|
|
|
- "email": "[email protected]",
|
|
|
- "name": "Jamie Curnow",
|
|
|
- "nickname": "James",
|
|
|
- "avatar": "//www.gravatar.com/avatar/6193176330f8d38747f038c170ddb193?default=mm",
|
|
|
- "roles": ["admin"],
|
|
|
- "permissions": {
|
|
|
- "visibility": "all",
|
|
|
- "proxy_hosts": "manage",
|
|
|
- "redirection_hosts": "manage",
|
|
|
- "dead_hosts": "manage",
|
|
|
- "streams": "manage",
|
|
|
- "access_lists": "manage",
|
|
|
- "certificates": "manage"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/UserObject"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "/users/{userID}": {
|
|
|
- "get": {
|
|
|
- "operationId": "getUser",
|
|
|
- "summary": "Get a user",
|
|
|
- "tags": ["Users"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["users"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "parameters": [
|
|
|
- {
|
|
|
- "in": "path",
|
|
|
- "name": "userID",
|
|
|
- "schema": {
|
|
|
- "oneOf": [
|
|
|
- {
|
|
|
- "type": "string",
|
|
|
- "pattern": "^me$"
|
|
|
- },
|
|
|
- {
|
|
|
- "type": "integer",
|
|
|
- "minimum": 1
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- "required": true,
|
|
|
- "description": "User ID or 'me' for yourself",
|
|
|
- "example": 1
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": {
|
|
|
- "id": 1,
|
|
|
- "created_on": "2020-01-30T09:36:08.000Z",
|
|
|
- "modified_on": "2020-01-30T09:41:04.000Z",
|
|
|
- "is_disabled": 0,
|
|
|
- "email": "[email protected]",
|
|
|
- "name": "Jamie Curnow",
|
|
|
- "nickname": "James",
|
|
|
- "avatar": "//www.gravatar.com/avatar/6193176330f8d38747f038c170ddb193?default=mm",
|
|
|
- "roles": ["admin"]
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/UserObject"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "put": {
|
|
|
- "operationId": "updateUser",
|
|
|
- "summary": "Update a User",
|
|
|
- "tags": ["Users"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["users"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "parameters": [
|
|
|
- {
|
|
|
- "in": "path",
|
|
|
- "name": "userID",
|
|
|
- "schema": {
|
|
|
- "oneOf": [
|
|
|
- {
|
|
|
- "type": "string",
|
|
|
- "pattern": "^me$"
|
|
|
- },
|
|
|
- {
|
|
|
- "type": "integer",
|
|
|
- "minimum": 1
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- "required": true,
|
|
|
- "description": "User ID or 'me' for yourself",
|
|
|
- "example": 2
|
|
|
- },
|
|
|
- {
|
|
|
- "in": "body",
|
|
|
- "name": "user",
|
|
|
- "description": "User Payload",
|
|
|
- "required": true,
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/UserObject"
|
|
|
- }
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": {
|
|
|
- "id": 2,
|
|
|
- "created_on": "2020-01-30T09:36:08.000Z",
|
|
|
- "modified_on": "2020-01-30T09:41:04.000Z",
|
|
|
- "is_disabled": 0,
|
|
|
- "email": "[email protected]",
|
|
|
- "name": "Jamie Curnow",
|
|
|
- "nickname": "James",
|
|
|
- "avatar": "//www.gravatar.com/avatar/6193176330f8d38747f038c170ddb193?default=mm",
|
|
|
- "roles": ["admin"]
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/UserObject"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "delete": {
|
|
|
- "operationId": "deleteUser",
|
|
|
- "summary": "Delete a User",
|
|
|
- "tags": ["Users"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["users"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "parameters": [
|
|
|
- {
|
|
|
- "in": "path",
|
|
|
- "name": "userID",
|
|
|
- "schema": {
|
|
|
- "type": "integer",
|
|
|
- "minimum": 1
|
|
|
- },
|
|
|
- "required": true,
|
|
|
- "description": "User ID",
|
|
|
- "example": 2
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": true
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "type": "boolean"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "/users/{userID}/auth": {
|
|
|
- "put": {
|
|
|
- "operationId": "updateUserAuth",
|
|
|
- "summary": "Update a User's Authentication",
|
|
|
- "tags": ["Users"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["users"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "parameters": [
|
|
|
- {
|
|
|
- "in": "path",
|
|
|
- "name": "userID",
|
|
|
- "schema": {
|
|
|
- "oneOf": [
|
|
|
- {
|
|
|
- "type": "string",
|
|
|
- "pattern": "^me$"
|
|
|
- },
|
|
|
- {
|
|
|
- "type": "integer",
|
|
|
- "minimum": 1
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- "required": true,
|
|
|
- "description": "User ID or 'me' for yourself",
|
|
|
- "example": 2
|
|
|
- },
|
|
|
- {
|
|
|
- "in": "body",
|
|
|
- "name": "user",
|
|
|
- "description": "User Payload",
|
|
|
- "required": true,
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/AuthObject"
|
|
|
- }
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": true
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "type": "boolean"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "/users/{userID}/permissions": {
|
|
|
- "put": {
|
|
|
- "operationId": "updateUserPermissions",
|
|
|
- "summary": "Update a User's Permissions",
|
|
|
- "tags": ["Users"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["users"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "parameters": [
|
|
|
- {
|
|
|
- "in": "path",
|
|
|
- "name": "userID",
|
|
|
- "schema": {
|
|
|
- "type": "integer",
|
|
|
- "minimum": 1
|
|
|
- },
|
|
|
- "required": true,
|
|
|
- "description": "User ID",
|
|
|
- "example": 2
|
|
|
- },
|
|
|
- {
|
|
|
- "in": "body",
|
|
|
- "name": "user",
|
|
|
- "description": "Permissions Payload",
|
|
|
- "required": true,
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/PermissionsObject"
|
|
|
- }
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": true
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "type": "boolean"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "/users/{userID}/login": {
|
|
|
- "put": {
|
|
|
- "operationId": "loginAsUser",
|
|
|
- "summary": "Login as this user",
|
|
|
- "tags": ["Users"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["users"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "parameters": [
|
|
|
- {
|
|
|
- "in": "path",
|
|
|
- "name": "userID",
|
|
|
- "schema": {
|
|
|
- "type": "integer",
|
|
|
- "minimum": 1
|
|
|
- },
|
|
|
- "required": true,
|
|
|
- "description": "User ID",
|
|
|
- "example": 2
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": {
|
|
|
- "token": "eyJhbGciOiJSUzI1NiIsInR...16OjT8B3NLyXg",
|
|
|
- "expires": "2020-01-31T10:56:23.239Z",
|
|
|
- "user": {
|
|
|
- "id": 1,
|
|
|
- "created_on": "2020-01-30T10:43:44.000Z",
|
|
|
- "modified_on": "2020-01-30T10:43:44.000Z",
|
|
|
- "is_disabled": 0,
|
|
|
- "email": "[email protected]",
|
|
|
- "name": "Jamie Curnow",
|
|
|
- "nickname": "James",
|
|
|
- "avatar": "//www.gravatar.com/avatar/3c8d73f45fd8763f827b964c76e6032a?default=mm",
|
|
|
- "roles": ["admin"]
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "type": "object",
|
|
|
- "description": "Login object",
|
|
|
- "required": ["expires", "token", "user"],
|
|
|
- "additionalProperties": false,
|
|
|
- "properties": {
|
|
|
- "expires": {
|
|
|
- "description": "Token Expiry Unix Time",
|
|
|
- "example": 1566540249,
|
|
|
- "minimum": 1,
|
|
|
- "type": "number"
|
|
|
- },
|
|
|
- "token": {
|
|
|
- "description": "JWT Token",
|
|
|
- "example": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.ey...xaHKYr3Kk6MvkUjcC4",
|
|
|
- "type": "string"
|
|
|
- },
|
|
|
- "user": {
|
|
|
- "$ref": "#/components/schemas/UserObject"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "/reports/hosts": {
|
|
|
- "get": {
|
|
|
- "operationId": "reportsHosts",
|
|
|
- "summary": "Report on Host Statistics",
|
|
|
- "tags": ["Reports"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["reports"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": {
|
|
|
- "proxy": 20,
|
|
|
- "redirection": 1,
|
|
|
- "stream": 0,
|
|
|
- "dead": 1
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/HostReportObject"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "/audit-log": {
|
|
|
- "get": {
|
|
|
- "operationId": "getAuditLog",
|
|
|
- "summary": "Get Audit Log",
|
|
|
- "tags": ["Audit Log"],
|
|
|
- "security": [
|
|
|
- {
|
|
|
- "BearerAuth": ["audit-log"]
|
|
|
- }
|
|
|
- ],
|
|
|
- "responses": {
|
|
|
- "200": {
|
|
|
- "description": "200 response",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "examples": {
|
|
|
- "default": {
|
|
|
- "value": {
|
|
|
- "proxy": 20,
|
|
|
- "redirection": 1,
|
|
|
- "stream": 0,
|
|
|
- "dead": 1
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/HostReportObject"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "components": {
|
|
|
- "securitySchemes": {
|
|
|
- "BearerAuth": {
|
|
|
- "type": "http",
|
|
|
- "scheme": "bearer"
|
|
|
- }
|
|
|
- },
|
|
|
- "schemas": {
|
|
|
- "HealthObject": {
|
|
|
- "type": "object",
|
|
|
- "description": "Health object",
|
|
|
- "additionalProperties": false,
|
|
|
- "required": ["status", "version"],
|
|
|
- "properties": {
|
|
|
- "status": {
|
|
|
- "type": "string",
|
|
|
- "description": "Healthy",
|
|
|
- "example": "OK"
|
|
|
- },
|
|
|
- "version": {
|
|
|
- "type": "object",
|
|
|
- "description": "The version object",
|
|
|
- "example": {
|
|
|
- "major": 2,
|
|
|
- "minor": 0,
|
|
|
- "revision": 0
|
|
|
- },
|
|
|
- "additionalProperties": false,
|
|
|
- "required": ["major", "minor", "revision"],
|
|
|
- "properties": {
|
|
|
- "major": {
|
|
|
- "type": "integer",
|
|
|
- "minimum": 0
|
|
|
- },
|
|
|
- "minor": {
|
|
|
- "type": "integer",
|
|
|
- "minimum": 0
|
|
|
- },
|
|
|
- "revision": {
|
|
|
- "type": "integer",
|
|
|
- "minimum": 0
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "TokenObject": {
|
|
|
- "type": "object",
|
|
|
- "description": "Token object",
|
|
|
- "required": ["expires", "token"],
|
|
|
- "additionalProperties": false,
|
|
|
- "properties": {
|
|
|
- "expires": {
|
|
|
- "description": "Token Expiry Unix Time",
|
|
|
- "example": 1566540249,
|
|
|
- "minimum": 1,
|
|
|
- "type": "number"
|
|
|
- },
|
|
|
- "token": {
|
|
|
- "description": "JWT Token",
|
|
|
- "example": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.ey...xaHKYr3Kk6MvkUjcC4",
|
|
|
- "type": "string"
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "ProxyHostObject": {
|
|
|
- "type": "object",
|
|
|
- "description": "Proxy Host object",
|
|
|
- "required": [
|
|
|
- "id",
|
|
|
- "created_on",
|
|
|
- "modified_on",
|
|
|
- "owner_user_id",
|
|
|
- "domain_names",
|
|
|
- "forward_host",
|
|
|
- "forward_port",
|
|
|
- "access_list_id",
|
|
|
- "certificate_id",
|
|
|
- "ssl_forced",
|
|
|
- "caching_enabled",
|
|
|
- "block_exploits",
|
|
|
- "advanced_config",
|
|
|
- "meta",
|
|
|
- "allow_websocket_upgrade",
|
|
|
- "http2_support",
|
|
|
- "forward_scheme",
|
|
|
- "enabled",
|
|
|
- "locations",
|
|
|
- "hsts_enabled",
|
|
|
- "hsts_subdomains",
|
|
|
- "certificate",
|
|
|
- "use_default_location",
|
|
|
- "ipv6"
|
|
|
- ],
|
|
|
- "additionalProperties": false,
|
|
|
- "properties": {
|
|
|
- "id": {
|
|
|
- "type": "integer",
|
|
|
- "description": "Proxy Host ID",
|
|
|
- "minimum": 1,
|
|
|
- "example": 1
|
|
|
- },
|
|
|
- "created_on": {
|
|
|
- "type": "string",
|
|
|
- "description": "Created Date",
|
|
|
- "example": "2020-01-30T09:36:08.000Z"
|
|
|
- },
|
|
|
- "modified_on": {
|
|
|
- "type": "string",
|
|
|
- "description": "Modified Date",
|
|
|
- "example": "2020-01-30T09:41:04.000Z"
|
|
|
- },
|
|
|
- "owner_user_id": {
|
|
|
- "type": "integer",
|
|
|
- "minimum": 1,
|
|
|
- "example": 1
|
|
|
- },
|
|
|
- "domain_names": {
|
|
|
- "type": "array",
|
|
|
- "minItems": 1,
|
|
|
- "items": {
|
|
|
- "type": "string",
|
|
|
- "minLength": 1
|
|
|
- }
|
|
|
- },
|
|
|
- "forward_host": {
|
|
|
- "type": "string",
|
|
|
- "minLength": 1
|
|
|
- },
|
|
|
- "forward_port": {
|
|
|
- "type": "integer",
|
|
|
- "minimum": 1
|
|
|
- },
|
|
|
- "access_list_id": {
|
|
|
- "type": "integer"
|
|
|
- },
|
|
|
- "certificate_id": {
|
|
|
- "type": "integer"
|
|
|
- },
|
|
|
- "ssl_forced": {
|
|
|
- "type": "integer"
|
|
|
- },
|
|
|
- "caching_enabled": {
|
|
|
- "type": "integer"
|
|
|
- },
|
|
|
- "block_exploits": {
|
|
|
- "type": "integer"
|
|
|
- },
|
|
|
- "advanced_config": {
|
|
|
- "type": "string"
|
|
|
- },
|
|
|
- "meta": {
|
|
|
- "type": "object"
|
|
|
- },
|
|
|
- "allow_websocket_upgrade": {
|
|
|
- "type": "integer"
|
|
|
- },
|
|
|
- "http2_support": {
|
|
|
- "type": "integer"
|
|
|
- },
|
|
|
- "forward_scheme": {
|
|
|
- "type": "string"
|
|
|
- },
|
|
|
- "enabled": {
|
|
|
- "type": "integer"
|
|
|
- },
|
|
|
- "locations": {
|
|
|
- "type": "array"
|
|
|
- },
|
|
|
- "hsts_enabled": {
|
|
|
- "type": "integer"
|
|
|
- },
|
|
|
- "hsts_subdomains": {
|
|
|
- "type": "integer"
|
|
|
- },
|
|
|
- "certificate": {
|
|
|
- "type": "object",
|
|
|
- "nullable": true
|
|
|
- },
|
|
|
- "owner": {
|
|
|
- "type": "object",
|
|
|
- "nullable": true
|
|
|
- },
|
|
|
- "access_list": {
|
|
|
- "type": "object",
|
|
|
- "nullable": true
|
|
|
- },
|
|
|
- "use_default_location": {
|
|
|
- "type": "boolean"
|
|
|
- },
|
|
|
- "ipv6": {
|
|
|
- "type": "boolean"
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "ProxyHostsList": {
|
|
|
- "type": "array",
|
|
|
- "description": "Proxyn Hosts list",
|
|
|
- "items": {
|
|
|
- "$ref": "#/components/schemas/ProxyHostObject"
|
|
|
- }
|
|
|
- },
|
|
|
- "SettingObject": {
|
|
|
- "type": "object",
|
|
|
- "description": "Setting object",
|
|
|
- "required": ["id", "name", "description", "value", "meta"],
|
|
|
- "additionalProperties": false,
|
|
|
- "properties": {
|
|
|
- "id": {
|
|
|
- "type": "string",
|
|
|
- "description": "Setting ID",
|
|
|
- "minLength": 1,
|
|
|
- "example": "default-site"
|
|
|
- },
|
|
|
- "name": {
|
|
|
- "type": "string",
|
|
|
- "description": "Setting Display Name",
|
|
|
- "minLength": 1,
|
|
|
- "example": "Default Site"
|
|
|
- },
|
|
|
- "description": {
|
|
|
- "type": "string",
|
|
|
- "description": "Meaningful description",
|
|
|
- "minLength": 1,
|
|
|
- "example": "What to show when Nginx is hit with an unknown Host"
|
|
|
- },
|
|
|
- "value": {
|
|
|
- "description": "Value in almost any form",
|
|
|
- "example": "congratulations",
|
|
|
- "oneOf": [
|
|
|
- {
|
|
|
- "type": "string",
|
|
|
- "minLength": 1
|
|
|
- },
|
|
|
- {
|
|
|
- "type": "integer"
|
|
|
- },
|
|
|
- {
|
|
|
- "type": "object"
|
|
|
- },
|
|
|
- {
|
|
|
- "type": "number"
|
|
|
- },
|
|
|
- {
|
|
|
- "type": "array"
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- "meta": {
|
|
|
- "description": "Extra metadata",
|
|
|
- "example": {},
|
|
|
- "type": "object"
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "SettingsList": {
|
|
|
- "type": "array",
|
|
|
- "description": "Setting list",
|
|
|
- "items": {
|
|
|
- "$ref": "#/components/schemas/SettingObject"
|
|
|
- }
|
|
|
- },
|
|
|
- "UserObject": {
|
|
|
- "type": "object",
|
|
|
- "description": "User object",
|
|
|
- "required": ["id", "created_on", "modified_on", "is_disabled", "email", "name", "nickname", "avatar", "roles"],
|
|
|
- "additionalProperties": false,
|
|
|
- "properties": {
|
|
|
- "id": {
|
|
|
- "type": "integer",
|
|
|
- "description": "User ID",
|
|
|
- "minimum": 1,
|
|
|
- "example": 1
|
|
|
- },
|
|
|
- "created_on": {
|
|
|
- "type": "string",
|
|
|
- "description": "Created Date",
|
|
|
- "example": "2020-01-30T09:36:08.000Z"
|
|
|
- },
|
|
|
- "modified_on": {
|
|
|
- "type": "string",
|
|
|
- "description": "Modified Date",
|
|
|
- "example": "2020-01-30T09:41:04.000Z"
|
|
|
- },
|
|
|
- "is_disabled": {
|
|
|
- "type": "integer",
|
|
|
- "minimum": 0,
|
|
|
- "maximum": 1,
|
|
|
- "description": "Is user Disabled (0 = false, 1 = true)",
|
|
|
- "example": 0
|
|
|
- },
|
|
|
- "email": {
|
|
|
- "type": "string",
|
|
|
- "description": "Email",
|
|
|
- "minLength": 3,
|
|
|
- "example": "[email protected]"
|
|
|
- },
|
|
|
- "name": {
|
|
|
- "type": "string",
|
|
|
- "description": "Name",
|
|
|
- "minLength": 1,
|
|
|
- "example": "Jamie Curnow"
|
|
|
- },
|
|
|
- "nickname": {
|
|
|
- "type": "string",
|
|
|
- "description": "Nickname",
|
|
|
- "example": "James"
|
|
|
- },
|
|
|
- "avatar": {
|
|
|
- "type": "string",
|
|
|
- "description": "Gravatar URL based on email, without scheme",
|
|
|
- "example": "//www.gravatar.com/avatar/6193176330f8d38747f038c170ddb193?default=mm"
|
|
|
- },
|
|
|
- "roles": {
|
|
|
- "description": "Roles applied",
|
|
|
- "example": ["admin"],
|
|
|
- "type": "array",
|
|
|
- "items": {
|
|
|
- "type": "string"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "UsersList": {
|
|
|
- "type": "array",
|
|
|
- "description": "User list",
|
|
|
- "items": {
|
|
|
- "$ref": "#/components/schemas/UserObject"
|
|
|
- }
|
|
|
- },
|
|
|
- "AuthObject": {
|
|
|
- "type": "object",
|
|
|
- "description": "Authentication Object",
|
|
|
- "required": ["type", "secret"],
|
|
|
- "properties": {
|
|
|
- "type": {
|
|
|
- "type": "string",
|
|
|
- "pattern": "^password$",
|
|
|
- "example": "password"
|
|
|
- },
|
|
|
- "current": {
|
|
|
- "type": "string",
|
|
|
- "minLength": 1,
|
|
|
- "maxLength": 64,
|
|
|
- "example": "changeme"
|
|
|
- },
|
|
|
- "secret": {
|
|
|
- "type": "string",
|
|
|
- "minLength": 8,
|
|
|
- "maxLength": 64,
|
|
|
- "example": "mySuperN3wP@ssword!"
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "PermissionsObject": {
|
|
|
- "type": "object",
|
|
|
- "properties": {
|
|
|
- "visibility": {
|
|
|
- "type": "string",
|
|
|
- "description": "Visibility Type",
|
|
|
- "enum": ["all", "user"]
|
|
|
- },
|
|
|
- "access_lists": {
|
|
|
- "type": "string",
|
|
|
- "description": "Access Lists Permissions",
|
|
|
- "enum": ["hidden", "view", "manage"]
|
|
|
- },
|
|
|
- "dead_hosts": {
|
|
|
- "type": "string",
|
|
|
- "description": "404 Hosts Permissions",
|
|
|
- "enum": ["hidden", "view", "manage"]
|
|
|
- },
|
|
|
- "proxy_hosts": {
|
|
|
- "type": "string",
|
|
|
- "description": "Proxy Hosts Permissions",
|
|
|
- "enum": ["hidden", "view", "manage"]
|
|
|
- },
|
|
|
- "redirection_hosts": {
|
|
|
- "type": "string",
|
|
|
- "description": "Redirection Permissions",
|
|
|
- "enum": ["hidden", "view", "manage"]
|
|
|
- },
|
|
|
- "streams": {
|
|
|
- "type": "string",
|
|
|
- "description": "Streams Permissions",
|
|
|
- "enum": ["hidden", "view", "manage"]
|
|
|
- },
|
|
|
- "certificates": {
|
|
|
- "type": "string",
|
|
|
- "description": "Certificates Permissions",
|
|
|
- "enum": ["hidden", "view", "manage"]
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "HostReportObject": {
|
|
|
- "type": "object",
|
|
|
- "properties": {
|
|
|
- "proxy": {
|
|
|
- "type": "integer",
|
|
|
- "description": "Proxy Hosts Count"
|
|
|
- },
|
|
|
- "redirection": {
|
|
|
- "type": "integer",
|
|
|
- "description": "Redirection Hosts Count"
|
|
|
- },
|
|
|
- "stream": {
|
|
|
- "type": "integer",
|
|
|
- "description": "Streams Count"
|
|
|
- },
|
|
|
- "dead": {
|
|
|
- "type": "integer",
|
|
|
- "description": "404 Hosts Count"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|