2020-02-19 04:55:06 +00:00
|
|
|
{
|
|
|
|
"openapi": "3.0.0",
|
|
|
|
"info": {
|
|
|
|
"title": "Nginx Proxy Manager API",
|
|
|
|
"version": "2.x.x"
|
|
|
|
},
|
|
|
|
"servers": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"url": "{url}/api",
|
|
|
|
"variables": {
|
|
|
|
"url": {
|
|
|
|
"default": "http://localhost:81"
|
|
|
|
}
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"paths": {
|
|
|
|
"/": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "health",
|
2024-07-19 21:14:39 +00:00
|
|
|
"summary": "Returns the API health status.",
|
2020-02-19 04:55:06 +00:00
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/HealthResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"/tokens": {
|
|
|
|
"post": {
|
|
|
|
"operationId": "postTokenCreate",
|
|
|
|
"summary": "Creates a new token.",
|
|
|
|
"tags": [
|
|
|
|
"Tokens"
|
2023-03-30 02:44:28 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/TokenCreateResponse"
|
2023-03-30 02:44:28 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/TokenCreateRequest"
|
2023-03-30 02:44:28 +00:00
|
|
|
}
|
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"get": {
|
|
|
|
"operationId": "getTokenRefresh",
|
|
|
|
"summary": "Returns a new token.",
|
|
|
|
"tags": [
|
|
|
|
"Tokens"
|
2023-03-30 02:44:28 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
2023-03-30 02:44:28 +00:00
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/TokenRefreshResponse"
|
2023-03-30 02:44:28 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/users/{id}": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getUserGet",
|
|
|
|
"summary": "Returns a User",
|
|
|
|
"tags": [
|
|
|
|
"Users"
|
2020-02-19 04:55:06 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/UserGetResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
2020-02-19 04:55:06 +00:00
|
|
|
"parameters": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
2020-02-19 04:55:06 +00:00
|
|
|
"required": true,
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"type": "integer"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
"put": {
|
|
|
|
"operationId": "putUserUpdate",
|
|
|
|
"summary": "Updates a existing User",
|
|
|
|
"tags": [
|
|
|
|
"Users"
|
2020-02-19 04:55:06 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"description": "200 response",
|
2020-02-19 04:55:06 +00:00
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/UserUpdateResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/UserUpdateRequest"
|
|
|
|
},
|
2020-02-19 04:55:06 +00:00
|
|
|
"security": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
"delete": {
|
|
|
|
"operationId": "deleteUserDelete",
|
|
|
|
"summary": "Deletes a existing User",
|
|
|
|
"tags": [
|
|
|
|
"Users"
|
2020-02-19 04:55:06 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/UserDeleteResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
2020-02-19 04:55:06 +00:00
|
|
|
"security": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"name": "id",
|
2020-02-19 04:55:06 +00:00
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
2024-07-19 21:14:39 +00:00
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/users": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getUserList",
|
|
|
|
"summary": "Returns a list of Users",
|
|
|
|
"tags": [
|
|
|
|
"Users"
|
2020-02-19 04:55:06 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/UserListResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
2020-02-19 04:55:06 +00:00
|
|
|
"security": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
"post": {
|
|
|
|
"operationId": "postUserCreate",
|
|
|
|
"summary": "Creates a new User",
|
|
|
|
"tags": [
|
|
|
|
"Users"
|
2020-02-19 04:55:06 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/UserCreateResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/UserCreateRequest"
|
|
|
|
},
|
2020-02-19 04:55:06 +00:00
|
|
|
"security": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/users/{id}/auth": {
|
|
|
|
"put": {
|
|
|
|
"operationId": "putUserSetPassword",
|
|
|
|
"summary": "Sets a password for an existing User",
|
|
|
|
"tags": [
|
|
|
|
"Users"
|
2020-02-19 04:55:06 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/UserSetPasswordResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/UserSetPasswordRequest"
|
|
|
|
},
|
2020-02-19 04:55:06 +00:00
|
|
|
"security": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
2020-02-19 04:55:06 +00:00
|
|
|
"required": true,
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"type": "integer"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/users/{id}/permissions": {
|
|
|
|
"put": {
|
|
|
|
"operationId": "putUserSetPermissions",
|
|
|
|
"summary": "Sets Permissions for a User",
|
|
|
|
"tags": [
|
|
|
|
"Users"
|
2020-02-19 04:55:06 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
2020-02-19 04:55:06 +00:00
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/UserSetPermissionsResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/UserSetPermissionsRequest"
|
|
|
|
},
|
2020-02-19 04:55:06 +00:00
|
|
|
"security": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"name": "id",
|
2020-02-19 04:55:06 +00:00
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
2024-07-19 21:14:39 +00:00
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/proxy-hosts/{id}": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getProxyHostGet",
|
|
|
|
"summary": "Returns a Proxy Host",
|
|
|
|
"tags": [
|
|
|
|
"ProxyHosts"
|
2020-02-19 04:55:06 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/ProxyHostGetResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
2020-02-19 04:55:06 +00:00
|
|
|
"security": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"name": "id",
|
2020-02-19 04:55:06 +00:00
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"type": "integer"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
"put": {
|
|
|
|
"operationId": "putProxyHostUpdate",
|
|
|
|
"summary": "Updates a existing Proxy Host",
|
|
|
|
"tags": [
|
|
|
|
"ProxyHosts"
|
2020-02-19 04:55:06 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/ProxyHostUpdateResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/ProxyHostUpdateRequest"
|
|
|
|
},
|
2020-02-19 04:55:06 +00:00
|
|
|
"security": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"name": "id",
|
2020-02-19 04:55:06 +00:00
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
2024-07-19 21:14:39 +00:00
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
"delete": {
|
|
|
|
"operationId": "deleteProxyHostDelete",
|
|
|
|
"summary": "Deletes a existing Proxy Host",
|
|
|
|
"tags": [
|
|
|
|
"ProxyHosts"
|
2020-02-19 04:55:06 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/ProxyHostDeleteResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
2020-02-19 04:55:06 +00:00
|
|
|
"security": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"name": "id",
|
2020-02-19 04:55:06 +00:00
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"type": "integer"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/proxy-hosts": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getProxyHostList",
|
|
|
|
"summary": "Returns a list of Proxy Hosts",
|
|
|
|
"tags": [
|
|
|
|
"ProxyHosts"
|
2020-02-19 04:55:06 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/ProxyHostListResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"post": {
|
|
|
|
"operationId": "postProxyHostCreate",
|
|
|
|
"summary": "Creates a new Proxy Host",
|
|
|
|
"tags": [
|
|
|
|
"ProxyHosts"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/ProxyHostCreateResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/ProxyHostCreateRequest"
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"/nginx/proxy-hosts/{id}/enable": {
|
|
|
|
"post": {
|
|
|
|
"operationId": "postProxyHostEnable",
|
|
|
|
"summary": "Enables a existing Proxy Host",
|
|
|
|
"tags": [
|
|
|
|
"ProxyHosts"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/ProxyHostEnableResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2020-02-19 04:55:06 +00:00
|
|
|
"security": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"name": "id",
|
2020-02-19 04:55:06 +00:00
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"type": "integer"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/proxy-hosts/{id}/disable": {
|
|
|
|
"post": {
|
|
|
|
"operationId": "postProxyHostDisable",
|
|
|
|
"summary": "Disables a existing Proxy Host",
|
|
|
|
"tags": [
|
|
|
|
"ProxyHosts"
|
2020-02-19 04:55:06 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/ProxyHostDisableResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"/nginx/redirection-hosts/{id}": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getRedirectionHostGet",
|
|
|
|
"summary": "Returns a Redirection Host",
|
|
|
|
"tags": [
|
|
|
|
"RedirectionHosts"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/RedirectionHostGetResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2020-02-19 04:55:06 +00:00
|
|
|
"security": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"name": "id",
|
2020-02-19 04:55:06 +00:00
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
2024-07-19 21:14:39 +00:00
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
"put": {
|
|
|
|
"operationId": "putRedirectionHostUpdate",
|
|
|
|
"summary": "Updates a existing Redirection Host",
|
|
|
|
"tags": [
|
|
|
|
"RedirectionHosts"
|
2020-02-19 04:55:06 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/RedirectionHostUpdateResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/RedirectionHostUpdateRequest"
|
|
|
|
},
|
2020-02-19 04:55:06 +00:00
|
|
|
"security": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
"delete": {
|
|
|
|
"operationId": "deleteRedirectionHostDelete",
|
|
|
|
"summary": "Deletes a existing Redirection Host",
|
|
|
|
"tags": [
|
|
|
|
"RedirectionHosts"
|
2020-02-19 04:55:06 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/RedirectionHostDeleteResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"/nginx/redirection-hosts": {
|
2020-02-19 04:55:06 +00:00
|
|
|
"get": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"operationId": "getRedirectionHostList",
|
|
|
|
"summary": "Returns a list of Redirection Hosts",
|
|
|
|
"tags": [
|
|
|
|
"RedirectionHosts"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/RedirectionHostListResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2020-02-19 04:55:06 +00:00
|
|
|
"security": [
|
|
|
|
{
|
2024-07-19 21:14:39 +00:00
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
"post": {
|
|
|
|
"operationId": "postRedirectionHostCreate",
|
|
|
|
"summary": "Creates a new Redirection Host",
|
|
|
|
"tags": [
|
|
|
|
"RedirectionHosts"
|
2020-02-19 04:55:06 +00:00
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
2024-07-19 21:14:39 +00:00
|
|
|
"$ref": "#/components/schemas/RedirectionHostCreateResponse"
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/RedirectionHostCreateRequest"
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"/nginx/redirection-hosts/{id}/enable": {
|
|
|
|
"post": {
|
|
|
|
"operationId": "postRedirectionHostEnable",
|
|
|
|
"summary": "Enables a existing Redirection Host",
|
|
|
|
"tags": [
|
|
|
|
"RedirectionHosts"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/RedirectionHostEnableResponse"
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
],
|
2024-07-19 21:14:39 +00:00
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/redirection-hosts/{id}/disable": {
|
|
|
|
"post": {
|
|
|
|
"operationId": "postRedirectionHostDisable",
|
|
|
|
"summary": "Disables a existing Redirection Host",
|
|
|
|
"tags": [
|
|
|
|
"RedirectionHosts"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/RedirectionHostDisableResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/dead-hosts/{id}": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getDeadHostGet",
|
|
|
|
"summary": "Returns a 404 Host",
|
|
|
|
"tags": [
|
|
|
|
"DeadHosts"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/DeadHostGetResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"put": {
|
|
|
|
"operationId": "putDeadHostUpdate",
|
|
|
|
"summary": "Updates a existing 404 Host",
|
|
|
|
"tags": [
|
|
|
|
"DeadHosts"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/DeadHostUpdateResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/DeadHostUpdateRequest"
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"delete": {
|
|
|
|
"operationId": "deleteDeadHostDelete",
|
|
|
|
"summary": "Deletes a existing 404 Host",
|
|
|
|
"tags": [
|
|
|
|
"DeadHosts"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/DeadHostDeleteResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/dead-hosts": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getDeadHostList",
|
|
|
|
"summary": "Returns a list of 404 Hosts",
|
|
|
|
"tags": [
|
|
|
|
"DeadHosts"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/DeadHostListResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"post": {
|
|
|
|
"operationId": "postDeadHostCreate",
|
|
|
|
"summary": "Creates a new 404 Host",
|
|
|
|
"tags": [
|
|
|
|
"DeadHosts"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/DeadHostCreateResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/DeadHostCreateRequest"
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/dead-hosts/{id}/enable": {
|
|
|
|
"post": {
|
|
|
|
"operationId": "postDeadHostEnable",
|
|
|
|
"summary": "Enables a existing 404 Host",
|
|
|
|
"tags": [
|
|
|
|
"DeadHosts"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/DeadHostEnableResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/dead-hosts/{id}/disable": {
|
|
|
|
"post": {
|
|
|
|
"operationId": "postDeadHostDisable",
|
|
|
|
"summary": "Disables a existing 404 Host",
|
|
|
|
"tags": [
|
|
|
|
"DeadHosts"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/DeadHostDisableResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/streams/{id}": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getStreamGet",
|
|
|
|
"summary": "Returns a Steam",
|
|
|
|
"tags": [
|
|
|
|
"Streams"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/StreamGetResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"put": {
|
|
|
|
"operationId": "putStreamUpdate",
|
|
|
|
"summary": "Updates a existing Stream",
|
|
|
|
"tags": [
|
|
|
|
"Streams"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/StreamUpdateResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/StreamUpdateRequest"
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"delete": {
|
|
|
|
"operationId": "deleteStreamDelete",
|
|
|
|
"summary": "Deletes a existing Stream",
|
|
|
|
"tags": [
|
|
|
|
"Streams"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/StreamDeleteResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/streams": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getStreamList",
|
|
|
|
"summary": "Returns a list of Steams",
|
|
|
|
"tags": [
|
|
|
|
"Streams"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/StreamListResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"post": {
|
|
|
|
"operationId": "postStreamCreate",
|
|
|
|
"summary": "Creates a new Stream",
|
|
|
|
"tags": [
|
|
|
|
"Streams"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/StreamCreateResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/StreamCreateRequest"
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/streams/{id}/enable": {
|
|
|
|
"post": {
|
|
|
|
"operationId": "postStreamEnable",
|
|
|
|
"summary": "Enables a existing Stream",
|
|
|
|
"tags": [
|
|
|
|
"Streams"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/StreamEnableResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/streams/{id}/disable": {
|
|
|
|
"post": {
|
|
|
|
"operationId": "postStreamDisable",
|
|
|
|
"summary": "Disables a existing Stream",
|
|
|
|
"tags": [
|
|
|
|
"Streams"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/StreamDisableResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/certificates/{id}": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getCertificateGet",
|
|
|
|
"summary": "Returns a Certificate",
|
|
|
|
"tags": [
|
|
|
|
"Certificates"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/CertificateGetResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"delete": {
|
|
|
|
"operationId": "deleteCertificateDelete",
|
|
|
|
"summary": "Deletes a existing Certificate",
|
|
|
|
"tags": [
|
|
|
|
"Certificates"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/CertificateDeleteResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/certificates": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getCertificateList",
|
|
|
|
"summary": "Returns a list of Certificates",
|
|
|
|
"tags": [
|
|
|
|
"Certificates"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/CertificateListResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"post": {
|
|
|
|
"operationId": "postCertificateCreate",
|
|
|
|
"summary": "Creates a new Certificate",
|
|
|
|
"tags": [
|
|
|
|
"Certificates"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/CertificateCreateResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/CertificateCreateRequest"
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/certificates/{id}/test-http": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getCertificateTestHTTPChallenge",
|
|
|
|
"summary": "Tests whether the HTTP challenge should work",
|
|
|
|
"tags": [
|
|
|
|
"Certificates"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/access-lists/{id}": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getAccessListGet",
|
|
|
|
"summary": "Returns a Access List",
|
|
|
|
"tags": [
|
|
|
|
"AccessLists"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/AccessListGetResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"put": {
|
|
|
|
"operationId": "putAccessListUpdate",
|
|
|
|
"summary": "Updates a existing Access List",
|
|
|
|
"tags": [
|
|
|
|
"AccessLists"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/AccessListUpdateResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/AccessListUpdateRequest"
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"delete": {
|
|
|
|
"operationId": "deleteAccessListDelete",
|
|
|
|
"summary": "Deletes a existing Access List",
|
|
|
|
"tags": [
|
|
|
|
"AccessLists"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/AccessListDeleteResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/nginx/access-lists": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getAccessListList",
|
|
|
|
"summary": "Returns a list of Access Lists",
|
|
|
|
"tags": [
|
|
|
|
"AccessLists"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/AccessListListResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"post": {
|
|
|
|
"operationId": "postAccessListCreate",
|
|
|
|
"summary": "Creates a new Access List",
|
|
|
|
"tags": [
|
|
|
|
"AccessLists"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/AccessListCreateResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/AccessListCreateRequest"
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/settings/{id}": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getSettingGet",
|
|
|
|
"summary": "Returns a Setting",
|
|
|
|
"tags": [
|
|
|
|
"Settings"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/SettingGetResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"put": {
|
|
|
|
"operationId": "putSettingUpdate",
|
|
|
|
"summary": "Updates a existing Setting",
|
|
|
|
"tags": [
|
|
|
|
"Settings"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/SettingUpdateResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"requestBody": {
|
|
|
|
"description": "Request body",
|
|
|
|
"$ref": "#/components/requestBodies/SettingUpdateRequest"
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/settings": {
|
|
|
|
"get": {
|
|
|
|
"operationId": "getSettingList",
|
|
|
|
"summary": "Returns a list of Settings",
|
|
|
|
"tags": [
|
|
|
|
"Settings"
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "200 response",
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/components/schemas/SettingListResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"security": [
|
|
|
|
{
|
|
|
|
"BearerAuth": [
|
|
|
|
"users"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"components": {
|
|
|
|
"securitySchemes": {
|
|
|
|
"BearerAuth": {
|
|
|
|
"type": "http",
|
|
|
|
"scheme": "bearer"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"schemas": {
|
|
|
|
"AccessListCreateResponse": {
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"name": {
|
|
|
|
"type": "string",
|
|
|
|
"description": "Name of the Access List"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"AccessListDeleteResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"AccessListGetResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"name": {
|
|
|
|
"type": "string",
|
|
|
|
"description": "Name of the Access List"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"AccessListListResponse": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "#/components/schemas/AccessListGetResponse"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"AccessListUpdateResponse": {
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"name": {
|
|
|
|
"type": "string",
|
|
|
|
"description": "Name of the Access List"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"CertificateCreateResponse": {
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"provider": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(letsencrypt|other)$"
|
|
|
|
},
|
|
|
|
"nice_name": {
|
|
|
|
"type": "string",
|
|
|
|
"description": "Nice Name for the custom certificate"
|
|
|
|
},
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"expires_on": {
|
|
|
|
"description": "Date and time of expiration",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"letsencrypt_email": {
|
|
|
|
"type": "string",
|
|
|
|
"format": "email"
|
|
|
|
},
|
|
|
|
"letsencrypt_agree": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"dns_challenge": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"dns_provider": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"dns_provider_credentials": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"propagation_seconds": {
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"CertificateDeleteResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"CertificateGetResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"provider": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(letsencrypt|other)$"
|
|
|
|
},
|
|
|
|
"nice_name": {
|
|
|
|
"type": "string",
|
|
|
|
"description": "Nice Name for the custom certificate"
|
|
|
|
},
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"expires_on": {
|
|
|
|
"description": "Date and time of expiration",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"letsencrypt_email": {
|
|
|
|
"type": "string",
|
|
|
|
"format": "email"
|
|
|
|
},
|
|
|
|
"letsencrypt_agree": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"dns_challenge": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"dns_provider": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"dns_provider_credentials": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"propagation_seconds": {
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"CertificateListResponse": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "#/components/schemas/CertificateGetResponse"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"DeadHostCreateResponse": {
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"certificate_id": {
|
|
|
|
"description": "Certificate ID",
|
|
|
|
"example": 1234,
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^new$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"description": "Is SSL Forced",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_enabled": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"description": "Is HSTS applicable to all subdomains",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"http2_support": {
|
|
|
|
"description": "HTTP2 Protocol Support",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"enabled": {
|
|
|
|
"description": "Is Enabled",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"DeadHostDeleteResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"DeadHostDisableResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"DeadHostEnableResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"DeadHostGetResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"certificate_id": {
|
|
|
|
"description": "Certificate ID",
|
|
|
|
"example": 1234,
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^new$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"description": "Is SSL Forced",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_enabled": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"description": "Is HSTS applicable to all subdomains",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"http2_support": {
|
|
|
|
"description": "HTTP2 Protocol Support",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"enabled": {
|
|
|
|
"description": "Is Enabled",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"DeadHostListResponse": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "#/components/schemas/DeadHostGetResponse"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"DeadHostUpdateResponse": {
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"certificate_id": {
|
|
|
|
"description": "Certificate ID",
|
|
|
|
"example": 1234,
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^new$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"description": "Is SSL Forced",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_enabled": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"description": "Is HSTS applicable to all subdomains",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"http2_support": {
|
|
|
|
"description": "HTTP2 Protocol Support",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"enabled": {
|
|
|
|
"description": "Is Enabled",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"HealthResponse": {
|
|
|
|
"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
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"ProxyHostCreateResponse": {
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"forward_scheme": {
|
|
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
|
|
"http",
|
|
|
|
"https"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"forward_host": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1,
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"forward_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"certificate_id": {
|
|
|
|
"description": "Certificate ID",
|
|
|
|
"example": 1234,
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^new$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"description": "Is SSL Forced",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_enabled": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"description": "Is HSTS applicable to all subdomains",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"http2_support": {
|
|
|
|
"description": "HTTP2 Protocol Support",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"block_exploits": {
|
|
|
|
"description": "Should we block common exploits",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"caching_enabled": {
|
|
|
|
"description": "Should we cache assets",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"allow_websocket_upgrade": {
|
|
|
|
"description": "Allow Websocket Upgrade for all paths",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"access_list_id": {
|
|
|
|
"description": "Access List ID",
|
|
|
|
"example": 1234,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"enabled": {
|
|
|
|
"description": "Is Enabled",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
},
|
|
|
|
"locations": {
|
|
|
|
"type": "array",
|
|
|
|
"minItems": 0,
|
|
|
|
"items": {
|
|
|
|
"type": "object",
|
|
|
|
"required": [
|
|
|
|
"forward_scheme",
|
|
|
|
"forward_host",
|
|
|
|
"forward_port",
|
|
|
|
"path"
|
|
|
|
],
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"type": "integer",
|
|
|
|
"nullable": true
|
|
|
|
},
|
|
|
|
"path": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1
|
|
|
|
},
|
|
|
|
"forward_scheme": {
|
|
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
|
|
"http",
|
|
|
|
"https"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"forward_host": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1,
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"forward_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"forward_path": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"ProxyHostDeleteResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"ProxyHostDisableResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"ProxyHostEnableResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"ProxyHostGetResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"forward_scheme": {
|
|
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
|
|
"http",
|
|
|
|
"https"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"forward_host": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1,
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"forward_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"certificate_id": {
|
|
|
|
"description": "Certificate ID",
|
|
|
|
"example": 1234,
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^new$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"description": "Is SSL Forced",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_enabled": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"description": "Is HSTS applicable to all subdomains",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"http2_support": {
|
|
|
|
"description": "HTTP2 Protocol Support",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"block_exploits": {
|
|
|
|
"description": "Should we block common exploits",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"caching_enabled": {
|
|
|
|
"description": "Should we cache assets",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"allow_websocket_upgrade": {
|
|
|
|
"description": "Allow Websocket Upgrade for all paths",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"access_list_id": {
|
|
|
|
"description": "Access List ID",
|
|
|
|
"example": 1234,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"enabled": {
|
|
|
|
"description": "Is Enabled",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
},
|
|
|
|
"locations": {
|
|
|
|
"type": "array",
|
|
|
|
"minItems": 0,
|
|
|
|
"items": {
|
|
|
|
"type": "object",
|
|
|
|
"required": [
|
|
|
|
"forward_scheme",
|
|
|
|
"forward_host",
|
|
|
|
"forward_port",
|
|
|
|
"path"
|
|
|
|
],
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"type": "integer",
|
|
|
|
"nullable": true
|
|
|
|
},
|
|
|
|
"path": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1
|
|
|
|
},
|
|
|
|
"forward_scheme": {
|
|
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
|
|
"http",
|
|
|
|
"https"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"forward_host": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1,
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"forward_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"forward_path": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"ProxyHostListResponse": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "#/components/schemas/ProxyHostGetResponse"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"ProxyHostUpdateResponse": {
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"forward_scheme": {
|
|
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
|
|
"http",
|
|
|
|
"https"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"forward_host": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1,
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"forward_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"certificate_id": {
|
|
|
|
"description": "Certificate ID",
|
|
|
|
"example": 1234,
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^new$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"description": "Is SSL Forced",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_enabled": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"description": "Is HSTS applicable to all subdomains",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"http2_support": {
|
|
|
|
"description": "HTTP2 Protocol Support",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"block_exploits": {
|
|
|
|
"description": "Should we block common exploits",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"caching_enabled": {
|
|
|
|
"description": "Should we cache assets",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"allow_websocket_upgrade": {
|
|
|
|
"description": "Allow Websocket Upgrade for all paths",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"access_list_id": {
|
|
|
|
"description": "Access List ID",
|
|
|
|
"example": 1234,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"enabled": {
|
|
|
|
"description": "Is Enabled",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
},
|
|
|
|
"locations": {
|
|
|
|
"type": "array",
|
|
|
|
"minItems": 0,
|
|
|
|
"items": {
|
|
|
|
"type": "object",
|
|
|
|
"required": [
|
|
|
|
"forward_scheme",
|
|
|
|
"forward_host",
|
|
|
|
"forward_port",
|
|
|
|
"path"
|
|
|
|
],
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"type": "integer",
|
|
|
|
"nullable": true
|
|
|
|
},
|
|
|
|
"path": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1
|
|
|
|
},
|
|
|
|
"forward_scheme": {
|
|
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
|
|
"http",
|
|
|
|
"https"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"forward_host": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1,
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"forward_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"forward_path": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"RedirectionHostCreateResponse": {
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"forward_http_code": {
|
|
|
|
"description": "Redirect HTTP Status Code",
|
|
|
|
"example": 302,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 300,
|
|
|
|
"maximum": 308
|
|
|
|
},
|
|
|
|
"forward_scheme": {
|
|
|
|
"description": "RFC Protocol",
|
|
|
|
"example": "HTTPS or $scheme",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 4
|
|
|
|
},
|
|
|
|
"forward_domain_name": {
|
|
|
|
"description": "Domain Name",
|
|
|
|
"example": "jc21.com",
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
},
|
|
|
|
"preserve_path": {
|
|
|
|
"description": "Should the path be preserved",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"certificate_id": {
|
|
|
|
"description": "Certificate ID",
|
|
|
|
"example": 1234,
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^new$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"description": "Is SSL Forced",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_enabled": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"description": "Is HSTS applicable to all subdomains",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"http2_support": {
|
|
|
|
"description": "HTTP2 Protocol Support",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"block_exploits": {
|
|
|
|
"description": "Should we block common exploits",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"enabled": {
|
|
|
|
"description": "Is Enabled",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"RedirectionHostDeleteResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"RedirectionHostDisableResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"RedirectionHostEnableResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"RedirectionHostGetResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"forward_http_code": {
|
|
|
|
"description": "Redirect HTTP Status Code",
|
|
|
|
"example": 302,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 300,
|
|
|
|
"maximum": 308
|
|
|
|
},
|
|
|
|
"forward_scheme": {
|
|
|
|
"description": "RFC Protocol",
|
|
|
|
"example": "HTTPS or $scheme",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 4
|
|
|
|
},
|
|
|
|
"forward_domain_name": {
|
|
|
|
"description": "Domain Name",
|
|
|
|
"example": "jc21.com",
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
},
|
|
|
|
"preserve_path": {
|
|
|
|
"description": "Should the path be preserved",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"certificate_id": {
|
|
|
|
"description": "Certificate ID",
|
|
|
|
"example": 1234,
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^new$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"description": "Is SSL Forced",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_enabled": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"description": "Is HSTS applicable to all subdomains",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"http2_support": {
|
|
|
|
"description": "HTTP2 Protocol Support",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"block_exploits": {
|
|
|
|
"description": "Should we block common exploits",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"enabled": {
|
|
|
|
"description": "Is Enabled",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"RedirectionHostListResponse": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "#/components/schemas/RedirectionHostGetResponse"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"RedirectionHostUpdateResponse": {
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"forward_http_code": {
|
|
|
|
"description": "Redirect HTTP Status Code",
|
|
|
|
"example": 302,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 300,
|
|
|
|
"maximum": 308
|
|
|
|
},
|
|
|
|
"forward_scheme": {
|
|
|
|
"description": "RFC Protocol",
|
|
|
|
"example": "HTTPS or $scheme",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 4
|
|
|
|
},
|
|
|
|
"forward_domain_name": {
|
|
|
|
"description": "Domain Name",
|
|
|
|
"example": "jc21.com",
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
},
|
|
|
|
"preserve_path": {
|
|
|
|
"description": "Should the path be preserved",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"certificate_id": {
|
|
|
|
"description": "Certificate ID",
|
|
|
|
"example": 1234,
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^new$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"description": "Is SSL Forced",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_enabled": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"description": "Is HSTS applicable to all subdomains",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"http2_support": {
|
|
|
|
"description": "HTTP2 Protocol Support",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"block_exploits": {
|
|
|
|
"description": "Should we block common exploits",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"enabled": {
|
|
|
|
"description": "Is Enabled",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"SettingGetResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier for a Setting",
|
|
|
|
"example": "default-site",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2
|
|
|
|
},
|
|
|
|
"name": {
|
|
|
|
"description": "Description",
|
|
|
|
"example": "Default Site",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"description": {
|
|
|
|
"description": "Description",
|
|
|
|
"example": "Default Site",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"value": {
|
|
|
|
"description": "Value",
|
|
|
|
"example": "404",
|
|
|
|
"type": "string",
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"SettingListResponse": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "#/components/schemas/SettingGetResponse"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"SettingUpdateResponse": {
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier for a Setting",
|
|
|
|
"example": "default-site",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2
|
|
|
|
},
|
|
|
|
"name": {
|
|
|
|
"description": "Description",
|
|
|
|
"example": "Default Site",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"description": {
|
|
|
|
"description": "Description",
|
|
|
|
"example": "Default Site",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"value": {
|
|
|
|
"description": "Value",
|
|
|
|
"example": "404",
|
|
|
|
"type": "string",
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"StreamCreateResponse": {
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"incoming_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"forwarding_host": {
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"description": "Domain Name",
|
|
|
|
"example": "jc21.com",
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"format": "ipv4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"format": "ipv6"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"forwarding_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"tcp_forwarding": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"udp_forwarding": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"enabled": {
|
|
|
|
"description": "Is Enabled",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"StreamDeleteResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"StreamDisableResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"StreamEnableResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"StreamGetResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
2023-03-30 02:44:28 +00:00
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"incoming_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"forwarding_host": {
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"description": "Domain Name",
|
|
|
|
"example": "jc21.com",
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"format": "ipv4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"format": "ipv6"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"forwarding_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"tcp_forwarding": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"udp_forwarding": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"enabled": {
|
|
|
|
"description": "Is Enabled",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"StreamListResponse": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "#/components/schemas/StreamGetResponse"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"StreamUpdateResponse": {
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"incoming_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"forwarding_host": {
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"description": "Domain Name",
|
|
|
|
"example": "jc21.com",
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"format": "ipv4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"format": "ipv6"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"forwarding_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"tcp_forwarding": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"udp_forwarding": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"enabled": {
|
|
|
|
"description": "Is Enabled",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"TokenCreateResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"token": {
|
|
|
|
"description": "JWT",
|
|
|
|
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"expires": {
|
|
|
|
"description": "Token expiry time",
|
|
|
|
"format": "date-time",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"TokenRefreshResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"token": {
|
|
|
|
"description": "JWT",
|
|
|
|
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"expires": {
|
|
|
|
"description": "Token expiry time",
|
|
|
|
"format": "date-time",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"scope": {
|
|
|
|
"description": "Scope of the Token, defaults to 'user'",
|
|
|
|
"example": "user",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"UserCreateResponse": {
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"name": {
|
|
|
|
"description": "Name",
|
|
|
|
"example": "Jamie Curnow",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 100
|
|
|
|
},
|
|
|
|
"nickname": {
|
|
|
|
"description": "Nickname",
|
|
|
|
"example": "Jamie",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 50
|
|
|
|
},
|
|
|
|
"email": {
|
|
|
|
"description": "Email Address",
|
|
|
|
"example": "john@example.com",
|
|
|
|
"format": "email",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 6,
|
|
|
|
"maxLength": 100
|
|
|
|
},
|
|
|
|
"avatar": {
|
|
|
|
"description": "Avatar",
|
|
|
|
"example": "http://somewhere.jpg",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 150,
|
|
|
|
"readOnly": true
|
|
|
|
},
|
|
|
|
"roles": {
|
|
|
|
"description": "Roles",
|
|
|
|
"example": [
|
|
|
|
"admin"
|
|
|
|
],
|
2023-03-30 02:44:28 +00:00
|
|
|
"type": "array",
|
2024-07-19 21:14:39 +00:00
|
|
|
"items": {}
|
|
|
|
},
|
|
|
|
"is_disabled": {
|
|
|
|
"description": "Is Disabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"UserDeleteResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"UserGetResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"name": {
|
|
|
|
"description": "Name",
|
|
|
|
"example": "Jamie Curnow",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 100
|
|
|
|
},
|
|
|
|
"nickname": {
|
|
|
|
"description": "Nickname",
|
|
|
|
"example": "Jamie",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 50
|
|
|
|
},
|
|
|
|
"email": {
|
|
|
|
"description": "Email Address",
|
|
|
|
"example": "john@example.com",
|
|
|
|
"format": "email",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 6,
|
|
|
|
"maxLength": 100
|
|
|
|
},
|
|
|
|
"avatar": {
|
|
|
|
"description": "Avatar",
|
|
|
|
"example": "http://somewhere.jpg",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 150,
|
|
|
|
"readOnly": true
|
|
|
|
},
|
|
|
|
"roles": {
|
|
|
|
"description": "Roles",
|
|
|
|
"example": [
|
|
|
|
"admin"
|
|
|
|
],
|
|
|
|
"type": "array",
|
|
|
|
"items": {}
|
|
|
|
},
|
|
|
|
"is_disabled": {
|
|
|
|
"description": "Is Disabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"UserListResponse": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "#/components/schemas/UserGetResponse"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"UserSetPasswordResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"UserSetPermissionsResponse": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"UserUpdateResponse": {
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"description": "Unique identifier",
|
|
|
|
"example": 123456,
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"description": "Date and time of creation",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"modified_on": {
|
|
|
|
"description": "Date and time of last update",
|
|
|
|
"format": "date-time",
|
|
|
|
"readOnly": true,
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"name": {
|
|
|
|
"description": "Name",
|
|
|
|
"example": "Jamie Curnow",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 100
|
|
|
|
},
|
|
|
|
"nickname": {
|
|
|
|
"description": "Nickname",
|
|
|
|
"example": "Jamie",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 50
|
|
|
|
},
|
|
|
|
"email": {
|
|
|
|
"description": "Email Address",
|
|
|
|
"example": "john@example.com",
|
|
|
|
"format": "email",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 6,
|
|
|
|
"maxLength": 100
|
|
|
|
},
|
|
|
|
"avatar": {
|
|
|
|
"description": "Avatar",
|
|
|
|
"example": "http://somewhere.jpg",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 150,
|
|
|
|
"readOnly": true
|
|
|
|
},
|
|
|
|
"roles": {
|
|
|
|
"description": "Roles",
|
|
|
|
"example": [
|
|
|
|
"admin"
|
|
|
|
],
|
|
|
|
"type": "array",
|
|
|
|
"items": {}
|
|
|
|
},
|
|
|
|
"is_disabled": {
|
|
|
|
"description": "Is Disabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"requestBodies": {
|
|
|
|
"AccessListCreateRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"required": [
|
|
|
|
"name"
|
|
|
|
],
|
|
|
|
"properties": {
|
|
|
|
"name": {
|
|
|
|
"type": "string",
|
|
|
|
"description": "Name of the Access List"
|
|
|
|
},
|
|
|
|
"satisfy_any": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"pass_auth": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"items": {
|
|
|
|
"type": "array",
|
|
|
|
"minItems": 0,
|
|
|
|
"items": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"username": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1
|
|
|
|
},
|
|
|
|
"password": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"clients": {
|
|
|
|
"type": "array",
|
|
|
|
"minItems": 0,
|
|
|
|
"items": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"address": {
|
|
|
|
"oneOf": [
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(/([0-9]|[1-2][0-9]|3[0-2]))?$"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))?$"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^all$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"directive": {
|
|
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
|
|
"allow",
|
|
|
|
"deny"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"AccessListUpdateRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"name": {
|
|
|
|
"type": "string",
|
|
|
|
"description": "Name of the Access List"
|
|
|
|
},
|
|
|
|
"satisfy_any": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"pass_auth": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"items": {
|
|
|
|
"type": "array",
|
|
|
|
"minItems": 0,
|
|
|
|
"items": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"username": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1
|
|
|
|
},
|
|
|
|
"password": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 0
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"clients": {
|
|
|
|
"type": "array",
|
|
|
|
"minItems": 0,
|
|
|
|
"items": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"address": {
|
|
|
|
"oneOf": [
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(/([0-9]|[1-2][0-9]|3[0-2]))?$"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))?$"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^all$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"directive": {
|
|
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
|
|
"allow",
|
|
|
|
"deny"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"CertificateCreateRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"required": [
|
|
|
|
"provider"
|
|
|
|
],
|
|
|
|
"properties": {
|
|
|
|
"provider": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(letsencrypt|other)$"
|
|
|
|
},
|
|
|
|
"nice_name": {
|
|
|
|
"type": "string",
|
|
|
|
"description": "Nice Name for the custom certificate"
|
|
|
|
},
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"letsencrypt_email": {
|
|
|
|
"type": "string",
|
|
|
|
"format": "email"
|
|
|
|
},
|
|
|
|
"letsencrypt_agree": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"dns_challenge": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"dns_provider": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"dns_provider_credentials": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"propagation_seconds": {
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"DeadHostCreateRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"required": [
|
|
|
|
"domain_names"
|
|
|
|
],
|
|
|
|
"properties": {
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"certificate_id": {
|
|
|
|
"description": "Certificate ID",
|
|
|
|
"example": 1234,
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^new$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"description": "Is SSL Forced",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_enabled": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"http2_support": {
|
|
|
|
"description": "HTTP2 Protocol Support",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"DeadHostUpdateRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"certificate_id": {
|
|
|
|
"description": "Certificate ID",
|
|
|
|
"example": 1234,
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^new$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"description": "Is SSL Forced",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_enabled": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"http2_support": {
|
|
|
|
"description": "HTTP2 Protocol Support",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"ProxyHostCreateRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"required": [
|
|
|
|
"domain_names",
|
|
|
|
"forward_scheme",
|
|
|
|
"forward_host",
|
|
|
|
"forward_port"
|
|
|
|
],
|
|
|
|
"properties": {
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"forward_scheme": {
|
|
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
|
|
"http",
|
|
|
|
"https"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"forward_host": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1,
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"forward_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"certificate_id": {
|
|
|
|
"description": "Certificate ID",
|
|
|
|
"example": 1234,
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^new$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"description": "Is SSL Forced",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_enabled": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"http2_support": {
|
|
|
|
"description": "HTTP2 Protocol Support",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"block_exploits": {
|
|
|
|
"description": "Should we block common exploits",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"caching_enabled": {
|
|
|
|
"description": "Should we cache assets",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"allow_websocket_upgrade": {
|
|
|
|
"description": "Allow Websocket Upgrade for all paths",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"access_list_id": {
|
|
|
|
"description": "Access List ID",
|
|
|
|
"example": 1234,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"enabled": {
|
|
|
|
"description": "Is Enabled",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
},
|
|
|
|
"locations": {
|
|
|
|
"type": "array",
|
|
|
|
"minItems": 0,
|
|
|
|
"items": {
|
|
|
|
"type": "object",
|
|
|
|
"required": [
|
|
|
|
"forward_scheme",
|
|
|
|
"forward_host",
|
|
|
|
"forward_port",
|
|
|
|
"path"
|
|
|
|
],
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"type": "integer",
|
|
|
|
"nullable": true
|
|
|
|
},
|
|
|
|
"path": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1
|
|
|
|
},
|
|
|
|
"forward_scheme": {
|
|
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
|
|
"http",
|
|
|
|
"https"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"forward_host": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1,
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"forward_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"forward_path": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"ProxyHostUpdateRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"forward_scheme": {
|
|
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
|
|
"http",
|
|
|
|
"https"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"forward_host": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1,
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"forward_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"certificate_id": {
|
|
|
|
"description": "Certificate ID",
|
|
|
|
"example": 1234,
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^new$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"description": "Is SSL Forced",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_enabled": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"http2_support": {
|
|
|
|
"description": "HTTP2 Protocol Support",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"block_exploits": {
|
|
|
|
"description": "Should we block common exploits",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"caching_enabled": {
|
|
|
|
"description": "Should we cache assets",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"allow_websocket_upgrade": {
|
|
|
|
"description": "Allow Websocket Upgrade for all paths",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"access_list_id": {
|
|
|
|
"description": "Access List ID",
|
|
|
|
"example": 1234,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"enabled": {
|
|
|
|
"description": "Is Enabled",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
},
|
|
|
|
"locations": {
|
|
|
|
"type": "array",
|
|
|
|
"minItems": 0,
|
|
|
|
"items": {
|
|
|
|
"type": "object",
|
|
|
|
"required": [
|
|
|
|
"forward_scheme",
|
|
|
|
"forward_host",
|
|
|
|
"forward_port",
|
|
|
|
"path"
|
|
|
|
],
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"type": "integer",
|
|
|
|
"nullable": true
|
|
|
|
},
|
|
|
|
"path": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1
|
|
|
|
},
|
|
|
|
"forward_scheme": {
|
|
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
|
|
"http",
|
|
|
|
"https"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"forward_host": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1,
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"forward_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"forward_path": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"RedirectionHostCreateRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"required": [
|
|
|
|
"domain_names",
|
|
|
|
"forward_scheme",
|
|
|
|
"forward_http_code",
|
|
|
|
"forward_domain_name"
|
|
|
|
],
|
|
|
|
"properties": {
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"forward_http_code": {
|
|
|
|
"description": "Redirect HTTP Status Code",
|
|
|
|
"example": 302,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 300,
|
|
|
|
"maximum": 308
|
|
|
|
},
|
|
|
|
"forward_scheme": {
|
|
|
|
"description": "RFC Protocol",
|
|
|
|
"example": "HTTPS or $scheme",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 4
|
|
|
|
},
|
|
|
|
"forward_domain_name": {
|
|
|
|
"description": "Domain Name",
|
|
|
|
"example": "jc21.com",
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
},
|
|
|
|
"preserve_path": {
|
|
|
|
"description": "Should the path be preserved",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"certificate_id": {
|
|
|
|
"description": "Certificate ID",
|
|
|
|
"example": 1234,
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^new$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"description": "Is SSL Forced",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_enabled": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"http2_support": {
|
|
|
|
"description": "HTTP2 Protocol Support",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"block_exploits": {
|
|
|
|
"description": "Should we block common exploits",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
2023-03-30 02:44:28 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"RedirectionHostUpdateRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"domain_names": {
|
|
|
|
"description": "Domain Names separated by a comma",
|
|
|
|
"example": "*.jc21.com,blog.jc21.com",
|
|
|
|
"type": "array",
|
|
|
|
"maxItems": 100,
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"forward_http_code": {
|
|
|
|
"description": "Redirect HTTP Status Code",
|
|
|
|
"example": 302,
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 300,
|
|
|
|
"maximum": 308
|
|
|
|
},
|
|
|
|
"forward_scheme": {
|
|
|
|
"description": "RFC Protocol",
|
|
|
|
"example": "HTTPS or $scheme",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 4
|
|
|
|
},
|
|
|
|
"forward_domain_name": {
|
|
|
|
"description": "Domain Name",
|
|
|
|
"example": "jc21.com",
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
},
|
|
|
|
"preserve_path": {
|
|
|
|
"description": "Should the path be preserved",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"certificate_id": {
|
|
|
|
"description": "Certificate ID",
|
|
|
|
"example": 1234,
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^new$"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"description": "Is SSL Forced",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_enabled": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"description": "Is HSTS Enabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"http2_support": {
|
|
|
|
"description": "HTTP2 Protocol Support",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"block_exploits": {
|
|
|
|
"description": "Should we block common exploits",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-03-30 02:44:28 +00:00
|
|
|
}
|
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"SettingUpdateRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"value": {
|
|
|
|
"description": "Value",
|
|
|
|
"example": "404",
|
|
|
|
"type": "string",
|
|
|
|
"maxLength": 255
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"StreamCreateRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"required": [
|
|
|
|
"incoming_port",
|
|
|
|
"forwarding_host",
|
|
|
|
"forwarding_port"
|
|
|
|
],
|
|
|
|
"properties": {
|
|
|
|
"incoming_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"forwarding_host": {
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"description": "Domain Name",
|
|
|
|
"example": "jc21.com",
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"format": "ipv4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"format": "ipv6"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"forwarding_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"tcp_forwarding": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"udp_forwarding": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"StreamUpdateRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
|
|
"incoming_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"forwarding_host": {
|
|
|
|
"anyOf": [
|
|
|
|
{
|
|
|
|
"description": "Domain Name",
|
|
|
|
"example": "jc21.com",
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(?:[^.*]+\\.?)+[^.]$"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"format": "ipv4"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"format": "ipv6"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"forwarding_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
|
|
|
"tcp_forwarding": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"udp_forwarding": {
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"meta": {
|
|
|
|
"type": "object"
|
|
|
|
}
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"TokenCreateRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"required": [
|
|
|
|
"identity",
|
|
|
|
"secret"
|
|
|
|
],
|
|
|
|
"properties": {
|
|
|
|
"identity": {
|
|
|
|
"description": "Email Address or other 3rd party providers identifier",
|
|
|
|
"example": "john@example.com",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"secret": {
|
|
|
|
"description": "A password or key",
|
|
|
|
"example": "correct horse battery staple",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"scope": {
|
|
|
|
"description": "Scope of the Token, defaults to 'user'",
|
|
|
|
"example": "user",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"UserCreateRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"required": [
|
|
|
|
"name",
|
|
|
|
"nickname",
|
|
|
|
"email"
|
|
|
|
],
|
|
|
|
"properties": {
|
|
|
|
"name": {
|
|
|
|
"description": "Name",
|
|
|
|
"example": "Jamie Curnow",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 100
|
|
|
|
},
|
|
|
|
"nickname": {
|
|
|
|
"description": "Nickname",
|
|
|
|
"example": "Jamie",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 50
|
|
|
|
},
|
|
|
|
"email": {
|
|
|
|
"description": "Email Address",
|
|
|
|
"example": "john@example.com",
|
|
|
|
"format": "email",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 6,
|
|
|
|
"maxLength": 100
|
|
|
|
},
|
|
|
|
"roles": {
|
|
|
|
"description": "Roles",
|
|
|
|
"example": [
|
|
|
|
"admin"
|
|
|
|
],
|
|
|
|
"type": "array",
|
|
|
|
"items": {}
|
|
|
|
},
|
|
|
|
"is_disabled": {
|
|
|
|
"description": "Is Disabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"auth": {
|
|
|
|
"type": "object",
|
|
|
|
"description": "Auth Credentials",
|
|
|
|
"example": {
|
|
|
|
"type": "password",
|
|
|
|
"secret": "bigredhorsebanana"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"UserSetPasswordRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"required": [
|
|
|
|
"type",
|
|
|
|
"secret"
|
|
|
|
],
|
|
|
|
"properties": {
|
|
|
|
"type": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^password$"
|
|
|
|
},
|
|
|
|
"current": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 1,
|
|
|
|
"maxLength": 64
|
|
|
|
},
|
|
|
|
"secret": {
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 8,
|
|
|
|
"maxLength": 64
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2024-07-19 21:14:39 +00:00
|
|
|
"UserSetPermissionsRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"visibility": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(all|user)$"
|
|
|
|
},
|
|
|
|
"access_lists": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(hidden|view|manage)$"
|
|
|
|
},
|
|
|
|
"dead_hosts": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(hidden|view|manage)$"
|
|
|
|
},
|
|
|
|
"proxy_hosts": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(hidden|view|manage)$"
|
|
|
|
},
|
|
|
|
"redirection_hosts": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(hidden|view|manage)$"
|
|
|
|
},
|
|
|
|
"streams": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(hidden|view|manage)$"
|
|
|
|
},
|
|
|
|
"certificates": {
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^(hidden|view|manage)$"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"UserUpdateRequest": {
|
|
|
|
"content": {
|
|
|
|
"application/json": {
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"name": {
|
|
|
|
"description": "Name",
|
|
|
|
"example": "Jamie Curnow",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 100
|
|
|
|
},
|
|
|
|
"nickname": {
|
|
|
|
"description": "Nickname",
|
|
|
|
"example": "Jamie",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 2,
|
|
|
|
"maxLength": 50
|
|
|
|
},
|
|
|
|
"email": {
|
|
|
|
"description": "Email Address",
|
|
|
|
"example": "john@example.com",
|
|
|
|
"format": "email",
|
|
|
|
"type": "string",
|
|
|
|
"minLength": 6,
|
|
|
|
"maxLength": 100
|
|
|
|
},
|
|
|
|
"roles": {
|
|
|
|
"description": "Roles",
|
|
|
|
"example": [
|
|
|
|
"admin"
|
|
|
|
],
|
|
|
|
"type": "array",
|
|
|
|
"items": {}
|
|
|
|
},
|
|
|
|
"is_disabled": {
|
|
|
|
"description": "Is Disabled",
|
|
|
|
"example": false,
|
|
|
|
"type": "boolean"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 21:14:39 +00:00
|
|
|
}
|