{ "openapi": "3.0.0", "info": { "version": "1.0.0", "title": "nstportal api", "description": "Nst Portal api discriber", "contact": { "name": "New Safty Technology", "email": "support@newinfosec.ru", "url": "https://www.newinfosec.ru" }, "license": { "name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0.html" } }, "servers": [ { "url": "/" } ], "security": [ { "cookieAuth": [] }, { "CSRFtoken": [] } ], "paths": { "/getconf/": { "get": { "security": [], "description": "Returns all connection params for reqested session", "operationId": "getConf", "parameters": [ { "name": "sid", "in": "query", "required": true, "style": "form", "schema": { "$ref": "#/components/schemas/Sid" } } ], "responses": { "200": { "description": "config response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Config" } } } }, "default": { "description": "unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } }, "post": { "security": [], "description": "Returns all connection params for reqested session", "operationId": "getConf", "parameters": [ { "name": "sid", "in": "query", "required": true, "style": "form", "schema": { "$ref": "#/components/schemas/Sid" } } ], "responses": { "200": { "description": "config response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Config" } } } }, "default": { "description": "unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } } }, "components": { "schemas": { "Answer": { "description": "Base for any server answers", "type": "string", "enum": [ "setconf", "getconf", "error" ] }, "Sid": { "description": "Sid(token) - случайный набор байт(64) в формате base64 urlsafe, подписанный hmac-sha256\n", "type": "string", "example": "xvwuWLOqAwIK2rlw9OoMLteD5aWKdzXbbApzLRKop4Vooc4CmEV3ZP9sHlrYMVHdNbHHdS9YtH5DFVycSZQmWG_TqjtRd06e2AQJ1OugAsdbWe7_p6GZ-9qO74k5CTkD" }, "Config": { "required": [ "answer" ], "properties": { "answer": { "$ref": "#/components/schemas/Answer" }, "settings": { "$ref": "#/components/schemas/Settings" }, "host": { "type": "string", "example": "localhost", "description": "адрес конечного ресурса или SI" }, "login": { "type": "string" }, "password": { "type": "string" }, "port": { "type": "integer" }, "proto": { "type": "string", "enum": [ "ssh", "rdp", "http" ] }, "sid": { "$ref": "#/components/schemas/Sid" } } }, "Settings": { "properties": { "pcb": { "type": "boolean" }, "fntlm": { "type": "boolean" }, "nowallp": { "type": "boolean" }, "nowdrag": { "type": "boolean" }, "nomani": { "type": "boolean" }, "notheme": { "type": "boolean" }, "nonla": { "type": "boolean" }, "notls": { "type": "boolean" }, "dtsize": { "type": "string", "example": "1280x720" }, "libsettings": { "$ref": "#/components/schemas/LibSettings" } } }, "LibSettings": { "description": "\"https://github.com/FreeRDP/FreeRDP/blob/master/libfreerdp/core/settings.c\"\n", "properties": { "a": { "type": "integer", "enum": [ 0, 1 ] } } }, "Error": { "required": [ "message" ], "properties": { "message": { "type": "string" } } } }, "securitySchemes": { "cookieAuth": { "type": "apiKey", "in": "cookie", "name": "portal_user" }, "CSRFtoken": { "type": "apiKey", "in": "cookie", "name": "xsrf" } } } }