{
  "openapi": "3.0.1",
  "info": {
    "title": "RESTful WebAPI for MT4/MT5",
    "description": "It uses native MetaQuote ManagerAPI for both MT4 and MT5 connection.",
    "version": "1.0"
  },
  "paths": {
    "/api/MT4/{tradePlatform}/ManagerCommon": {
      "get": {
        "tags": [
          "MT4 :: Common"
        ],
        "summary": "Server settings (short)",
        "description": "Few sensitive fields will be suppressed from output\n\n**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConCommonShort"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/ServerTime": {
      "get": {
        "tags": [
          "MT4 :: Common"
        ],
        "summary": "Server time",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/ManagerCommonEx": {
      "get": {
        "tags": [
          "MT4 :: Common"
        ],
        "summary": "Server settings",
        "description": "Including sensitive data\n\n**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConCommon"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/JournalRequest/{from}/{to}/{mode}/{filter}": {
      "get": {
        "tags": [
          "MT4 :: Common"
        ],
        "summary": "Journal",
        "description": "**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "from",
            "in": "path",
            "description": "From date/time",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "path",
            "description": "To date/time. Default: ```mgr.ServerTime()``` will be used.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "mode",
            "in": "path",
            "description": "Journal records mode",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/EnLogType"
                }
              ],
              "default": 4
            }
          },
          {
            "name": "filter",
            "in": "path",
            "description": "Filter string",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServerLog"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/TradesGet": {
      "get": {
        "tags": [
          "MT4 :: Trades"
        ],
        "summary": "All open trades (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TradeRecordDTO"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/TradesGet/{ticket}": {
      "get": {
        "tags": [
          "MT4 :: Trades"
        ],
        "summary": "Open trade by ticket (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ticket",
            "in": "path",
            "description": "ticket number",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TradeRecordDTO"
                }
              }
            }
          },
          "404": {
            "description": "Order not found in the list of opened",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/AdmTradesRequest/{group}/{openOnly}": {
      "get": {
        "tags": [
          "MT4 :: Trades"
        ],
        "summary": "All trades by group name (admin)",
        "description": "**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "group",
            "in": "path",
            "description": "account group name",
            "required": true,
            "schema": {
              "maxLength": 16,
              "type": "string"
            }
          },
          {
            "name": "openOnly",
            "in": "path",
            "description": "request only open trades",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TradeRecordDTO"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/TradesGetByLogin/{login}/{group}": {
      "get": {
        "tags": [
          "MT4 :: Trades"
        ],
        "summary": "Open trades by login and group",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "Account Login",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "group",
            "in": "path",
            "description": "Account Group name",
            "required": true,
            "schema": {
              "maxLength": 16,
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TradeRecordDTO"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/AdmTradeRecordModify": {
      "post": {
        "tags": [
          "MT4 :: Trades"
        ],
        "summary": "Modify order (admin)",
        "description": "**Timeout:** 5 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 5 s (trade operation). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 5
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TradeRecordDTO"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TradeRecordDTO"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TradeRecordDTO"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TradeRecordDTO"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/TradeRecordsRequest": {
      "get": {
        "tags": [
          "MT4 :: Trades"
        ],
        "summary": "Trades by ticket",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "orders",
            "in": "query",
            "description": "Ticket numbers",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TradeRecordDTO"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/TradeTransaction": {
      "post": {
        "tags": [
          "MT4 :: Trades"
        ],
        "summary": "Execute 'Trade Transaction'",
        "description": "Initiate trade transaction in MT4 server on behalf of manager (open/close/modify/delete order, balance/credit)\n\n**Timeout:** 5 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 5 s (trade operation). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 5
            }
          }
        ],
        "requestBody": {
          "description": "Trade transaction description",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TradeTransInfo"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TradeTransInfo"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TradeTransInfo"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TradeTransInfo"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TradeTransInfo"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/TradesUserHistory/{login}/{fromTime}/{toTime}": {
      "get": {
        "tags": [
          "MT4 :: Trades"
        ],
        "summary": "Trade history",
        "description": "**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "Account login",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "fromTime",
            "in": "path",
            "description": "Starting from time",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toTime",
            "in": "path",
            "description": "Ending to time",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TradeRecordDTO"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/SymbolsGetAll": {
      "get": {
        "tags": [
          "MT4 :: Symbols"
        ],
        "summary": "All symbols (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConSymbol"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/SymbolsGetAll/{symbol}": {
      "get": {
        "tags": [
          "MT4 :: Symbols"
        ],
        "summary": "Symbol (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "symbol",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConSymbol"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/CfgRequestSymbol": {
      "get": {
        "tags": [
          "MT4 :: Symbols"
        ],
        "summary": "All symbols (admin)",
        "description": "CfgRequestSymbol\n\n**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConSymbol"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/CfgRequestSymbol/{symbol}": {
      "get": {
        "tags": [
          "MT4 :: Symbols"
        ],
        "summary": "Symbol (admin)",
        "description": "CfgRequestSymbol\n\n**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "symbol",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConSymbol"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/SymbolAdd/{symbol}": {
      "get": {
        "tags": [
          "MT4 :: Prices"
        ],
        "summary": "Add to \"Market Watch\"",
        "description": "Add a symbol to the list of selected symbols in \"Market Watch\"\n\n**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "symbol",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/SymbolHide/{symbol}": {
      "get": {
        "tags": [
          "MT4 :: Prices"
        ],
        "summary": "Remove from \"Market Watch\"",
        "description": "Removes a symbol from the list of selected symbols in \"Market Watch\"\n\n**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "symbol",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/CfgUpdateSymbol": {
      "post": {
        "tags": [
          "MT4 :: Symbols"
        ],
        "summary": "Update (admin)",
        "description": "Update symbol settings\n\n**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ConSymbol"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ConSymbol"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ConSymbol"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ConSymbol"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/SymbolsRefresh": {
      "get": {
        "tags": [
          "MT4 :: Symbols"
        ],
        "summary": "Force synchronize",
        "description": "Fetch symbol settings from server to local cache\n\n**Timeout:** 60 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 60 s (server maintenance). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 60
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/CfgRequestSymbolGroup": {
      "get": {
        "tags": [
          "MT4 :: Symbols"
        ],
        "summary": "Get symbol groups (admin)",
        "description": "Fetch symbol (security) groups settings\n\n**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConSymbolGroup"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/UsersGet": {
      "get": {
        "tags": [
          "MT4 :: Users"
        ],
        "summary": "All users (pumping)",
        "description": "Get all users database from local (pumping) cache\n\n**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserRecord"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/UserRecordsRequest": {
      "get": {
        "tags": [
          "MT4 :: Users"
        ],
        "summary": "Users by login",
        "description": "Request users from MT4 server using list of logins\n\n**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "logins",
            "in": "query",
            "description": "List of logins to be requested from server. If none specified - BadRequest will be returned",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserRecord"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/UsersRequest": {
      "get": {
        "tags": [
          "MT4 :: Users"
        ],
        "summary": "All users",
        "description": "Request all users database from MT4 server\n\n**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserRecord"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/UserRecordGet/{login}": {
      "get": {
        "tags": [
          "MT4 :: Users"
        ],
        "summary": "User (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserRecord"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/UserRecordNew": {
      "post": {
        "tags": [
          "MT4 :: Users"
        ],
        "summary": "Create new user",
        "description": "**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UserRecordNew"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UserRecordNew"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UserRecordNew"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UserRecordNew"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserRecordNew"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/UserRecordUpdate": {
      "post": {
        "tags": [
          "MT4 :: Users"
        ],
        "summary": "Update user",
        "description": "**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "requestBody": {
          "description": "User record to be updated on server",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UserRecord"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UserRecord"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UserRecord"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UserRecord"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/MarginLevelGet/{login}": {
      "get": {
        "tags": [
          "MT4 :: Users"
        ],
        "summary": "Margin level (pumping)",
        "description": "Get margin level from local cache (pumping). If none open trades present - will return 404 NOT FOUND.\n\n**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarginLevel"
                }
              }
            }
          },
          "404": {
            "description": "Account does not have any open orders, so it assumed that margin is zero",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/MarginLevelRequest/{login}": {
      "get": {
        "tags": [
          "MT4 :: Users"
        ],
        "summary": "Margin level",
        "description": "Request margin level from MT4 server\n\n**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarginLevel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/UserPasswordCheck/{login}": {
      "post": {
        "tags": [
          "MT4 :: Users"
        ],
        "summary": "Password - check",
        "description": "**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/UserPasswordSet/{login}": {
      "post": {
        "tags": [
          "MT4 :: Users"
        ],
        "summary": "Password - change",
        "description": "**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "changeInvestor",
            "in": "query",
            "description": "Change investors password",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "cleanPubkey",
            "in": "query",
            "description": "Do clean public key",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "requestBody": {
          "description": "The password",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/AdmBalanceCheck/{login}": {
      "get": {
        "tags": [
          "MT4 :: Users"
        ],
        "summary": "Balance - check (admin)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BalanceDiff"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/AdmBalanceFix/{login}": {
      "get": {
        "tags": [
          "MT4 :: Users"
        ],
        "summary": "Balance - fix (admin)",
        "description": "**Timeout:** 5 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 5 s (trade operation). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 5
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/GroupsGet": {
      "get": {
        "tags": [
          "MT4 :: Groups"
        ],
        "summary": "All groups (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConGroup"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/GroupsRequest": {
      "get": {
        "tags": [
          "MT4 :: Groups"
        ],
        "summary": "All groups",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConGroup"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/GroupRecordGet/{group}": {
      "get": {
        "tags": [
          "MT4 :: Groups"
        ],
        "summary": "Group (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "group",
            "in": "path",
            "description": "MT4 group name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConGroup"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/CfgRequestGroup": {
      "get": {
        "tags": [
          "MT4 :: Groups"
        ],
        "summary": "All groups (admin)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConGroup"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/CfgUpdateGroup": {
      "post": {
        "tags": [
          "MT4 :: Groups"
        ],
        "summary": "Update group settings (admin)",
        "description": "**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "requestBody": {
          "description": "Group to be updated",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ConGroup"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ConGroup"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ConGroup"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ConGroup"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/TickInfoLast/{symbol}": {
      "get": {
        "tags": [
          "MT4 :: Prices"
        ],
        "summary": "Recent ticks",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "symbol",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TickInfo"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/TickInfoLast": {
      "get": {
        "tags": [
          "MT4 :: Prices"
        ],
        "summary": "All recent ticks",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TickInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/TicksRequest/{symbol}/{start}/{end}/{flags}": {
      "get": {
        "tags": [
          "MT4 :: Prices"
        ],
        "summary": "Ticks history",
        "description": "**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "symbol",
            "in": "path",
            "description": "The name of the symbol the data is requested for",
            "required": true,
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "path",
            "description": "Period start (ISO 8601)",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "path",
            "description": "Period end (ISO 8601)",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "flags",
            "in": "path",
            "description": "Data request mode",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/TickRequestFlags"
                }
              ],
              "default": "All"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TickRecord"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT4/{tradePlatform}/ChartRequest/{symbol}/{period}/{start}/{end}/{mode}": {
      "get": {
        "tags": [
          "MT4 :: Prices"
        ],
        "summary": "Chart history",
        "description": "**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "symbol",
            "in": "path",
            "description": "The name of the symbol the data is requested for",
            "required": true,
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "period",
            "in": "path",
            "description": "The time-frame the data is requested for",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/ChartPeriod"
                }
              ]
            }
          },
          {
            "name": "start",
            "in": "path",
            "description": "Period start",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "path",
            "description": "Period end",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "mode",
            "in": "path",
            "description": "Data request mode",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/RequestMode"
                }
              ],
              "default": "RangeInExcludeOutOfRage"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RateInfoEx"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/TimeServer": {
      "get": {
        "tags": [
          "MT5 :: Configuration Databases :: Time"
        ],
        "summary": "Get server time",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/TimeGet": {
      "get": {
        "tags": [
          "MT5 :: Configuration Databases :: Time"
        ],
        "summary": "Time configuration",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5ConTime"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/ManagerCurrent": {
      "get": {
        "tags": [
          "MT5 :: Configuration Databases :: Managers"
        ],
        "summary": "Configuration of the current manager account",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5ConManager"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/SymbolGet/{symbol}": {
      "get": {
        "tags": [
          "MT5 :: Configuration Databases :: Symbols"
        ],
        "summary": "Symbol by name (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "symbol",
            "in": "path",
            "description": "Name of the configuration",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Symbol"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/SymbolUpdate/{symbol}": {
      "post": {
        "tags": [
          "MT5 :: Configuration Databases :: Symbols"
        ],
        "summary": "Update Symbol",
        "description": "<strong>Only settings will be accepted by MT5: ExecMode Color StopsLevel SpreadBalance SpreadDiff SpreadDiffBalance. Remaining will be ignored;</strong>\n\n**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "requestBody": {
          "description": "Name of the configuration",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Symbol"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Symbol"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Symbol"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Symbol"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "result of update",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/SymbolRequestArray/{mask}/{group}": {
      "get": {
        "tags": [
          "MT5 :: Configuration Databases :: Symbols"
        ],
        "summary": "Symbols by mask",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mask",
            "in": "path",
            "description": "One or more symbols separated by commas. Specify the full name of the symbol, including the path. For example, Forex\\EURUSD. The symbol name can be obtained by using the IMTConSymbol::Symbol method. Symbols can also be specified using wildcard characters: \"*\" (any value) and \"!\" (exclude). For example, Forex\\*,!Forex\\EURUSD — all symbols in the Forex subgroup except EURUSD.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group",
            "in": "path",
            "description": "The name of the group whose symbol settings should be used (IMTConGroupSymbol). The method will pass symbol configurations based on how they are redefined for the specified group. If the parameter is null, the method will pass the basic symbol settings.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Symbol"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/GroupGet/{group}": {
      "get": {
        "tags": [
          "MT5 :: Configuration Databases :: Groups"
        ],
        "summary": "Group by name (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "group",
            "in": "path",
            "description": "Name of the configuration",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5ConGroup"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/GroupRequest/{group}": {
      "get": {
        "tags": [
          "MT5 :: Configuration Databases :: Groups"
        ],
        "summary": "Group by name",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "group",
            "in": "path",
            "description": "Name of the configuration",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5ConGroup"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/GroupRequestArray/{mask}": {
      "get": {
        "tags": [
          "MT5 :: Configuration Databases :: Groups"
        ],
        "summary": "Groups by mask",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mask",
            "in": "path",
            "description": "One or more groups separated by commas. Specify the full name of the group, including the path. For example, demo\\demoforex. The group name can be obtained using the IMTConGroup::Group method. Groups can also be specified using wildcard characters: \"*\" (any value) and \"!\" (exclude). For example: \"demo*,!demoforex\" — all groups whose names begin with 'demo', except for the group demoforex.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5ConGroup"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/DealerSend": {
      "post": {
        "tags": [
          "MT5 :: Trade Activity :: Dealing"
        ],
        "summary": "Send trade request",
        "description": "Send trade request on behalf of dealer. Only dealer actions (200-255) can be set as a request type in Action (Dealer* etc).\n\n**Timeout:** 5 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 5 s (trade operation). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 5
            }
          }
        ],
        "requestBody": {
          "description": "Request",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Request"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Request"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Request"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Request"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Request"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/DealerBalance": {
      "post": {
        "tags": [
          "MT5 :: Trade Activity :: Dealing"
        ],
        "summary": "Send balance request",
        "description": "Send balance request\n\n**Timeout:** 5 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 5 s (trade operation). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 5
            }
          }
        ],
        "requestBody": {
          "description": "Request",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DealerBalanceRequest"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DealerBalanceRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DealerBalanceRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DealerBalanceRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ID of newly created deal",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/DealerBalanceRaw": {
      "post": {
        "tags": [
          "MT5 :: Trade Activity :: Dealing"
        ],
        "summary": "Send raw balance request (bypasses validation)",
        "description": "Send balance request without standard credit/margin validation checks. Use for administrative corrections.\n\n**Timeout:** 5 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 5 s (trade operation). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 5
            }
          }
        ],
        "requestBody": {
          "description": "Request",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DealerBalanceRequest"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DealerBalanceRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DealerBalanceRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DealerBalanceRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ID of newly created deal",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/OrderGetByGroup/{mask}": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Orders"
        ],
        "summary": "Orders (unfulfilled) by user group mask (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mask",
            "in": "path",
            "description": "The groups for which orders are requested. You can specify one group, several groups (comma separated) or a group mask. The mask is specified using ```*``` (any value) and ```!``` (exception). For example: ```demo*,!demoforex``` - all groups with the names beginning with 'demo', except for the group demoforex.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MT5 Orders array",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Order"
                  }
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/OrderGetBySymbol/{mask}/{symbol}": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Orders"
        ],
        "summary": "Orders (unfulfilled) by user group mask and symbol (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mask",
            "in": "path",
            "description": "The groups for which orders are requested. You can specify one group, several groups (comma separated) or a group mask. The mask is specified using ```*``` (any value) and ```!``` (exception). For example: ```demo*,!demoforex``` - all groups with the names beginning with 'demo', except for the group demoforex.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "symbol",
            "in": "path",
            "description": "The symbol for which you need to get orders. You can specify multiple symbols separated by commas.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MT5 Orders array",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Order"
                  }
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/OrderRequestByGroup/{mask}": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Orders"
        ],
        "summary": "Orders by user group mask",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mask",
            "in": "path",
            "description": "The groups for which orders are requested. You can specify one group, several groups (comma separated) or a group mask. The mask is specified using ```*``` (any value) and ```!``` (exception). For example: ```demo*,!demoforex``` - all groups with the names beginning with 'demo', except for the group demoforex.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MT5 Orders array",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Order"
                  }
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/OrderRequestByGroupSymbol/{mask}/{symbol}": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Orders"
        ],
        "summary": "Orders by user group mask and symbol",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mask",
            "in": "path",
            "description": "The groups for which orders are requested. You can specify one group, several groups (comma separated) or a group mask. The mask is specified using ```*``` (any value) and ```!``` (exception). For example: ```demo*,!demoforex``` - all groups with the names beginning with 'demo', except for the group demoforex.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "symbol",
            "in": "path",
            "description": "The symbol for which you need to get orders. You can specify multiple symbols separated by commas.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MT5 Orders array",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Order"
                  }
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/OrderDeleteBatch": {
      "post": {
        "tags": [
          "MT5 :: Trade Databases :: Orders"
        ],
        "summary": "Delete orders from the server database in bulk",
        "description": "Orders can only be deleted from the applications connected to the trade server, on which the orders have been created. For all other applications, the response code MT_RET_ERR_NOTMAIN is returned. If the object is not found, the response code MT_RET_ERR_NOTFOUND is returned.<br /><br />\r\nBulk deletion is executed faster than deletion of the same number of orders in a cycle one by one, using IMTManagerAPI::OrderDelete.The acceleration can be especially noticeable when deleting orders belonging to one account.<br /><br />\r\nTo improve performance, it is recommended to create arrays and perform group operations separately for each trading account.\n\n**Timeout:** 5 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 5 s (trade operation). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 5
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Result"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/HistoryRequest/{login}/{fromTime}/{toTime}": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Orders"
        ],
        "summary": "Orders history",
        "description": "**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "fromTime",
            "in": "path",
            "description": "Default: ```0.ToUnixTime64()``` (01.01.1970) will be used",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toTime",
            "in": "path",
            "description": "Default: ```UInt64.MaxValue.ToUnixTime64()``` will be used",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Order"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/HistoryRequestByGroup/{mask}/{fromTime}/{toTime}": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Orders"
        ],
        "summary": "Orders history by group mask",
        "description": "**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mask",
            "in": "path",
            "description": "The groups for which orders are requested. You can specify one group, several groups (comma separated) or a group mask. The mask is specified using ```*``` (any value) and ```!``` (exception). For example: ```demo*,!demoforex``` - all groups with the names beginning with 'demo', except for the group demoforex.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromTime",
            "in": "path",
            "description": "Default: ```0.ToUnixTime64()``` (01.01.1970) will be used",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toTime",
            "in": "path",
            "description": "Default: ```UInt64.MaxValue.ToUnixTime64()``` will be used",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MT5 Orders array",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Order"
                  }
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/HistoryRequestByTickets": {
      "post": {
        "tags": [
          "MT5 :: Trade Databases :: Orders"
        ],
        "summary": "(Request) Orders history by list of ticket",
        "description": "**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "requestBody": {
          "description": "Array of orders",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "MT5 Orders array",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Order"
                  }
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/OrderGet/{ticket}": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Orders"
        ],
        "summary": "Order (unfulfilled) by a ticket (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ticket",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Order"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/OrderGetByLogins": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Orders"
        ],
        "summary": "Orders (unfulfilled) by the list of logins (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "logins",
            "in": "query",
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Order"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/OrderGetByTickets": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Orders"
        ],
        "summary": "Orders (unfulfilled) by the list of tickets (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tickets",
            "in": "query",
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Order"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/OrderRequestByTickets": {
      "post": {
        "tags": [
          "MT5 :: Trade Databases :: Orders"
        ],
        "summary": "(Request) Orders by the list of tickets",
        "description": "Similar to the `GET` version, but using request body, you can send a much longer list of ticket\n\n**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Order"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/DealRequest/{login}/{fromTime}/{toTime}": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Deals"
        ],
        "summary": "Deals history by a login",
        "description": "**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "fromTime",
            "in": "path",
            "description": "Default: ```0.ToUnixTime64()``` (01.01.1970) will be used",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toTime",
            "in": "path",
            "description": "Default: ```UInt64.MaxValue.ToUnixTime64()``` will be used",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Deal"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/DealRequestByGroup/{mask}/{fromTime}/{toTime}": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Deals"
        ],
        "summary": "Deals by user group mask",
        "description": "**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mask",
            "in": "path",
            "description": "The groups for which deals are requested. You can specify one group, several groups (comma separated) or a group mask. The mask is specified using ```*``` (any value) and ```!``` (exception). For example: ```demo*,!demoforex``` - all groups with the names beginning with 'demo', except for the group demoforex.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromTime",
            "in": "path",
            "description": "Default: ```0.ToUnixTime64()``` (01.01.1970) will be used",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toTime",
            "in": "path",
            "description": "Default: ```UInt64.MaxValue.ToUnixTime64()``` will be used",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MT5 Deals array",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Deal"
                  }
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/DealRequestByGroupSymbol/{mask}/{symbol}/{fromTime}/{toTime}": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Deals"
        ],
        "summary": "Deals by user group mask and symbol",
        "description": "**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mask",
            "in": "path",
            "description": "The groups for which deals are requested. You can specify one group, several groups (comma separated) or a group mask. The mask is specified using ```*``` (any value) and ```!``` (exception). For example: ```demo*,!demoforex``` - all groups with the names beginning with 'demo', except for the group demoforex.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "symbol",
            "in": "path",
            "description": "The symbol for which you need to get deals. You can specify multiple symbols separated by commas.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromTime",
            "in": "path",
            "description": "Default: ```0.ToUnixTime64()``` (01.01.1970) will be used",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toTime",
            "in": "path",
            "description": "Default: ```UInt64.MaxValue.ToUnixTime64()``` will be used",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MT5 Deals array",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Deal"
                  }
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/DealRequestByTickets": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Deals"
        ],
        "summary": "Deals by the list of tickets",
        "description": "**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tickets",
            "in": "query",
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Deal"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MT5 :: Trade Databases :: Deals"
        ],
        "summary": "(Request) Deals by the list of tickets",
        "description": "Similar to the `GET` version, but using request body, you can send a much longer list of ticket\n\n**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Deal"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/DealRequestByLogins/{fromTime}/{toTime}": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Deals"
        ],
        "summary": "Deals by the list of logins",
        "description": "**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "logins",
            "in": "query",
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "fromTime",
            "in": "path",
            "description": "Default: ```0.ToUnixTime64()``` (01.01.1970) will be used",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toTime",
            "in": "path",
            "description": "Default: ```UInt64.MaxValue.ToUnixTime64()``` will be used",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Deal"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/DealRequestByTicket/{ticket}": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Deals"
        ],
        "summary": "Deal by a ticket",
        "description": "**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ticket",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Deal"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/DealUpdate": {
      "post": {
        "tags": [
          "MT5 :: Trade Databases :: Deals"
        ],
        "summary": "Update Deal",
        "description": "It will request deal from MT5 and apply only received parameters. So, you can send only the ones you'd like to update and leave everything else as null.\n\n**Timeout:** 5 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 5 s (trade operation). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 5
            }
          }
        ],
        "requestBody": {
          "description": "Deal to be updated",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Deal"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Deal"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Deal"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Deal"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "result of update",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/DealDeleteBatch": {
      "post": {
        "tags": [
          "MT5 :: Trade Databases :: Deals"
        ],
        "summary": "Delete deals from the server database in bulk",
        "description": "A deal can only be deleted from the applications connected to the trade server, on which the deals have been created. For all other applications, the response code MT_RET_ERR_NOTMAIN is returned. If the object is not found, the response code MT_RET_ERR_NOTFOUND is returned.<br /><br />\r\nPlease note that deletion of deals does not affect the client's balance and current positions. Therefore, IMTAdmin::PositionCheck and IMTManagerAPI::UserBalanbceCheckwill show that the client's positions and balance do not match the relevant deals history.<br /><br />\r\nBulk deletion is executed faster than deletion of the same number of deals in a cycle one by one, using IMTManagerAPI::DealDelete.The acceleration can be especially noticeable when deleting deals belonging to one account.<br /><br />\r\nTo improve performance, it is recommended to create arrays and perform group operations separately for each trading account.\n\n**Timeout:** 5 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 5 s (trade operation). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 5
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Result"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/PositionGet/{login}": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Positions"
        ],
        "summary": "Positions by login (pumping)",
        "description": "<small>\r\n            Get an array of open positions of all symbols for the specified login.<br />\r\n            To get a position when using the hedging accounting system (EnMarginMode::MARGIN_MODE_RETAIL_HEDGED), use the IMTManagerAPI::PositionGetByTicket method as a position in that case is identified by the ticket, not by the login and symbol.\r\n            </small>\n\n**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "User's login",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Position"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/PositionGetByLogins": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Positions"
        ],
        "summary": "Positions by logins (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "logins",
            "in": "query",
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Position"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/PositionGetByTickets": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Positions"
        ],
        "summary": "Positions by tickets (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "tickets",
            "in": "query",
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Position"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/PositionRequestByGroup/{mask}": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Positions"
        ],
        "summary": "Positions by user group mask (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mask",
            "in": "path",
            "description": "The groups for which positions are requested. You can specify one group, several groups (comma separated) or a group mask. The mask is specified using ```*``` (any value) and ```!``` (exception). For example: ```demo*,!demoforex``` - all groups with the names beginning with 'demo', except for the group demoforex.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MT5 Positions array",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Position"
                  }
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/PositionGetBySymbol/{mask}/{symbol}": {
      "get": {
        "tags": [
          "MT5 :: Trade Databases :: Positions"
        ],
        "summary": "Positions by user group mask and symbol (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mask",
            "in": "path",
            "description": "The groups for which positions are requested. You can specify one group, several groups (comma separated) or a group mask. The mask is specified using ```*``` (any value) and ```!``` (exception). For example: ```demo*,!demoforex``` - all groups with the names beginning with 'demo', except for the group demoforex.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "symbol",
            "in": "path",
            "description": "The symbol for which you need to get positions. You can specify multiple symbols separated by commas.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MT5 Positions array",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Position"
                  }
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/PositionDeleteBatch": {
      "post": {
        "tags": [
          "MT5 :: Trade Databases :: Positions"
        ],
        "summary": "Delete positions from the server database in bulk",
        "description": "Positions can only be deleted from the applications connected to the trade server, on which the positions have been created. For all other applications, the response code MT_RET_ERR_NOTMAIN is returned. If the object is not found, the response code MT_RET_ERR_NOTFOUND is returned.<br /><br />\r\nPlease note that deletion of positions does not affect the client's current deals. Therefore, IMTAdmin::PositionCheck will show that the client's positions do not match the history of deals.<br /><br />\r\nBulk deletion is executed faster than deletion of the same number of positions in a cycle one by one, using IMTManagerAPI::PositionDelete.The acceleration can be especially noticeable when deleting positions belonging to one account.<br /><br />\r\nTo improve performance, it is recommended to create arrays and perform group operations separately for each trading account.\n\n**Timeout:** 5 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 5 s (trade operation). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 5
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5Result"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/UserAdd": {
      "post": {
        "tags": [
          "MT5 :: Users"
        ],
        "summary": "Add user",
        "description": "In case no login is specified for a record (is equal to 0), the server will automatically allocate a login from the available range and will assign it to the user record. In case there are no more available ranges of logins, the MT_RET_USR_LOGIN_EXHAUSTED error is returned.<br /><br />\r\nThe following parameters must be filled in the user record you are adding: IMTUser::Group and IMTUser::Leverage, as well as IMTUser::FirstName or IMTUser::LastName.<br /><br />\r\nWhen calling the method, a check is made whether the entry already exists.If the account already exists, the MT_RET_USR_LOGIN_EXIST error is returned.A key field for comparison is the user login IMTUser::Login().<br /><br />\r\nA user can be added on a trade server only from the applications that run in the same trade server.For all other applications the response code MT_RET_USR_LOGIN_PROHIBITED will be returned.<br /><br />\r\nBefore adding, the correctness of the record is checked. If the record is incorrect, the error code MT_RET_ERR_PARAMS is returned.<br /><br />\r\nIf any of passwords (Password and PasswordInvestor) is null or empty, both of them will be generated. We will generate passwords and call manager api method to create user. If MT5 does not like our password, we will try again with new pair, maximum of 10 times, then stop with error.\n\n**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "requestBody": {
          "description": "User to create",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5UserAdd"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5UserAdd"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5UserAdd"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5UserAdd"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5UserAdd"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/UserRequest/{login}": {
      "get": {
        "tags": [
          "MT5 :: Users"
        ],
        "summary": "Request User",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "User identifier",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MT5 User structure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5User"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/UserAccountGet/{login}": {
      "get": {
        "tags": [
          "MT5 :: Users"
        ],
        "summary": "Get Account (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "User identifier",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MT5 Account structure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Account"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/UserGetByLogins": {
      "get": {
        "tags": [
          "MT5 :: Users"
        ],
        "summary": "Accounts by the list of logins (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "logins",
            "in": "query",
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5User"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/UserGet/{login}": {
      "get": {
        "tags": [
          "MT5 :: Users"
        ],
        "summary": "Get User (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "User identifier",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MT5 User structure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5User"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/UserGetByGroup/{mask}": {
      "get": {
        "tags": [
          "MT5 :: Users"
        ],
        "summary": "User get by Group (pumping)",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mask",
            "in": "path",
            "description": "Groups for which accounts are requested. You can specify one group, several groups (comma separated) or a group mask. The mask is specified using characters \"*\" (any value) and \"!\" (exception). For example: \"demo*,!demoforex\" - all groups with the names beginning with 'demo', except for the group demoforex",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MT5 User structure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5User"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/UserAccountRequest/{login}": {
      "get": {
        "tags": [
          "MT5 :: Users"
        ],
        "summary": "Request Account",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "User identifier",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MT5 Account structure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Account"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/UserUpdate": {
      "post": {
        "tags": [
          "MT5 :: Users"
        ],
        "summary": "Update User",
        "description": "**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "requestBody": {
          "description": "User to be updated",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5User"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5User"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5User"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5User"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "result of update",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/UserPasswordCheck/{login}/{type}": {
      "post": {
        "tags": [
          "MT5 :: Users"
        ],
        "summary": "Password - check",
        "description": "**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "User's login",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "type",
            "in": "path",
            "description": "Type of password to be checked",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/UsersPasswords"
                }
              ]
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "requestBody": {
          "description": "Value of password to be checked",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "result of check",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/UserPasswordChange/{login}/{type}": {
      "post": {
        "tags": [
          "MT5 :: Users"
        ],
        "summary": "Password - change",
        "description": "**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "User's login",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "type",
            "in": "path",
            "description": "Type of password to be changed",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/UsersPasswords"
                }
              ]
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "requestBody": {
          "description": "Value of password to be changed",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "result of change",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/UserDelete/{login}": {
      "get": {
        "tags": [
          "MT5 :: Clients"
        ],
        "summary": "Delete user",
        "description": "**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "The login of a user",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Result code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Result"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/ClientAdd": {
      "post": {
        "tags": [
          "MT5 :: Clients"
        ],
        "summary": "Add client",
        "description": "Add a client to the server database\n\n**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "requestBody": {
          "description": "Client to create",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Client"
                  }
                ],
                "description": "Client record interface"
              }
            },
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Client"
                  }
                ],
                "description": "Client record interface"
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Client"
                  }
                ],
                "description": "Client record interface"
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MT5Client"
                  }
                ],
                "description": "Client record interface"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Client"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/ClientUserAdd/{clientId}/{login}": {
      "get": {
        "tags": [
          "MT5 :: Clients"
        ],
        "summary": "Attach account to user",
        "description": "Attach account to user\n\n**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "clientId",
            "in": "path",
            "description": "Client identifier",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "login",
            "in": "path",
            "description": "Trade account login",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Result"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/ClientRequest/{clientId}": {
      "get": {
        "tags": [
          "MT5 :: Clients"
        ],
        "summary": "Request Client",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "clientId",
            "in": "path",
            "description": "Client identifier",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "MT5 Client structure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Client"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/ClientDelete/{clientId}": {
      "get": {
        "tags": [
          "MT5 :: Clients"
        ],
        "summary": "Delete Client",
        "description": "**Timeout:** 15 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: The operation may still be completed by the server (`X-Request-Outcome: unknown`): check its result before repeating it.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "clientId",
            "in": "path",
            "description": "Client identifier",
            "required": true,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 15
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Result code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Result"
                }
              }
            }
          },
          "400": {
            "description": "invalid data provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MT5Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/MT5/{tradePlatform}/ChartRequest/{symbol}/{fromTime}/{toTime}": {
      "get": {
        "tags": [
          "MT5 :: History Data"
        ],
        "summary": "Minute bars for a symbol.",
        "description": "**Timeout:** 30 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "Trade platform id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "symbol",
            "in": "path",
            "description": "The name of the symbol the data is requested for",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromTime",
            "in": "path",
            "description": "Default: ```0.ToUnixTime64()``` (01.01.1970) will be used",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toTime",
            "in": "path",
            "description": "Default: ```UInt64.MaxValue.ToUnixTime64()``` will be used",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 30 s (history or report). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 30
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MT5ChartBar"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/Organizations": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "all organizations",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Organization"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Organization"
                  }
                }
              },
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Organization"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/TradePlatforms": {
      "get": {
        "tags": [
          "TradePlatforms"
        ],
        "summary": "All Trade Platforms",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TradePlatform"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TradePlatform"
                  }
                }
              },
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TradePlatform"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/TradePlatforms/{tradePlatform}": {
      "get": {
        "tags": [
          "TradePlatforms"
        ],
        "summary": "Trade Platform",
        "description": "**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TradePlatform"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TradePlatform"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TradePlatform"
                }
              }
            }
          }
        }
      }
    },
    "/api/TradePlatforms/{tradePlatform}/Ping": {
      "get": {
        "tags": [
          "TradePlatforms"
        ],
        "summary": "Status of ManagerAPI connection",
        "description": "try to connect and call Ping using Manager API\n\n**Timeout:** 10 s by default, adjustable per request with the `X-Request-Timeout` header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.",
        "parameters": [
          {
            "name": "tradePlatform",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "X-Request-Timeout",
            "in": "header",
            "description": "How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter `requestTimeout` does the same for clients that cannot set headers. The applied value is returned in the `X-Request-Timeout-Applied` response header.",
            "schema": {
              "maximum": 300,
              "minimum": 1,
              "type": "number",
              "format": "double",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ActivationModes": {
        "enum": [
          "None",
          "SL",
          "TP",
          "StopOut"
        ],
        "type": "string"
      },
      "ActivationType": {
        "enum": [
          "None",
          "SL",
          "TP",
          "Pending",
          "Stopout",
          "StopOutRollback",
          "PendingRollback",
          "TPRollback",
          "SLRollback"
        ],
        "type": "string"
      },
      "AutoCloseOutMethod": {
        "enum": [
          "None",
          "HIHI",
          "LOLO",
          "HILO",
          "LOHI",
          "FIFO",
          "LIFO",
          "IntrdayFIFO"
        ],
        "type": "string"
      },
      "BalanceDiff": {
        "type": "object",
        "properties": {
          "login": {
            "type": "integer",
            "format": "int32"
          },
          "diff": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "ChartPeriod": {
        "enum": [
          "M1",
          "M5",
          "M15",
          "M30",
          "H1",
          "H4",
          "D1",
          "W1",
          "Mn1"
        ],
        "type": "string"
      },
      "ClientOrigins": {
        "enum": [
          "Manual",
          "Demo",
          "Contest",
          "Preliminary",
          "Real"
        ],
        "type": "string"
      },
      "ClientStatuses": {
        "enum": [
          "Unregistered",
          "Registered",
          "NotInterested",
          "ApplicationIncomplete",
          "ApplicationCompleted",
          "ApplicationInformation",
          "ApplicationRejected",
          "Approved",
          "Funded",
          "Active",
          "Inactive",
          "Suspended",
          "Closed",
          "Terminated"
        ],
        "type": "string"
      },
      "ClientTypes": {
        "enum": [
          "Undefined",
          "Individual",
          "Corporate",
          "Fund"
        ],
        "type": "string"
      },
      "ClientsTradeRights": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"CloseBy, MultiCloseBy\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: CloseBy = 0x1, MultiCloseBy = 0x2.",
        "example": "CloseBy, MultiCloseBy",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "CloseBy",
          "MultiCloseBy"
        ],
        "x-enum-values": [
          0,
          1,
          2
        ]
      },
      "CommissionLotsMode": {
        "enum": [
          "PerLot",
          "PerDeal"
        ],
        "type": "string"
      },
      "CommissionType": {
        "enum": [
          "Money",
          "Pips",
          "Percent"
        ],
        "type": "string"
      },
      "ConCommon": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "type": "integer",
            "format": "int32"
          },
          "port": {
            "type": "integer",
            "format": "int32"
          },
          "timeout": {
            "type": "integer",
            "format": "int32"
          },
          "demoAccountType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DemoAccountType"
              }
            ]
          },
          "timeOfDemo": {
            "type": "integer",
            "format": "int32"
          },
          "daylightCorrection": {
            "type": "integer",
            "format": "int32"
          },
          "timeZoneReal": {
            "type": "integer",
            "format": "int32"
          },
          "timeZone": {
            "type": "integer",
            "format": "int32"
          },
          "timeSync": {
            "type": "string",
            "nullable": true
          },
          "minClient": {
            "type": "integer",
            "format": "int32"
          },
          "minApi": {
            "type": "integer",
            "format": "int32"
          },
          "feederTimeout": {
            "type": "integer",
            "format": "int32"
          },
          "keepEmails": {
            "type": "integer",
            "format": "int32"
          },
          "endHour": {
            "type": "integer",
            "format": "int32"
          },
          "endMinute": {
            "type": "integer",
            "format": "int32"
          },
          "optimizationTime": {
            "type": "integer",
            "format": "int32"
          },
          "optimizationLastTime": {
            "type": "integer",
            "format": "int32"
          },
          "optimizationCounter": {
            "type": "integer",
            "format": "int32"
          },
          "optimizationUnused": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "antiFlood": {
            "type": "integer",
            "format": "int32"
          },
          "floodControl": {
            "type": "integer",
            "format": "int32"
          },
          "liveUpdateMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LiveUpdateMode"
              }
            ]
          },
          "lastOrder": {
            "type": "integer",
            "format": "int32"
          },
          "lastLogin": {
            "type": "integer",
            "format": "int32"
          },
          "lostLogin": {
            "type": "integer",
            "format": "int32"
          },
          "rolloverMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RolloverMode"
              }
            ]
          },
          "pathDatabase": {
            "type": "string",
            "nullable": true
          },
          "pathHistory": {
            "type": "string",
            "nullable": true
          },
          "pathLog": {
            "type": "string",
            "nullable": true
          },
          "overnightLastDay": {
            "type": "integer",
            "format": "int32"
          },
          "overnightLastTime": {
            "type": "integer",
            "format": "int32"
          },
          "overnightPrevTime": {
            "type": "integer",
            "format": "int32"
          },
          "overmonthLastMonth": {
            "type": "integer",
            "format": "int32"
          },
          "adapters": {
            "type": "string",
            "nullable": true
          },
          "bindAdresses": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "serverVersion": {
            "type": "integer",
            "format": "int32"
          },
          "serverBuild": {
            "type": "integer",
            "format": "int32"
          },
          "webAdresses": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "statementMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StatementMode"
              }
            ]
          },
          "monthlyStatementMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MonthlyStatementMode"
              }
            ]
          },
          "keepTicks": {
            "type": "integer",
            "format": "int32"
          },
          "statementWeekend": {
            "type": "integer",
            "format": "int32"
          },
          "reserved": {
            "maxItems": 16,
            "minItems": 16,
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "lastActivate": {
            "type": "string",
            "format": "date-time"
          },
          "stopLast": {
            "type": "string",
            "format": "date-time"
          },
          "stopDelay": {
            "type": "integer",
            "format": "int32"
          },
          "stopReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ServerStopReason"
              }
            ]
          },
          "accountUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConCommonShort": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "server name",
            "nullable": true
          },
          "timeout": {
            "type": "integer",
            "description": "sockets timeout",
            "format": "int32"
          },
          "demoAccountType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DemoAccountType"
              }
            ]
          },
          "timeOfDemo": {
            "type": "integer",
            "description": "demo-account living time",
            "format": "int32"
          },
          "daylightCorrection": {
            "type": "integer",
            "description": "allow daylight correction",
            "format": "int32"
          },
          "timeZoneReal": {
            "type": "integer",
            "description": "time zone with day light mode",
            "format": "int32"
          },
          "timeZone": {
            "type": "integer",
            "description": "time zone 0-GMT;-1=GMT-1;1=GMT+1;",
            "format": "int32"
          },
          "minClient": {
            "type": "integer",
            "description": "minimal authorized client version",
            "format": "int32"
          },
          "minApi": {
            "type": "integer",
            "description": "minimal authorized client version",
            "format": "int32"
          },
          "feederTimeout": {
            "type": "integer",
            "description": "data feed switch timeout",
            "format": "int32"
          },
          "keepEmails": {
            "type": "integer",
            "description": "internal mail keep period",
            "format": "int32"
          },
          "endHour": {
            "type": "integer",
            "description": "end of day time-hour and minute",
            "format": "int32"
          },
          "endMinute": {
            "type": "integer",
            "description": "end of day time-hour and minute",
            "format": "int32"
          },
          "optimizationTime": {
            "type": "integer",
            "description": "optimization start time (minutes)",
            "format": "int32"
          },
          "optimizationLastTime": {
            "type": "integer",
            "description": "optimization last time",
            "format": "int32"
          },
          "optimizationCounter": {
            "type": "integer",
            "description": "internal variable",
            "format": "int32"
          },
          "optimizationUnused": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "reserved for future use",
            "nullable": true
          },
          "antiFlood": {
            "type": "integer",
            "description": "enable antiflood control",
            "format": "int32"
          },
          "floodControl": {
            "type": "integer",
            "description": "max. antiflood connections",
            "format": "int32"
          },
          "liveUpdateMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LiveUpdateMode"
              }
            ]
          },
          "lastOrder": {
            "type": "integer",
            "description": "last order's ticket     (read only)",
            "format": "int32"
          },
          "lastLogin": {
            "type": "integer",
            "description": "last account's number   (read only)",
            "format": "int32"
          },
          "lostLogin": {
            "type": "integer",
            "description": "lost commission's login (read only)",
            "format": "int32"
          },
          "rolloverMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RolloverMode"
              }
            ]
          },
          "overnightLastDay": {
            "type": "integer",
            "description": "day of last overnight",
            "format": "int32"
          },
          "overnightLastTime": {
            "type": "integer",
            "description": "time of last overnight",
            "format": "int32"
          },
          "overnightPrevTime": {
            "type": "integer",
            "description": "time of время next to last overnight",
            "format": "int32"
          },
          "overmonthLastMonth": {
            "type": "integer",
            "description": "month of last report",
            "format": "int32"
          },
          "serverVersion": {
            "type": "integer",
            "description": "server version",
            "format": "int32"
          },
          "serverBuild": {
            "type": "integer",
            "description": "server build",
            "format": "int32"
          },
          "statementMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StatementMode"
              }
            ],
            "description": "statement generation time"
          },
          "monthlyStatementMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MonthlyStatementMode"
              }
            ],
            "description": "monthly statement generation day"
          },
          "keepTicks": {
            "type": "integer",
            "description": "ticks keep period",
            "format": "int32"
          },
          "statementWeekend": {
            "type": "integer",
            "description": "generate statements at weekends",
            "format": "int32"
          },
          "lastActivate": {
            "type": "string",
            "description": "last activation datetime",
            "format": "date-time"
          },
          "stopLast": {
            "type": "string",
            "description": "last stop datetime",
            "format": "date-time"
          },
          "stopDelay": {
            "type": "integer",
            "description": "last stop delay",
            "format": "int32"
          },
          "stopReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ServerStopReason"
              }
            ],
            "description": "last stop reason"
          },
          "accountUrl": {
            "type": "string",
            "description": "account allocation URL",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Shorter and less sensitive version of ConCommon structure, ip address, disk paths, etc removed from this structure"
      },
      "ConGroup": {
        "type": "object",
        "properties": {
          "secGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConGroupSec"
            },
            "nullable": true
          },
          "secMargins": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConGroupMargin"
            },
            "nullable": true
          },
          "enable": {
            "type": "integer",
            "format": "int32"
          },
          "group": {
            "type": "string",
            "nullable": true
          },
          "timeout": {
            "type": "integer",
            "format": "int32"
          },
          "otpMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OTPMode"
              }
            ]
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "signature": {
            "type": "string",
            "nullable": true
          },
          "supportPage": {
            "type": "string",
            "nullable": true
          },
          "smtpServer": {
            "type": "string",
            "nullable": true
          },
          "smtpLogin": {
            "type": "string",
            "nullable": true
          },
          "smtpPassword": {
            "type": "string",
            "nullable": true
          },
          "supportEmail": {
            "type": "string",
            "nullable": true
          },
          "templates": {
            "type": "string",
            "nullable": true
          },
          "copies": {
            "type": "integer",
            "format": "int32"
          },
          "reports": {
            "type": "integer",
            "format": "int32"
          },
          "defaultLeverage": {
            "type": "integer",
            "format": "int32"
          },
          "defaultDeposit": {
            "type": "number",
            "format": "double"
          },
          "maxSecurities": {
            "type": "integer",
            "format": "int32"
          },
          "secMarginsTotal": {
            "type": "integer",
            "format": "int32"
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "credit": {
            "type": "number",
            "format": "double"
          },
          "marginCall": {
            "type": "integer",
            "format": "int32"
          },
          "marginMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MarginMode"
              }
            ]
          },
          "marginStopout": {
            "type": "integer",
            "format": "int32"
          },
          "interestRate": {
            "type": "number",
            "format": "double"
          },
          "useSwap": {
            "type": "integer",
            "format": "int32"
          },
          "newsMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NewsMode"
              }
            ]
          },
          "groupRights": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GroupRights"
              }
            ]
          },
          "checkIEPrices": {
            "type": "integer",
            "format": "int32"
          },
          "maxPositions": {
            "type": "integer",
            "format": "int32"
          },
          "closeReopen": {
            "type": "integer",
            "format": "int32"
          },
          "hedgeProhibited": {
            "type": "integer",
            "format": "int32"
          },
          "closeFIFO": {
            "type": "integer",
            "format": "int32"
          },
          "hedgeLargeLeg": {
            "type": "integer",
            "format": "int32"
          },
          "securitiesHash": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "marginControllingType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MarginControllingType"
              }
            ]
          },
          "archivePeriod": {
            "type": "integer",
            "format": "int32"
          },
          "archiveMaxBalance": {
            "type": "integer",
            "format": "int32"
          },
          "stopoutSkipHedged": {
            "type": "integer",
            "format": "int32"
          },
          "archivePendingPeriod": {
            "type": "integer",
            "format": "int32"
          },
          "newsLanguages": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "newsLanguagesTotal": {
            "type": "integer",
            "format": "int32"
          },
          "reserved": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "unusedRights": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConGroupMargin": {
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "nullable": true
          },
          "swapLong": {
            "type": "number",
            "format": "double"
          },
          "swapShort": {
            "type": "number",
            "format": "double"
          },
          "marginDivider": {
            "type": "number",
            "format": "double"
          },
          "reserved": {
            "maxItems": 7,
            "minItems": 7,
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConGroupSec": {
        "type": "object",
        "properties": {
          "show": {
            "type": "integer",
            "format": "int32"
          },
          "trade": {
            "type": "integer",
            "format": "int32"
          },
          "dealingMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DealingMode"
              }
            ]
          },
          "standardCommission": {
            "type": "number",
            "format": "double"
          },
          "commissionType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommissionType"
              }
            ]
          },
          "commissionLotsMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommissionLotsMode"
              }
            ]
          },
          "agentCommission": {
            "type": "number",
            "format": "double"
          },
          "agentCommissionMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommissionType"
              }
            ]
          },
          "spreadDiff": {
            "type": "integer",
            "format": "int32"
          },
          "lotMin": {
            "type": "integer",
            "format": "int32"
          },
          "lotMax": {
            "type": "integer",
            "format": "int32"
          },
          "lotStep": {
            "type": "integer",
            "format": "int32"
          },
          "ieDeviation": {
            "type": "integer",
            "format": "int32"
          },
          "confirmation": {
            "type": "integer",
            "format": "int32"
          },
          "tradeRights": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientsTradeRights"
              }
            ]
          },
          "ieQuickMode": {
            "type": "integer",
            "format": "int32"
          },
          "autoCloseOutMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoCloseOutMethod"
              }
            ]
          },
          "commissionTaxes": {
            "type": "number",
            "format": "double"
          },
          "commissionAgentLots": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommissionLotsMode"
              }
            ]
          },
          "freeMarginMode": {
            "type": "integer",
            "format": "int32"
          },
          "reserved": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConSession": {
        "type": "object",
        "properties": {
          "openHour": {
            "type": "integer",
            "format": "int32"
          },
          "openMin": {
            "type": "integer",
            "format": "int32"
          },
          "closeHour": {
            "type": "integer",
            "format": "int32"
          },
          "closeMin": {
            "type": "integer",
            "format": "int32"
          },
          "align": {
            "maxItems": 7,
            "minItems": 7,
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConSessions": {
        "type": "object",
        "properties": {
          "quoteOvernight": {
            "type": "integer",
            "format": "int32"
          },
          "tradeOvernight": {
            "type": "integer",
            "format": "int32"
          },
          "quote": {
            "maxItems": 3,
            "minItems": 3,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConSession"
            },
            "nullable": true
          },
          "trade": {
            "maxItems": 3,
            "minItems": 3,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConSession"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConSymbol": {
        "type": "object",
        "properties": {
          "symbol": {
            "maxLength": 12,
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 64,
            "type": "string",
            "nullable": true
          },
          "source": {
            "maxLength": 12,
            "type": "string",
            "nullable": true
          },
          "currency": {
            "maxLength": 12,
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "integer",
            "format": "int32"
          },
          "digits": {
            "type": "integer",
            "format": "int32"
          },
          "tradeMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradeMode"
              }
            ]
          },
          "backgroundColor": {
            "type": "integer",
            "format": "int32"
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "countOriginal": {
            "type": "integer",
            "format": "int32"
          },
          "realtime": {
            "type": "integer",
            "format": "int32"
          },
          "starting": {
            "type": "string",
            "format": "date-time"
          },
          "expiration": {
            "type": "string",
            "format": "date-time"
          },
          "sessions": {
            "maxItems": 7,
            "minItems": 7,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConSessions"
            },
            "nullable": true
          },
          "profitCalculationMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProfitCalculationMode"
              }
            ]
          },
          "profitReserved": {
            "type": "integer",
            "format": "int32"
          },
          "filter": {
            "type": "integer",
            "format": "int32"
          },
          "filterCounter": {
            "type": "integer",
            "format": "int32"
          },
          "filterLimit": {
            "type": "number",
            "format": "double"
          },
          "filterSmoothing": {
            "type": "integer",
            "format": "int32"
          },
          "filterReserved": {
            "type": "number",
            "format": "float"
          },
          "logging": {
            "type": "integer",
            "format": "int32"
          },
          "spread": {
            "type": "integer",
            "format": "int32"
          },
          "spreadBalance": {
            "type": "integer",
            "format": "int32"
          },
          "symbolExecMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SymbolExecMode"
              }
            ]
          },
          "swapEnable": {
            "type": "integer",
            "format": "int32"
          },
          "swapType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SwapType"
              }
            ]
          },
          "swapLong": {
            "type": "number",
            "format": "double"
          },
          "swapShort": {
            "type": "number",
            "format": "double"
          },
          "swapRollover3Days": {
            "type": "integer",
            "format": "int32"
          },
          "contractSize": {
            "type": "number",
            "format": "double"
          },
          "tickValue": {
            "type": "number",
            "format": "double"
          },
          "tickSize": {
            "type": "number",
            "format": "double"
          },
          "stopsLevel": {
            "type": "integer",
            "format": "int32"
          },
          "gtcMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GTCMode"
              }
            ]
          },
          "marginCalculationMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MarginCalculationMode"
              }
            ]
          },
          "marginInitial": {
            "type": "number",
            "format": "double"
          },
          "marginMaintenance": {
            "type": "number",
            "format": "double"
          },
          "marginHedged": {
            "type": "number",
            "format": "double"
          },
          "marginDivider": {
            "type": "number",
            "format": "double"
          },
          "percentage": {
            "type": "number",
            "format": "double"
          },
          "point": {
            "type": "number",
            "format": "double"
          },
          "multiply": {
            "type": "number",
            "format": "double"
          },
          "bidTickValue": {
            "type": "number",
            "format": "double"
          },
          "askTickValue": {
            "type": "number",
            "format": "double"
          },
          "longOnly": {
            "type": "integer",
            "format": "int32"
          },
          "instantMaxVolume": {
            "type": "integer",
            "format": "int32"
          },
          "marginCurrency": {
            "type": "string",
            "nullable": true
          },
          "freezeLevel": {
            "type": "integer",
            "format": "int32"
          },
          "marginHedgedStrong": {
            "type": "integer",
            "format": "int32"
          },
          "valueDate": {
            "type": "string",
            "format": "date-time"
          },
          "quotesDelay": {
            "type": "integer",
            "format": "int32"
          },
          "swapOpenPrice": {
            "type": "integer",
            "format": "int32"
          },
          "swapVariationMargin": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ConSymbolGroup": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DealAction": {
        "enum": [
          "Buy",
          "Sell",
          "Balance",
          "Credit",
          "Charge",
          "Correction",
          "Bonus",
          "Commission",
          "CommissionDaily",
          "CommissionMonthly",
          "AgentDaily",
          "AgentMonthly",
          "InterestRate",
          "BuyCanceled",
          "SellCanceled",
          "Dividend",
          "DividendFranked",
          "Tax",
          "Agent",
          "SOCompensation",
          "SOCompensationCredit"
        ],
        "type": "string"
      },
      "DealReason": {
        "enum": [
          "Client",
          "Expert",
          "Dealer",
          "Sl",
          "Tp",
          "So",
          "Rollover",
          "ExternalClient",
          "VMargin",
          "Gateway",
          "Signal",
          "Settlement",
          "Transfer",
          "Sync",
          "ExternalService",
          "Migration",
          "Mobile",
          "Web",
          "Split",
          "CorporateAction"
        ],
        "type": "string"
      },
      "DealerBalanceRequest": {
        "required": [
          "login",
          "value"
        ],
        "type": "object",
        "properties": {
          "login": {
            "type": "integer",
            "format": "int64"
          },
          "value": {
            "type": "number",
            "format": "double"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnDealAction"
              }
            ],
            "description": "if none specified - it will be Balance operation. Buy/Sell actions here - pointless.",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DealingMode": {
        "enum": [
          "Manual",
          "Auto",
          "Activity"
        ],
        "type": "string"
      },
      "DemoAccountType": {
        "enum": [
          "Disabled",
          "Prolong",
          "Fixed"
        ],
        "type": "string"
      },
      "EducationLevel": {
        "enum": [
          "None",
          "HighSchool",
          "Bachelor",
          "Master",
          "PHD",
          "Other"
        ],
        "type": "string"
      },
      "Employment": {
        "enum": [
          "Unemployed",
          "Employed",
          "SelfEmployed",
          "Retired",
          "Student",
          "Other"
        ],
        "type": "string"
      },
      "EmploymentIndustry": {
        "enum": [
          "None",
          "Agriculture",
          "Construction",
          "Management",
          "Communication",
          "Education",
          "Government",
          "Healthcare",
          "Tourism",
          "IT",
          "Security",
          "Manufacturing",
          "Marketing",
          "Science",
          "Engineering",
          "Transport",
          "Other"
        ],
        "type": "string"
      },
      "EnAuthMode": {
        "enum": [
          "Standard",
          "Rsa1024",
          "Rsa2048",
          "RsaCustom"
        ],
        "type": "string"
      },
      "EnAuthOTPMode": {
        "enum": [
          "Disabled",
          "TotpSha256",
          "TotpSha256Web"
        ],
        "type": "string"
      },
      "EnCalcMode": {
        "enum": [
          "Forex",
          "Futures",
          "Cfd",
          "CfdIndex",
          "CfdLeverage",
          "ForexNoLeverage",
          "ExchStocks",
          "ExchFutures",
          "ExchFuturesForts",
          "ExchOptions",
          "ExchOptionsMargin",
          "ExchBonds",
          "ExchStocksMoex",
          "ExchBondsMoex",
          "ServCollateral"
        ],
        "type": "string"
      },
      "EnChartMode": {
        "enum": [
          "BidPrice",
          "LastPrice",
          "Old"
        ],
        "type": "string"
      },
      "EnCommActionMode": {
        "enum": [
          "All",
          "Buy",
          "Sell"
        ],
        "type": "string"
      },
      "EnCommChargeMode": {
        "enum": [
          "Daily",
          "Monthly",
          "Instant"
        ],
        "type": "string"
      },
      "EnCommEntryMode": {
        "enum": [
          "All",
          "In",
          "Out"
        ],
        "type": "string"
      },
      "EnCommMode": {
        "enum": [
          "Standard",
          "Agent",
          "Fee"
        ],
        "type": "string"
      },
      "EnCommProfitMode": {
        "enum": [
          "All",
          "Profit",
          "Loss"
        ],
        "type": "string"
      },
      "EnCommRangeMode": {
        "enum": [
          "Volume",
          "OverturnMoney",
          "OverturnVolume",
          "Value",
          "Profit"
        ],
        "type": "string"
      },
      "EnCommReasonFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"Client, Expert\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: Client = 0x1, Expert = 0x2, Dealer = 0x4, ExternalClient = 0x8, Mobile = 0x10, Web = 0x20, Signal = 0x40. Accepted on input, never written: All = Client, Expert, Dealer, ExternalClient, Mobile, Web, Signal.",
        "example": "Client, Expert",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "Client",
          "Expert",
          "Dealer",
          "ExternalClient",
          "Mobile",
          "Web",
          "Signal"
        ],
        "x-enum-values": [
          0,
          1,
          2,
          4,
          8,
          16,
          32,
          64
        ]
      },
      "EnCommissionMode": {
        "enum": [
          "MoneyDeposit",
          "MoneySymbolBase",
          "MoneySymbolProfit",
          "MoneySymbolMargin",
          "Pips",
          "Percent",
          "MoneySpecified",
          "PercentProfit"
        ],
        "type": "string"
      },
      "EnCommissionVolumeType": {
        "enum": [
          "Deal",
          "Volume"
        ],
        "type": "string"
      },
      "EnDealAction": {
        "enum": [
          "Buy",
          "Sell",
          "Balance",
          "Credit",
          "Charge",
          "Correction",
          "Bonus",
          "Commission",
          "CommissionDaily",
          "CommissionMonthly",
          "AgentDaily",
          "AgentMonthly",
          "InterestRate",
          "BuyCanceled",
          "SellCanceled",
          "Dividend",
          "DividendFranked",
          "Tax",
          "Agent",
          "SOCompensation"
        ],
        "type": "string",
        "description": "Action"
      },
      "EnExecutionMode": {
        "enum": [
          "Request",
          "Instant",
          "Market",
          "Exchange"
        ],
        "type": "string"
      },
      "EnExpirationFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"GtC, Day\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: GtC = 0x1, Day = 0x2, Specified = 0x4, SpecifiedDay = 0x8. Accepted on input, never written: All = GtC, Day, Specified, SpecifiedDay.",
        "example": "GtC, Day",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "GtC",
          "Day",
          "Specified",
          "SpecifiedDay"
        ],
        "x-enum-values": [
          0,
          1,
          2,
          4,
          8
        ]
      },
      "EnFillingFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"FoK, IoC\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: FoK = 0x1, IoC = 0x2, BoC = 0x4. Accepted on input, never written: All = FoK, IoC, BoC.",
        "example": "FoK, IoC",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "FoK",
          "IoC",
          "BoC"
        ],
        "x-enum-values": [
          0,
          1,
          2,
          4
        ]
      },
      "EnFreeMarginMode": {
        "enum": [
          "NotUsePL",
          "UsePL",
          "Profit",
          "Loss"
        ],
        "type": "string"
      },
      "EnGtcMode": {
        "enum": [
          "GtC",
          "Daily",
          "DailyNoStops"
        ],
        "type": "string"
      },
      "EnHistoryLimit": {
        "enum": [
          "All",
          "Months1",
          "Months3",
          "Months6",
          "Year1",
          "Year2",
          "Year3"
        ],
        "type": "string"
      },
      "EnIndustries": {
        "enum": [
          "Undefined",
          "AgriculturalInputs",
          "Aluminium",
          "BuildingMaterials",
          "Chemicals",
          "CokingCoal",
          "Copper",
          "Gold",
          "LumberWood",
          "IndustrialMetals",
          "PreciousMetals",
          "Paper",
          "Silver",
          "SpecialtyChemicals",
          "Steel",
          "BasicMaterialsEnd",
          "Advertising",
          "Broadcasting",
          "GamingMultimedia",
          "Entertainment",
          "InternetContent",
          "Publishing",
          "Telecom",
          "CommunicationEnd",
          "ApparelManufacturing",
          "ApparelRetail",
          "AutoManufacturers",
          "AutoParts",
          "AutoDealership",
          "DepartmentStores",
          "FootwearAccessories",
          "Furnishings",
          "Gambling",
          "HomeImprovRetail",
          "InternetRetail",
          "Leisure",
          "Lodging",
          "LuxuryGoods",
          "PackagingContainers",
          "PersonalServices",
          "RecreationalVehicles",
          "ResidentConstruction",
          "ResortsCasinos",
          "Restaurants",
          "SpecialtyRetail",
          "TextileManufacturing",
          "TravelServices",
          "ConsumerCyclEnd",
          "BeveragesBrewers",
          "BeveragesNonAlco",
          "BeveragesWineries",
          "Confectioners",
          "DiscountStores",
          "EducationTrainig",
          "FarmProducts",
          "FoodDistribution",
          "GroceryStores",
          "HouseholdProducts",
          "PackagedFoods",
          "Tobacco",
          "ConsumerDefEnd",
          "OilGasDrilling",
          "OilGasEp",
          "OilGasEquipment",
          "OilGasIntegrated",
          "OilGasMidstream",
          "OilGasRefining",
          "ThermalCoal",
          "Uranium",
          "EnergyEnd",
          "ExchangeTradedFund",
          "AssetsManagement",
          "BanksDiversified",
          "BanksRegional",
          "CapitalMarkets",
          "CloseEndFundDebt",
          "CloseEndFundEquity",
          "CloseEndFundForeign",
          "CreditServices",
          "FinancialConglomerate",
          "FinancialDataExchange",
          "InsuranceBrokers",
          "InsuranceDiversified",
          "InsuranceLife",
          "InsuranceProperty",
          "InsuranceReinsurance",
          "InsuranceSpecialty",
          "MortgageFinance",
          "ShellCompanies",
          "FinancialEnd",
          "Biotechnology",
          "DiagnosticsResearch",
          "DrugsManufacturers",
          "DrugsManufacturersSpec",
          "HealthcarePlans",
          "HealthInformation",
          "MedicalFacilities",
          "MedicalDevices",
          "MedicalDistribution",
          "MedicalInstruments",
          "PharmRetailers",
          "HealthcareEnd",
          "AerospaceDefense",
          "Airlines",
          "AirportsServices",
          "BuildingProducts",
          "BusinessEquipment",
          "Conglomerates",
          "ConsultingServices",
          "ElectricalEquipment",
          "EngineeringConstruction",
          "FarmHeavyMachinery",
          "IndustrialDistribution",
          "InfrastructureOperations",
          "FreightLogistics",
          "MarineShipping",
          "MetalFabrication",
          "PollutionControl",
          "Railroads",
          "RentalLeasing",
          "SecurityProtection",
          "SpealityBusinessServices",
          "SpealityMachinery",
          "StuffingEmployment",
          "ToolsAccessories",
          "Trucking",
          "WasteManagement",
          "IndustrialsEnd",
          "RealEstateDevelopment",
          "RealEstateDiversified",
          "RealEstateServices",
          "ReitDiversified",
          "ReitHealtcare",
          "ReitHotelMotel",
          "ReitIndustrial",
          "ReitMortage",
          "ReitOffice",
          "ReitResidental",
          "ReitRetail",
          "ReitSpeciality",
          "RealEstateEnd",
          "CommunicationEquipment",
          "ComputerHardware",
          "ConsumerElectronics",
          "ElectronicComponents",
          "ElectronicDistribution",
          "ItServices",
          "ScientificInstruments",
          "SemiconductorEquipment",
          "Semiconductors",
          "SoftwareApplication",
          "SoftwareInfrastructure",
          "Solar",
          "TechnologyEnd",
          "UtilitiesDiversified",
          "UtilitiesPowerProducers",
          "UtilitiesRenewable",
          "UtilitiesRegulatedElectric",
          "UtilitiesRegulatedGas",
          "UtilitiesRegulatedWater",
          "UtilitiesEnd",
          "CommoditiesAgricultural",
          "CommoditiesEnergy",
          "CommoditiesMetals",
          "CommoditiesPrecious",
          "CommoditiesEnd"
        ],
        "type": "string"
      },
      "EnInstantFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"FastConfirmation\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: FastConfirmation = 0x1.",
        "example": "FastConfirmation",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "FastConfirmation"
        ],
        "x-enum-values": [
          0,
          1
        ]
      },
      "EnInstantMode": {
        "enum": [
          "Normal"
        ],
        "type": "string",
        "description": "This enumeration is used in the following methods:<br />\r\nIMTConSymbol::IECheckMode IMTConGroupSymbol::IECheckMode<br />\r\nIMTConGroupSymbol::IECheckModeDefault"
      },
      "EnLogType": {
        "enum": [
          "Standard",
          "Logins",
          "Trades",
          "Errors",
          "Full",
          "Updater",
          "SendMail",
          "Failover"
        ],
        "type": "string"
      },
      "EnMailMode": {
        "enum": [
          "Disabled",
          "Full"
        ],
        "type": "string"
      },
      "EnManagerLimit": {
        "enum": [
          "All",
          "Months1",
          "Months3",
          "Months6",
          "Year1",
          "Year2",
          "Year3"
        ],
        "type": "string"
      },
      "EnManagerRights": {
        "enum": [
          "Admin",
          "Manager",
          "CfgServers",
          "CfgAccess",
          "CfgTime",
          "CfgHolidays",
          "CfgHstSync",
          "CfgSymbols",
          "CfgGroups",
          "CfgManagers",
          "CfgDataFeeds",
          "CfgRequests",
          "SrvJournals",
          "SrvReports",
          "Charts",
          "Email",
          "Accountant",
          "AccRead",
          "AccDetails",
          "AccManager",
          "AccOnline",
          "TradesRead",
          "TradesManager",
          "Quotes",
          "RiskManager",
          "Reports",
          "News",
          "CfgGateways",
          "CfgPlugins",
          "TradesDealer",
          "CfgReports",
          "Export",
          "SymbolDetails",
          "TechSupport",
          "TradesSupervisor",
          "QuotesRaw",
          "Market",
          "GrpDetailsMargin",
          "Notifications",
          "AccDelete",
          "TradesDelete",
          "ConfirmActions",
          "CfgEcn",
          "GrpDetailsCommission",
          "SubscriptionsView",
          "SubscriptionsEdit",
          "CfgFunds",
          "CfgMails",
          "CfgMessengers",
          "CfgKyc",
          "CfgAutomations",
          "CfgAllocations",
          "CfgVps",
          "CfgPayments",
          "AdminComputer",
          "CfgWebServices",
          "FintezaAccess",
          "FintezaWebsites",
          "FintezaCampaigns",
          "FintezaReports",
          "AccTechnical",
          "AccTechnicalModify",
          "ClientsAccess",
          "ClientsCreate",
          "ClientsEdit",
          "ClientsDelete",
          "DocumentsAccess",
          "DocumentsCreate",
          "DocumentsEdit",
          "DocumentsDelete",
          "DocumentsFilesAdd",
          "DocumentsFilesDelete",
          "CommentsAccess",
          "CommentsCreate",
          "CommentsDelete",
          "ClientsKYC"
        ],
        "type": "string"
      },
      "EnMarginCalcFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"ClearAcc\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: ClearAcc = 0x1.",
        "example": "ClearAcc",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "ClearAcc"
        ],
        "x-enum-values": [
          0,
          1
        ]
      },
      "EnMarginFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"CheckProcess, CheckSLTP\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: CheckProcess = 0x1, CheckSLTP = 0x2, HedgeLargeLeg = 0x4, ExcludePl = 0x8, RecalcRates = 0x10. Accepted on input, never written: All = CheckProcess, CheckSLTP, HedgeLargeLeg, ExcludePl.",
        "example": "CheckProcess, CheckSLTP",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "CheckProcess",
          "CheckSLTP",
          "HedgeLargeLeg",
          "ExcludePl",
          "RecalcRates"
        ],
        "x-enum-values": [
          0,
          1,
          2,
          4,
          8,
          16
        ]
      },
      "EnMarginMode": {
        "enum": [
          "Retail",
          "ExchangeDiscount",
          "RetailHedged"
        ],
        "type": "string"
      },
      "EnNewsMode": {
        "enum": [
          "Disabled",
          "Headers",
          "Full"
        ],
        "type": "string"
      },
      "EnOptionMode": {
        "enum": [
          "EuropeanCall",
          "EuropeanPut",
          "AmericanCall",
          "AmericanPut"
        ],
        "type": "string"
      },
      "EnOrderFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"Market, Limit\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: Market = 0x1, Limit = 0x2, Stop = 0x4, StopLimit = 0x8, SL = 0x10, TP = 0x20, CloseBy = 0x40. Accepted on input, never written: All = Market, Limit, Stop, StopLimit, SL, TP, CloseBy.",
        "example": "Market, Limit",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "Market",
          "Limit",
          "Stop",
          "StopLimit",
          "SL",
          "TP",
          "CloseBy"
        ],
        "x-enum-values": [
          0,
          1,
          2,
          4,
          8,
          16,
          32,
          64
        ]
      },
      "EnPermissionsFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"CertConfirm, EnableConnection\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: CertConfirm = 0x1, EnableConnection = 0x2, ResetPassword = 0x4, ForcedOtpUsage = 0x8, RiskWarning = 0x10, RegulationProtect = 0x20, NotifyDeals = 0x40, NotifyOrders = 0x80, NotifyBalances = 0x100. Accepted on input, never written: NotifyAll = NotifyDeals, NotifyOrders, NotifyBalances; All = CertConfirm, EnableConnection, ResetPassword, ForcedOtpUsage, RiskWarning, RegulationProtect, NotifyDeals, NotifyOrders, NotifyBalances.",
        "example": "CertConfirm, EnableConnection",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "CertConfirm",
          "EnableConnection",
          "ResetPassword",
          "ForcedOtpUsage",
          "RiskWarning",
          "RegulationProtect",
          "NotifyDeals",
          "NotifyOrders",
          "NotifyBalances"
        ],
        "x-enum-values": [
          0,
          1,
          2,
          4,
          8,
          16,
          32,
          64,
          128,
          256
        ]
      },
      "EnReportsFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"Email, Support\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: Email = 0x1, Support = 0x2, Statements = 0x4. Accepted on input, never written: All = Email, Statements.",
        "example": "Email, Support",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "Email",
          "Support",
          "Statements"
        ],
        "x-enum-values": [
          0,
          1,
          2,
          4
        ]
      },
      "EnReportsMode": {
        "enum": [
          "Disabled",
          "Full",
          "EODOnly",
          "EOMOnly"
        ],
        "type": "string"
      },
      "EnRequestFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"Order\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: Order = 0x1.",
        "example": "Order",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "Order"
        ],
        "x-enum-values": [
          0,
          1
        ]
      },
      "EnSectors": {
        "enum": [
          "Undefined",
          "BasicMaterials",
          "CommunicationServices",
          "ConsumerCyclical",
          "ConsumerDefensive",
          "Energy",
          "Financial",
          "Healthcare",
          "Industrials",
          "RealEstate",
          "Technology",
          "Utilities",
          "Currency",
          "CurrencyCrypto",
          "Indexes",
          "Commodities"
        ],
        "type": "string"
      },
      "EnSpliceTimeType": {
        "enum": [
          "Expiration"
        ],
        "type": "string"
      },
      "EnSpliceType": {
        "enum": [
          "None",
          "Unadjusted",
          "Adjusted"
        ],
        "type": "string"
      },
      "EnStopOutMode": {
        "enum": [
          "Percent",
          "Money"
        ],
        "type": "string"
      },
      "EnSwapDays": {
        "enum": [
          "Sunday",
          "Monday",
          "Tuesday",
          "Wednesday",
          "Thursday",
          "Friday",
          "Saturday",
          "Disabled"
        ],
        "type": "string"
      },
      "EnSwapFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"ConsiderHolidays\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: ConsiderHolidays = 0x1.",
        "example": "ConsiderHolidays",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "ConsiderHolidays"
        ],
        "x-enum-values": [
          0,
          1
        ]
      },
      "EnSwapMode": {
        "enum": [
          "Disabled",
          "ByPoints",
          "BySymbolCurrency",
          "ByMarginCurrency",
          "ByGroupCurrency",
          "ByInterestCurrent",
          "ByInterestOpen",
          "ReopenByClosePrice",
          "ReopenByBid",
          "ByProfitCurrency"
        ],
        "type": "string"
      },
      "EnTickFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"Realtime, CollectRaw\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: Realtime = 0x1, CollectRaw = 0x2, FeedStats = 0x4, NegativePrices = 0x8. Accepted on input, never written: All = Realtime, CollectRaw, FeedStats, NegativePrices.",
        "example": "Realtime, CollectRaw",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "Realtime",
          "CollectRaw",
          "FeedStats",
          "NegativePrices"
        ],
        "x-enum-values": [
          0,
          1,
          2,
          4,
          8
        ]
      },
      "EnTradeFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Common Trade Flags<br/>Flags: names of the set bits joined by \", \" (\"ProfitByMarket, AllowSignals\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: ProfitByMarket = 0x1, AllowSignals = 0x2. Accepted on input, never written: TradeFlagsAll = ProfitByMarket, AllowSignals.",
        "example": "ProfitByMarket, AllowSignals",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "ProfitByMarket",
          "AllowSignals"
        ],
        "x-enum-values": [
          0,
          1,
          2
        ]
      },
      "EnTradeMode": {
        "enum": [
          "Disabled",
          "LongOnly",
          "ShortOnly",
          "CloseOnly",
          "Full"
        ],
        "type": "string"
      },
      "EnTradeRightsFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"Swaps, Trailing\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: Swaps = 0x1, Trailing = 0x2, Experts = 0x4, Expiration = 0x8, SignalsAll = 0x10, SignalsOwn = 0x20, SOCompensation = 0x40, SOFullyHedged = 0x80, FifoClose = 0x100, HedgeProhibit = 0x200, DealCost = 0x400, SOCompensationCredit = 0x800. Accepted on input, never written: Default = Swaps, Trailing, Experts, Expiration, SignalsAll; All = Swaps, Trailing, Experts, Expiration, SignalsAll, SignalsOwn, SOCompensation, SOFullyHedged, FifoClose, HedgeProhibit, DealCost, SOCompensationCredit.",
        "example": "Swaps, Trailing",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "Swaps",
          "Trailing",
          "Experts",
          "Expiration",
          "SignalsAll",
          "SignalsOwn",
          "SOCompensation",
          "SOFullyHedged",
          "FifoClose",
          "HedgeProhibit",
          "DealCost",
          "SOCompensationCredit"
        ],
        "x-enum-values": [
          0,
          1,
          2,
          4,
          8,
          16,
          32,
          64,
          128,
          256,
          512,
          1024,
          2048
        ]
      },
      "EnTransferMode": {
        "enum": [
          "TransferModeDisabled",
          "TransferModeName",
          "TransferModeGroup",
          "TransferModeNameGroup"
        ],
        "type": "string"
      },
      "EntryFlag": {
        "enum": [
          "In",
          "Out",
          "InOut",
          "OutBy"
        ],
        "type": "string"
      },
      "GTCMode": {
        "enum": [
          "Daily",
          "GTC",
          "DailyNoStops"
        ],
        "type": "string"
      },
      "Genders": {
        "enum": [
          "Unspecified",
          "Male",
          "Female"
        ],
        "type": "string"
      },
      "GroupRights": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"Signals, Trailing\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: Signals = 0x1, Trailing = 0x2, Advisor = 0x4, Expiration = 0x8, SignalAll = 0x10, SignalsOwn = 0x20, RiskWarning = 0x40, ForcedOTPUsage = 0x80.",
        "example": "Signals, Trailing",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "Signals",
          "Trailing",
          "Advisor",
          "Expiration",
          "SignalAll",
          "SignalsOwn",
          "RiskWarning",
          "ForcedOTPUsage"
        ],
        "x-enum-values": [
          0,
          1,
          2,
          4,
          8,
          16,
          32,
          64,
          128
        ]
      },
      "HTTPError": {
        "type": "object",
        "properties": {
          "errorType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HttpStatusCodeType"
              }
            ],
            "description": "type of error described here"
          },
          "errorCode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HttpStatusCode"
              }
            ],
            "description": "If ErrorType is MT4API, it contains MT4 ManagerAPI response code.<br />\r\nIf ErrorType is MT5API, it contains MT5 ManagerAPI response code."
          },
          "errorDescription": {
            "type": "string",
            "description": "If ErrorType is MT4API, it contains MT4 ManagerAPI response code description.<br />\r\nIf ErrorType is MT5API, it contains MT5 ManagerAPI response code description.",
            "nullable": true
          },
          "requestId": {
            "type": "string",
            "description": "Unique request tracking ID",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "HttpStatusCode": {
        "enum": [
          "Continue",
          "SwitchingProtocols",
          "Processing",
          "EarlyHints",
          "OK",
          "Created",
          "Accepted",
          "NonAuthoritativeInformation",
          "NoContent",
          "ResetContent",
          "PartialContent",
          "MultiStatus",
          "AlreadyReported",
          "IMUsed",
          "MultipleChoices",
          "MovedPermanently",
          "Found",
          "SeeOther",
          "NotModified",
          "UseProxy",
          "Unused",
          "RedirectKeepVerb",
          "PermanentRedirect",
          "BadRequest",
          "Unauthorized",
          "PaymentRequired",
          "Forbidden",
          "NotFound",
          "MethodNotAllowed",
          "NotAcceptable",
          "ProxyAuthenticationRequired",
          "RequestTimeout",
          "Conflict",
          "Gone",
          "LengthRequired",
          "PreconditionFailed",
          "RequestEntityTooLarge",
          "RequestUriTooLong",
          "UnsupportedMediaType",
          "RequestedRangeNotSatisfiable",
          "ExpectationFailed",
          "MisdirectedRequest",
          "UnprocessableEntity",
          "Locked",
          "FailedDependency",
          "UpgradeRequired",
          "PreconditionRequired",
          "TooManyRequests",
          "RequestHeaderFieldsTooLarge",
          "UnavailableForLegalReasons",
          "InternalServerError",
          "NotImplemented",
          "BadGateway",
          "ServiceUnavailable",
          "GatewayTimeout",
          "HttpVersionNotSupported",
          "VariantAlsoNegotiates",
          "InsufficientStorage",
          "LoopDetected",
          "NotExtended",
          "NetworkAuthenticationRequired"
        ],
        "type": "string"
      },
      "HttpStatusCodeType": {
        "enum": [
          "HTTP",
          "MT4API",
          "MT5API"
        ],
        "type": "string",
        "description": "type of error described here"
      },
      "KYCStatuses": {
        "enum": [
          "Undefined",
          "Approved",
          "Declined"
        ],
        "type": "string"
      },
      "LiveUpdateMode": {
        "enum": [
          "No",
          "All",
          "NoServer"
        ],
        "type": "string"
      },
      "LogMessageType": {
        "enum": [
          "Ok",
          "Trade",
          "Login",
          "Warn",
          "Err",
          "Att"
        ],
        "type": "string"
      },
      "MT5Account": {
        "required": [
          "login"
        ],
        "type": "object",
        "properties": {
          "login": {
            "type": "integer",
            "description": "Get and set the login of the client, to whom the trading account belongs.",
            "format": "int64"
          },
          "currencyDigits": {
            "type": "integer",
            "description": "Get and set the number of decimal places in the account deposit currency.",
            "format": "int32",
            "nullable": true
          },
          "balance": {
            "type": "number",
            "description": "Get and set the balance of a trading account.",
            "format": "double",
            "nullable": true
          },
          "credit": {
            "type": "number",
            "description": "Get and set the current amount of credit given to an account.",
            "format": "double",
            "nullable": true
          },
          "margin": {
            "type": "number",
            "description": "Get and set the current value of the account margin.",
            "format": "double",
            "nullable": true
          },
          "marginFree": {
            "type": "number",
            "description": "Get and set the free margin of an account.",
            "format": "double",
            "nullable": true
          },
          "marginLevel": {
            "type": "number",
            "description": "Get and set the margin level as a percentage.",
            "format": "double",
            "nullable": true
          },
          "marginLeverage": {
            "type": "integer",
            "description": "Get and set the margin leverage.",
            "format": "int32",
            "nullable": true
          },
          "profit": {
            "type": "number",
            "description": "Get and set the size of the current profit for all open positions.",
            "format": "double",
            "nullable": true
          },
          "storage": {
            "type": "number",
            "description": "Get and set the current size of swaps charged for open positions on the account.",
            "format": "double",
            "nullable": true
          },
          "floating": {
            "type": "number",
            "description": "Get and set the size of floating profit/loss of open positions on the account.",
            "format": "double",
            "nullable": true
          },
          "equity": {
            "type": "number",
            "description": "Get and set account equity.",
            "format": "double",
            "nullable": true
          },
          "soActivation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SoActivation"
              }
            ],
            "description": "Get and set the account status as per the minimum amount of funds on the account required to maintain trading positions.",
            "nullable": true
          },
          "soTime": {
            "type": "string",
            "description": "Get and set the time when the Margin Call or Stop Out level was reached.",
            "format": "date-time",
            "nullable": true
          },
          "soLevel": {
            "type": "number",
            "description": "Get and set the margin level of an account at the time of reaching the Stop Out level.",
            "format": "double",
            "nullable": true
          },
          "soEquity": {
            "type": "number",
            "description": "Get and set the account equity at the time of reaching the Stop Out level.",
            "format": "double",
            "nullable": true
          },
          "soMargin": {
            "type": "number",
            "description": "Get and set the margin amount on an account at the time of reaching the Stop Out level.",
            "format": "double",
            "nullable": true
          },
          "blockedCommission": {
            "type": "number",
            "description": "Get and set the amount of the standard commission locked on the account, which has been accumulated during the day/month.",
            "format": "double",
            "nullable": true
          },
          "blockedProfit": {
            "type": "number",
            "description": "Get and set the amount of intraday profit locked on the account.",
            "format": "double",
            "nullable": true
          },
          "marginInitial": {
            "type": "number",
            "description": "Get and set the current size of the initial margin of positions on a trading account.",
            "format": "double",
            "nullable": true
          },
          "marginMaintenance": {
            "type": "number",
            "description": "Get and set the current size of the maintenance margin of positions on a trading account.",
            "format": "double",
            "nullable": true
          },
          "assets": {
            "type": "number",
            "description": "Get and set the current total amount of assets on a trading account.",
            "format": "double",
            "nullable": true
          },
          "liabilities": {
            "type": "number",
            "description": "Get and set the current total amount of liabilities on a trading account.",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MT5ChartBar": {
        "type": "object",
        "properties": {
          "dateTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "open": {
            "type": "number",
            "description": "Bar open price — price at the beginning of bar formation (beginning of a minute).",
            "format": "double",
            "nullable": true
          },
          "high": {
            "type": "number",
            "description": "The highest price inside the bar.",
            "format": "double",
            "nullable": true
          },
          "low": {
            "type": "number",
            "description": "The lowest price inside the bar.",
            "format": "double",
            "nullable": true
          },
          "close": {
            "type": "number",
            "description": "Bar close price — price at the end of bar formation (end of the minute)",
            "format": "double",
            "nullable": true
          },
          "tickVolume": {
            "type": "integer",
            "description": "Tick volume — number of ticks received during bar formation. The variable only counts the ticks that change the price based on which the bar is constructed (Bid or Last, depending on symbol settings). Several ticks in a row with the same price will be counted as one.",
            "format": "int64",
            "nullable": true
          },
          "spread": {
            "type": "integer",
            "description": "The lowest symbol spread recorded during the bar formation time.",
            "format": "int32",
            "nullable": true
          },
          "volume": {
            "type": "integer",
            "description": "The real volume of trades executed during bar formation.",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MT5Client": {
        "required": [
          "personName"
        ],
        "type": "object",
        "properties": {
          "recordID": {
            "type": "integer",
            "description": "record id",
            "format": "int64",
            "nullable": true
          },
          "clientType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientTypes"
              }
            ],
            "description": "client type",
            "nullable": true
          },
          "clientStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientStatuses"
              }
            ],
            "description": "client status",
            "nullable": true
          },
          "assignedManager": {
            "type": "integer",
            "description": "assigned manager",
            "format": "int64",
            "nullable": true
          },
          "complianceApprovedBy": {
            "type": "integer",
            "description": "compliance approved by",
            "format": "int64",
            "nullable": true
          },
          "complianceClientCategory": {
            "type": "string",
            "description": "compliance client category",
            "nullable": true
          },
          "complianceDateApproval": {
            "type": "string",
            "description": "compliance date approval",
            "format": "date-time",
            "nullable": true
          },
          "complianceDateTermination": {
            "type": "string",
            "description": "compliance date termination",
            "format": "date-time",
            "nullable": true
          },
          "leadCampaign": {
            "type": "string",
            "description": "lead campaign",
            "nullable": true
          },
          "leadSource": {
            "type": "string",
            "description": "lead source",
            "nullable": true
          },
          "introducer": {
            "type": "string",
            "description": "introducer",
            "nullable": true
          },
          "personTitle": {
            "type": "string",
            "description": "person title",
            "nullable": true
          },
          "personName": {
            "minLength": 1,
            "type": "string",
            "description": "person name"
          },
          "personMiddleName": {
            "type": "string",
            "description": "person middle name",
            "nullable": true
          },
          "personLastName": {
            "type": "string",
            "description": "person last name",
            "nullable": true
          },
          "personBirthDate": {
            "type": "string",
            "description": "person birth date<br />\r\nThe date of birth is specified in the FILETIME format: the number of 100-nanosecond intervals that have elapsed since January 1, 1601",
            "format": "date-time",
            "nullable": true
          },
          "personCitizenship": {
            "type": "string",
            "description": "person citizenship",
            "nullable": true
          },
          "personGender": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Genders"
              }
            ],
            "description": "person gender",
            "nullable": true
          },
          "personTaxID": {
            "type": "string",
            "description": "person taxid",
            "nullable": true
          },
          "personDocumentType": {
            "type": "string",
            "description": "person document type",
            "nullable": true
          },
          "personDocumentNumber": {
            "type": "string",
            "description": "person document number",
            "nullable": true
          },
          "personDocumentDate": {
            "type": "string",
            "description": "issue date of the identification document (of passport, driver's license, etc.).<br />\r\nin seconds since 01.01.1970 (UnixTime).",
            "format": "date-time",
            "nullable": true
          },
          "personDocumentExtra": {
            "type": "string",
            "description": "person document extra",
            "nullable": true
          },
          "personEmployment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Employment"
              }
            ],
            "description": "person employment",
            "nullable": true
          },
          "personIndustry": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EmploymentIndustry"
              }
            ],
            "description": "person industry",
            "nullable": true
          },
          "personEducation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EducationLevel"
              }
            ],
            "description": "person education",
            "nullable": true
          },
          "personWealthSource": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WealthSource"
              }
            ],
            "description": "person wealth source",
            "nullable": true
          },
          "personAnnualIncome": {
            "type": "number",
            "description": "person annual income",
            "format": "double",
            "nullable": true
          },
          "personNetWorth": {
            "type": "number",
            "description": "person net worth",
            "format": "double",
            "nullable": true
          },
          "personAnnualDeposit": {
            "type": "number",
            "description": "person annual deposit",
            "format": "double",
            "nullable": true
          },
          "companyName": {
            "type": "string",
            "description": "company name",
            "nullable": true
          },
          "companyRegNumber": {
            "type": "string",
            "description": "company registration number",
            "nullable": true
          },
          "companyRegDate": {
            "type": "string",
            "description": "Company registration date in seconds that elapsed since 01.01.1970 (UnixTime).",
            "format": "date-time",
            "nullable": true
          },
          "companyRegAuthority": {
            "type": "string",
            "description": "company registration authority",
            "nullable": true
          },
          "companyVAT": {
            "type": "string",
            "description": "company VAT",
            "nullable": true
          },
          "companyLEI": {
            "type": "string",
            "description": "company LEI",
            "nullable": true
          },
          "companyLicenseNumber": {
            "type": "string",
            "description": "company license number",
            "nullable": true
          },
          "companyLicenseAuthority": {
            "type": "string",
            "description": "company license authority",
            "nullable": true
          },
          "companyCountry": {
            "type": "string",
            "description": "company country",
            "nullable": true
          },
          "companyAddress": {
            "type": "string",
            "description": "company address",
            "nullable": true
          },
          "companyWebsite": {
            "type": "string",
            "description": "company website",
            "nullable": true
          },
          "contactPreferred": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PreferredCommunication"
              }
            ],
            "description": "contact preferred",
            "nullable": true
          },
          "contactLanguage": {
            "type": "string",
            "description": "contact language",
            "nullable": true
          },
          "contactEmail": {
            "type": "string",
            "description": "contact email",
            "nullable": true
          },
          "contactPhone": {
            "type": "string",
            "description": "contact phone",
            "nullable": true
          },
          "contactMessengers": {
            "type": "string",
            "description": "contact messengers",
            "nullable": true
          },
          "contactSocialNetworks": {
            "type": "string",
            "description": "contact social networks",
            "nullable": true
          },
          "contactLastDate": {
            "type": "string",
            "description": "Contact last date",
            "format": "date-time",
            "nullable": true
          },
          "addressCountry": {
            "type": "string",
            "description": "address country",
            "nullable": true
          },
          "addressPostcode": {
            "type": "string",
            "description": "address postcode",
            "nullable": true
          },
          "addressStreet": {
            "type": "string",
            "description": "address street",
            "nullable": true
          },
          "addressState": {
            "type": "string",
            "description": "address state",
            "nullable": true
          },
          "addressCity": {
            "type": "string",
            "description": "address city",
            "nullable": true
          },
          "experienceFX": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradingExperience"
              }
            ],
            "description": "experience of FX",
            "nullable": true
          },
          "experienceCFD": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradingExperience"
              }
            ],
            "description": "experience of CFD",
            "nullable": true
          },
          "experienceFutures": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradingExperience"
              }
            ],
            "description": "experience of Futures",
            "nullable": true
          },
          "experienceStocks": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradingExperience"
              }
            ],
            "description": "experience of Stocks",
            "nullable": true
          },
          "tradingGroup": {
            "type": "string",
            "description": "trading group",
            "nullable": true
          },
          "clientOrigin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientOrigins"
              }
            ],
            "description": "client origin",
            "nullable": true
          },
          "clientOriginLogin": {
            "type": "integer",
            "description": "client origin login",
            "format": "int64",
            "nullable": true
          },
          "clientExternalID": {
            "type": "string",
            "description": "external ID",
            "nullable": true
          },
          "personDocumentExpiration": {
            "type": "string",
            "description": "person document expiration date",
            "format": "date-time",
            "nullable": true
          },
          "kycStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KYCStatuses"
              }
            ],
            "description": "KYC status",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "description": "record creation date",
            "format": "date-time",
            "nullable": true
          },
          "dateModified": {
            "type": "string",
            "description": "record modification date",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Client record interface"
      },
      "MT5ConCommTier": {
        "type": "object",
        "properties": {
          "mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnCommissionMode"
              }
            ],
            "description": "EnCommissionMode",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnCommissionVolumeType"
              }
            ],
            "description": "EnCommissionVolumeType",
            "nullable": true
          },
          "value": {
            "type": "number",
            "description": "commission value",
            "format": "double",
            "nullable": true
          },
          "minimal": {
            "type": "number",
            "description": "minimal commission value",
            "format": "double",
            "nullable": true
          },
          "rangeFrom": {
            "type": "number",
            "description": "tier range from",
            "format": "double",
            "nullable": true
          },
          "rangeTo": {
            "type": "number",
            "description": "tier range to",
            "format": "double",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "description": "commission currency (for Mode==COMM_MONEY_SPECIFIED)",
            "nullable": true
          },
          "maximal": {
            "type": "number",
            "description": "maximal commission value",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MT5ConCommission": {
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 64,
            "type": "string",
            "description": "commission name",
            "nullable": true
          },
          "description": {
            "maxLength": 64,
            "type": "string",
            "description": "description",
            "nullable": true
          },
          "path": {
            "type": "string",
            "description": "symbols path",
            "nullable": true
          },
          "mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnCommMode"
              }
            ],
            "description": "EnCommMode",
            "nullable": true
          },
          "rangeMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnCommRangeMode"
              }
            ],
            "description": "EnCommRangeMode",
            "nullable": true
          },
          "chargeMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnCommChargeMode"
              }
            ],
            "description": "EnCommChargeMode",
            "nullable": true
          },
          "tiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MT5ConCommTier"
            },
            "description": "commission tiers. Index in array from 0 means Position of the range.",
            "nullable": true
          },
          "turnoverCurrency": {
            "type": "string",
            "description": "- turnover calculation currency",
            "nullable": true
          },
          "entryMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnCommEntryMode"
              }
            ],
            "description": "EnCommEntryMode",
            "nullable": true
          },
          "actionMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnCommActionMode"
              }
            ],
            "description": "EnCommActionMode",
            "nullable": true
          },
          "profitMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnCommProfitMode"
              }
            ],
            "description": "EnCommProfitMode",
            "nullable": true
          },
          "reasonFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnCommReasonFlags"
              }
            ],
            "description": "EnCommReasonFlags",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MT5ConGroup": {
        "type": "object",
        "properties": {
          "group": {
            "type": "string",
            "description": "group name",
            "nullable": true
          },
          "server": {
            "type": "integer",
            "description": "group trade server ID",
            "format": "int64",
            "nullable": true
          },
          "permissionsFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnPermissionsFlags"
              }
            ],
            "description": "EnPermissionsFlags",
            "nullable": true
          },
          "authMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnAuthMode"
              }
            ],
            "description": "EnAuthMode",
            "nullable": true
          },
          "authPasswordMin": {
            "type": "integer",
            "description": "minimal password length",
            "format": "int32",
            "nullable": true
          },
          "company": {
            "type": "string",
            "description": "company name",
            "nullable": true
          },
          "companyPage": {
            "type": "string",
            "description": "company web page URL",
            "nullable": true
          },
          "companyEmail": {
            "type": "string",
            "description": "company email",
            "nullable": true
          },
          "companySupportPage": {
            "type": "string",
            "description": "company support site URL",
            "nullable": true
          },
          "companySupportEmail": {
            "type": "string",
            "description": "company support email",
            "nullable": true
          },
          "companyCatalog": {
            "type": "string",
            "description": "company catalog name (for reports and email templates)",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "description": "deposit currency",
            "nullable": true
          },
          "currencyDigits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "reportsMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnReportsMode"
              }
            ],
            "description": "EnReportsMode",
            "nullable": true
          },
          "reportsFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnReportsFlags"
              }
            ],
            "description": "EnReportsFlags",
            "nullable": true
          },
          "reportsSMTP": {
            "type": "string",
            "description": "reports SMTP server address:ports",
            "nullable": true
          },
          "reportsSMTPLogin": {
            "type": "string",
            "description": "reports SMTP server login",
            "nullable": true
          },
          "reportsSMTPPass": {
            "type": "string",
            "description": "reports SMTP server password",
            "nullable": true
          },
          "newsMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnNewsMode"
              }
            ],
            "description": "EnNewsMode",
            "nullable": true
          },
          "newsCategory": {
            "type": "string",
            "description": "news category filter string",
            "nullable": true
          },
          "newsLang": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "<strong>Setter not yet implemented. If you want to send this value to MT5, ask vendor to implement this feature. Exception will be thrown if you send anything but null here.</strong>\r\n<br />\r\n<br />\r\n            allowed news languages (Windows API LANGID used)",
            "nullable": true
          },
          "mailMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnMailMode"
              }
            ],
            "description": "EnMailMode",
            "nullable": true
          },
          "tradeFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnTradeRightsFlags"
              }
            ],
            "description": "EnTradeFlags",
            "nullable": true
          },
          "tradeInterestRate": {
            "type": "number",
            "description": "interest rate for free deposit money",
            "format": "double",
            "nullable": true
          },
          "tradeVirtualCredit": {
            "type": "number",
            "description": "virtual credit",
            "format": "double",
            "nullable": true
          },
          "marginFreeMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnFreeMarginMode"
              }
            ],
            "description": "EnFreeMarginMode",
            "nullable": true
          },
          "marginSOMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnStopOutMode"
              }
            ],
            "description": "EnStopOutMode",
            "nullable": true
          },
          "marginCall": {
            "type": "number",
            "description": "Margin Call level value",
            "format": "double",
            "nullable": true
          },
          "marginStopOut": {
            "type": "number",
            "description": "Sto-Out level value",
            "format": "double",
            "nullable": true
          },
          "demoLeverage": {
            "type": "integer",
            "description": "default demo accounts leverage",
            "format": "int32",
            "nullable": true
          },
          "demoDeposit": {
            "type": "number",
            "description": "default demo accounts deposit",
            "format": "double",
            "nullable": true
          },
          "limitHistory": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnHistoryLimit"
              }
            ],
            "description": "EnHistoryLimit",
            "nullable": true
          },
          "limitOrders": {
            "type": "integer",
            "description": "max. order limit",
            "format": "int32",
            "nullable": true
          },
          "limitSymbols": {
            "type": "integer",
            "description": "max. selected symbols limit",
            "format": "int32",
            "nullable": true
          },
          "commissions": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/MT5ConCommission"
            },
            "description": "/// <strong>Setter not yet implemented. If you want to send this value to MT5, ask vendor to implement this feature. Exception will be thrown if you send anything but null here.</strong><br /><br />",
            "nullable": true
          },
          "marginFreeProfitMode": {
            "type": "integer",
            "description": "margin free profit accounting mode",
            "format": "int32",
            "nullable": true
          },
          "marginMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnMarginMode"
              }
            ],
            "description": "group risk management mode - EnMarginMode",
            "nullable": true
          },
          "authOTPMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnAuthOTPMode"
              }
            ],
            "description": "OTP authentication mode - EnAuthOTPMode",
            "nullable": true
          },
          "tradeTransferMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnTransferMode"
              }
            ],
            "description": "deposit transfer mode - EnTransferMode",
            "nullable": true
          },
          "marginFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnMarginCalcFlags"
              }
            ],
            "description": "margin calculation flags EnMarginFlags",
            "nullable": true
          },
          "limitPositions": {
            "type": "integer",
            "description": "max. positions limit",
            "format": "int32",
            "nullable": true
          },
          "reportsEmail": {
            "type": "string",
            "description": "reports SMTP email account",
            "nullable": true
          },
          "companyDepositPage": {
            "type": "string",
            "description": "company deposit URL",
            "nullable": true
          },
          "companyWithdrawalPage": {
            "type": "string",
            "description": "company deposit URL",
            "nullable": true
          },
          "demoInactivityPeriod": {
            "type": "integer",
            "description": "demo groups in days, orders and positions will be deleted after this period",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MT5ConManager": {
        "type": "object",
        "properties": {
          "login": {
            "type": "integer",
            "description": "Get and set the login of a manager",
            "format": "int64",
            "nullable": true
          },
          "mailbox": {
            "type": "string",
            "description": "Get and set the name of a manager's mailbox in the internal mail system.",
            "nullable": true
          },
          "server": {
            "type": "integer",
            "description": "Get and set the ID of the trade server, to which the manager belongs.",
            "format": "int64",
            "nullable": true
          },
          "limitLogs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnManagerLimit"
              }
            ],
            "description": "Get and set the time period of system logs available to a manager.",
            "nullable": true
          },
          "limitReports": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnManagerLimit"
              }
            ],
            "description": "Get and set the time period of reports available to a manager.",
            "nullable": true
          },
          "right": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EnManagerRights"
            },
            "description": "What is granted to manager.<br />\r\nFeatures not enlisted here means that such features is not permitted.<br />",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MT5ConTime": {
        "type": "object",
        "properties": {
          "timeZone": {
            "type": "integer",
            "description": "Get the time zone of a server\r\n<br />\r\nThe time zone of a server in minutes from GMT.<br /><br />\r\nExamples: 0 = GMT; -60 = GMT - 1; 60 = GMT + 1.",
            "format": "int32",
            "nullable": true
          },
          "timeServer": {
            "type": "string",
            "description": "Get the address of the current time synchronization server\r\n<br />\r\nSupports time synchronization through the TIME and NTP protocols.<br />\r\nThe maximum length of the address is 128 characters (including the sign of the string end). If a string of a greater length is assigned, it will be cut to this length",
            "nullable": true
          },
          "daylight": {
            "type": "boolean",
            "description": "Get the mode of switching to the daylight saving time",
            "nullable": true
          },
          "daylightState": {
            "type": "integer",
            "description": "Get data on the presence of the daylight saving time in the platform time zone",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MT5Deal": {
        "required": [
          "deal"
        ],
        "type": "object",
        "properties": {
          "deal": {
            "type": "integer",
            "description": "deal ticket",
            "format": "int64"
          },
          "externalID": {
            "type": "string",
            "description": "deal ticket in external system (exchange, ECN, etc)",
            "nullable": true
          },
          "login": {
            "type": "integer",
            "description": "client login",
            "format": "int64",
            "nullable": true
          },
          "dealer": {
            "type": "integer",
            "description": "processed dealer login (0-means auto)",
            "format": "int64",
            "nullable": true
          },
          "partyID": {
            "type": "integer",
            "description": "counterparty identification",
            "format": "int64",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "description": "deal order ticket",
            "format": "int64",
            "nullable": true
          },
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DealAction"
              }
            ],
            "description": "DealAction",
            "nullable": true
          },
          "entry": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EntryFlag"
              }
            ],
            "description": "EntryFlags",
            "nullable": true
          },
          "digits": {
            "type": "integer",
            "description": "price digits",
            "format": "int32",
            "nullable": true
          },
          "digitsCurrency": {
            "type": "integer",
            "description": "currency digits",
            "format": "int32",
            "nullable": true
          },
          "contractSize": {
            "type": "number",
            "description": "symbol contract size",
            "format": "double",
            "nullable": true
          },
          "time": {
            "type": "string",
            "description": "deal creation datetime in seconds. If the value of this field is specified, the IMTDeal::TimeMsc value will be filled in automatically.",
            "format": "date-time",
            "nullable": true
          },
          "symbol": {
            "type": "string",
            "description": "deal symbol",
            "nullable": true
          },
          "price": {
            "type": "number",
            "description": "deal price",
            "format": "double",
            "nullable": true
          },
          "priceSL": {
            "type": "number",
            "description": "order SL",
            "format": "double",
            "nullable": true
          },
          "priceTP": {
            "type": "number",
            "description": "order TP",
            "format": "double",
            "nullable": true
          },
          "volume": {
            "type": "integer",
            "description": "deal volume",
            "format": "int64",
            "nullable": true
          },
          "volumeExt": {
            "type": "integer",
            "description": "deal volume with extended accuracy",
            "format": "int64",
            "nullable": true
          },
          "volumeClosed": {
            "type": "integer",
            "description": "closed volume",
            "format": "int64",
            "nullable": true
          },
          "volumeClosedExt": {
            "type": "integer",
            "description": "closed volume with extended accuracy",
            "format": "int64",
            "nullable": true
          },
          "profit": {
            "type": "number",
            "description": "deal profit",
            "format": "double",
            "nullable": true
          },
          "value": {
            "type": "number",
            "description": "value",
            "format": "double",
            "nullable": true
          },
          "storage": {
            "type": "number",
            "description": "deal collected swaps",
            "format": "double",
            "nullable": true
          },
          "commission": {
            "type": "number",
            "description": "deal commission",
            "format": "double",
            "nullable": true
          },
          "obsoleteValue": {
            "type": "number",
            "description": "obsolete value",
            "format": "double",
            "nullable": true
          },
          "fee": {
            "type": "number",
            "description": "fee",
            "format": "double",
            "nullable": true
          },
          "rateProfit": {
            "type": "number",
            "description": "profit conversion rate (from symbol profit currency to deposit currency)",
            "format": "double",
            "nullable": true
          },
          "rateMargin": {
            "type": "number",
            "description": "margin conversion rate (from symbol margin currency to deposit currency)",
            "format": "double",
            "nullable": true
          },
          "expertID": {
            "type": "integer",
            "description": "expert id (filled by expert advisor)",
            "format": "int64",
            "nullable": true
          },
          "positionID": {
            "type": "integer",
            "description": "position id",
            "format": "int64",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "deal comment",
            "nullable": true
          },
          "profitRaw": {
            "type": "number",
            "description": "deal profit in symbol's profit currency",
            "format": "double",
            "nullable": true
          },
          "pricePosition": {
            "type": "number",
            "description": "closed position  price",
            "format": "double",
            "nullable": true
          },
          "tickValue": {
            "type": "number",
            "description": "tick value",
            "format": "double",
            "nullable": true
          },
          "tickSize": {
            "type": "number",
            "description": "tick size",
            "format": "double",
            "nullable": true
          },
          "flags": {
            "type": "integer",
            "description": "flags",
            "format": "int64",
            "nullable": true
          },
          "timeMsc": {
            "type": "string",
            "description": "deal creation datetime in msc since 1970.01.01. If the value of this field is specified, the IMTDeal::Time value will be filled in automatically",
            "format": "date-time",
            "nullable": true
          },
          "reason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DealReason"
              }
            ],
            "description": "DealReason",
            "nullable": true
          },
          "gateway": {
            "type": "string",
            "description": "source gateway name",
            "nullable": true
          },
          "priceGateway": {
            "type": "number",
            "description": "deal price on gateway",
            "format": "double",
            "nullable": true
          },
          "marketBid": {
            "type": "number",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            Get the market Bid price as at the time of deal execution by the server",
            "format": "double",
            "nullable": true
          },
          "marketAsk": {
            "type": "number",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            Get the market Ask price as at the time of deal execution by the server",
            "format": "double",
            "nullable": true
          },
          "marketLast": {
            "type": "number",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            Get the market Last price as at the time of deal execution by the server",
            "format": "double",
            "nullable": true
          },
          "modificationFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradeModifyFlags"
              }
            ],
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            modification flags",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MT5Error": {
        "type": "object",
        "properties": {
          "errorDescription": {
            "type": "string",
            "description": "MT5 ManagerAPI response code description.",
            "nullable": true
          },
          "errorCode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MT5Result"
              }
            ],
            "description": "MT5 ManagerAPI response code"
          },
          "errorType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MT5ResultType"
              }
            ],
            "description": "type of error described here"
          },
          "requestId": {
            "type": "string",
            "description": "Unique request tracking ID",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "MT5Order": {
        "type": "object",
        "properties": {
          "order": {
            "type": "integer",
            "description": "order ticket",
            "format": "int64",
            "nullable": true
          },
          "externalID": {
            "type": "string",
            "description": "order ticket in external system (exchange, ECN, etc)",
            "nullable": true
          },
          "login": {
            "type": "integer",
            "description": "client login",
            "format": "int64",
            "nullable": true
          },
          "dealer": {
            "type": "integer",
            "description": "processed dealer login (0-means auto)",
            "format": "int64",
            "nullable": true
          },
          "partyID": {
            "type": "integer",
            "description": "counterparty identification",
            "format": "int64",
            "nullable": true
          },
          "symbol": {
            "type": "string",
            "description": "order symbol",
            "nullable": true
          },
          "digits": {
            "type": "integer",
            "description": "price digits",
            "format": "int32",
            "nullable": true
          },
          "digitsCurrency": {
            "type": "integer",
            "description": "currency digits",
            "format": "int32",
            "nullable": true
          },
          "contractSize": {
            "type": "number",
            "description": "contract size",
            "format": "double",
            "nullable": true
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderState"
              }
            ],
            "description": "OrderState",
            "nullable": true
          },
          "reason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderReason"
              }
            ],
            "description": "OrderReason",
            "nullable": true
          },
          "timeSetup": {
            "type": "string",
            "description": "order setup time",
            "format": "date-time",
            "nullable": true
          },
          "timeExpiration": {
            "type": "string",
            "description": "order expiration",
            "format": "date-time",
            "nullable": true
          },
          "timeDone": {
            "type": "string",
            "description": "order filling/cancel time",
            "format": "date-time",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderType"
              }
            ],
            "description": "OrderType",
            "nullable": true
          },
          "typeFill": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderFilling"
              }
            ],
            "description": "OrderFilling",
            "nullable": true
          },
          "typeTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderTime"
              }
            ],
            "description": "OrderTime",
            "nullable": true
          },
          "priceOrder": {
            "type": "number",
            "description": "order price",
            "format": "double",
            "nullable": true
          },
          "priceTrigger": {
            "type": "number",
            "description": "order trigger price (stop-limit price)",
            "format": "double",
            "nullable": true
          },
          "priceCurrent": {
            "type": "number",
            "description": "order current price",
            "format": "double",
            "nullable": true
          },
          "priceSL": {
            "type": "number",
            "description": "order SL",
            "format": "double",
            "nullable": true
          },
          "priceTP": {
            "type": "number",
            "description": "order TP",
            "format": "double",
            "nullable": true
          },
          "volumeInitial": {
            "type": "integer",
            "description": "order initial volume",
            "format": "int64",
            "nullable": true
          },
          "volumeCurrent": {
            "type": "integer",
            "description": "order current volume",
            "format": "int64",
            "nullable": true
          },
          "expertID": {
            "type": "integer",
            "description": "expert id (filled by expert advisor)",
            "format": "int64",
            "nullable": true
          },
          "positionID": {
            "type": "integer",
            "description": "position id",
            "format": "int64",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "order comment",
            "nullable": true
          },
          "activationMode": {
            "type": "integer",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            order activation state, time and price",
            "format": "int32",
            "nullable": true
          },
          "activationTime": {
            "type": "string",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />",
            "format": "date-time",
            "nullable": true
          },
          "activationPrice": {
            "type": "number",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            Gets the price, at which the order was activated",
            "format": "double",
            "nullable": true
          },
          "activationFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradeActivationFlags"
              }
            ],
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />",
            "nullable": true
          },
          "timeSetupMsc": {
            "type": "string",
            "description": "Gets and sets the order placing time in milliseconds, since 1970.01.01\r\n<br /><strong>If the value of this field is specified, the TimeSetup value will be filled in automatically.</strong>",
            "format": "date-time",
            "nullable": true
          },
          "timeDoneMsc": {
            "type": "string",
            "description": "Gets and sets the order execution time in milliseconds, since 1970.01.01\r\n<br /><strong>If the value of this field is specified, the TimeDone value will be filled in automatically.</strong>",
            "format": "date-time",
            "nullable": true
          },
          "rateMargin": {
            "type": "number",
            "description": "margin conversion rate (from symbol margin currency to deposit currency)",
            "format": "double",
            "nullable": true
          },
          "positionByID": {
            "type": "integer",
            "description": "position by id",
            "format": "int64",
            "nullable": true
          },
          "modificationFlags": {
            "type": "integer",
            "description": "modification flags",
            "format": "int32",
            "nullable": true
          },
          "volumeInitialExt": {
            "type": "integer",
            "description": "order initial volume with extended accuracy",
            "format": "int64",
            "nullable": true
          },
          "volumeCurrentExt": {
            "type": "integer",
            "description": "order current volume with extended accuracy",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MT5Position": {
        "type": "object",
        "properties": {
          "login": {
            "type": "integer",
            "description": "Gets the login of the client, to whom the trade position belongs",
            "format": "int64",
            "nullable": true
          },
          "symbol": {
            "type": "string",
            "description": "position symbol",
            "nullable": true
          },
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositionActions"
              }
            ],
            "description": "PositionAction",
            "nullable": true
          },
          "digits": {
            "type": "integer",
            "description": "price digits",
            "format": "int32",
            "nullable": true
          },
          "digitsCurrency": {
            "type": "integer",
            "description": "currency digits",
            "format": "int32",
            "nullable": true
          },
          "contractSize": {
            "type": "number",
            "description": "symbol contract size",
            "format": "double",
            "nullable": true
          },
          "position": {
            "type": "integer",
            "description": "position ticket",
            "format": "int64",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "description": "The ticket of a position in an external trading system",
            "nullable": true
          },
          "timeCreate": {
            "type": "string",
            "description": "position create time",
            "format": "date-time",
            "nullable": true
          },
          "timeUpdate": {
            "type": "string",
            "description": "position last update time",
            "format": "date-time",
            "nullable": true
          },
          "timeCreateMsc": {
            "type": "string",
            "description": "position create time in msc since 1970.01.01\r\n<br /><strong>If the value of this field is specified, the TimeCreate value will be filled in automatically.</strong>",
            "format": "date-time",
            "nullable": true
          },
          "timeUpdateMsc": {
            "type": "string",
            "description": "position last update time in msc since 1970.01.01\r\n<br /><strong>If the value of this field is specified, the TimeUpdate value will be filled in automatically.</strong>",
            "format": "date-time",
            "nullable": true
          },
          "priceOpen": {
            "type": "number",
            "description": "position weighted average open price",
            "format": "double",
            "nullable": true
          },
          "priceCurrent": {
            "type": "number",
            "description": "position current price",
            "format": "double",
            "nullable": true
          },
          "priceSL": {
            "type": "number",
            "description": "position SL price",
            "format": "double",
            "nullable": true
          },
          "priceTP": {
            "type": "number",
            "description": "position TP price",
            "format": "double",
            "nullable": true
          },
          "volume": {
            "type": "integer",
            "description": "position volume",
            "format": "int64",
            "nullable": true
          },
          "volumeExt": {
            "type": "integer",
            "description": "position volume",
            "format": "int64",
            "nullable": true
          },
          "profit": {
            "type": "number",
            "description": "position floating profit",
            "format": "double",
            "nullable": true
          },
          "storage": {
            "type": "number",
            "description": "position accumulated swaps",
            "format": "double",
            "nullable": true
          },
          "rateProfit": {
            "type": "number",
            "description": "profit conversion rate (from symbol profit currency to deposit currency)",
            "format": "double",
            "nullable": true
          },
          "rateMargin": {
            "type": "number",
            "description": "margin conversion rate (from symbol margin currency to deposit currency)",
            "format": "double",
            "nullable": true
          },
          "expertId": {
            "type": "integer",
            "description": "expert id (filled by expert advisor)",
            "format": "int64",
            "nullable": true
          },
          "expertPositionId": {
            "type": "integer",
            "description": "expert position id",
            "format": "int64",
            "nullable": true
          },
          "comment": {
            "maxLength": 32,
            "type": "string",
            "description": "",
            "nullable": true
          },
          "dealer": {
            "type": "integer",
            "description": "The login of a dealer, who has processed the order that opened the position. 0 means that the order was processed automatically by the server",
            "format": "int64",
            "nullable": true
          },
          "activationMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActivationModes"
              }
            ],
            "description": "order activation state, time and price",
            "nullable": true
          },
          "activationTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "activationPrice": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "activationFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradeActivationFlags"
              }
            ],
            "nullable": true
          },
          "modificationFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradeModifyFlags"
              }
            ],
            "description": "modification flags",
            "nullable": true
          },
          "reason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositionReasons"
              }
            ],
            "description": "position reason - PositionReason",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MT5Request": {
        "required": [
          "action",
          "login",
          "priceOrder",
          "symbol",
          "type",
          "volume"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            request id",
            "format": "int32",
            "nullable": true
          },
          "login": {
            "type": "integer",
            "description": "client login",
            "format": "int64"
          },
          "group": {
            "type": "string",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />",
            "nullable": true
          },
          "symbol": {
            "minLength": 1,
            "type": "string",
            "description": "symbol"
          },
          "digits": {
            "type": "integer",
            "description": "price digits",
            "format": "int32",
            "nullable": true
          },
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradeActions"
              }
            ],
            "description": "TradeActions"
          },
          "timeExpiration": {
            "type": "string",
            "description": "order expiration",
            "format": "date-time",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderType"
              }
            ],
            "description": "order type IMTOrder::OrderType"
          },
          "typeFill": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderFilling"
              }
            ],
            "description": "IMTOrder::OrderFilling",
            "nullable": true
          },
          "typeTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderTime"
              }
            ],
            "description": "IMTOrder::OrderTime",
            "nullable": true
          },
          "flags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradeActionFlags"
              }
            ],
            "description": "additional flags TradeActionFlags",
            "nullable": true
          },
          "volume": {
            "type": "integer",
            "description": "1 lot = 10_000",
            "format": "int64"
          },
          "order": {
            "type": "integer",
            "description": "order ticket",
            "format": "int64",
            "nullable": true
          },
          "orderExternalID": {
            "type": "string",
            "description": "order ticket in external system (exchange, ECN, etc)",
            "nullable": true
          },
          "priceOrder": {
            "type": "number",
            "description": "order price",
            "format": "double"
          },
          "priceTrigger": {
            "type": "number",
            "description": "order trigger price",
            "format": "double",
            "nullable": true
          },
          "priceSL": {
            "type": "number",
            "description": "order SL price",
            "format": "double",
            "nullable": true
          },
          "priceTP": {
            "type": "number",
            "description": "order TP price",
            "format": "double",
            "nullable": true
          },
          "priceDeviation": {
            "type": "integer",
            "description": "price deviation details",
            "format": "int64",
            "nullable": true
          },
          "priceDeviationTop": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "priceDeviationBottom": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "comment",
            "nullable": true
          },
          "resultRetCode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MT5Result"
              }
            ],
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            request result information",
            "nullable": true
          },
          "resultDealer": {
            "type": "integer",
            "description": "request result deal\r\nrequest dealer",
            "format": "int64",
            "nullable": true
          },
          "resultDeal": {
            "type": "integer",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            request result deal",
            "format": "int64",
            "nullable": true
          },
          "resultOrder": {
            "type": "integer",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            request result order",
            "format": "int64",
            "nullable": true
          },
          "resultVolume": {
            "type": "integer",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            request result confirmed volume",
            "format": "int64",
            "nullable": true
          },
          "resultPrice": {
            "type": "number",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            request result confirmed price",
            "format": "double",
            "nullable": true
          },
          "resultDealerBid": {
            "type": "number",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            request result dealer prices",
            "format": "double",
            "nullable": true
          },
          "resultDealerAsk": {
            "type": "number",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />",
            "format": "double",
            "nullable": true
          },
          "resultDealerLast": {
            "type": "number",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />",
            "format": "double",
            "nullable": true
          },
          "resultMarketBid": {
            "type": "number",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            request result market prices",
            "format": "double",
            "nullable": true
          },
          "resultMarketAsk": {
            "type": "number",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />",
            "format": "double",
            "nullable": true
          },
          "resultMarketLast": {
            "type": "number",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />",
            "format": "double",
            "nullable": true
          },
          "resultComment": {
            "type": "string",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            request result comment",
            "nullable": true
          },
          "externalAccount": {
            "type": "string",
            "description": "external system trade account (exchange, ECN, etc)",
            "nullable": true
          },
          "idClient": {
            "type": "integer",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            client side request id",
            "format": "int32",
            "nullable": true
          },
          "ip": {
            "type": "string",
            "description": "source request ip",
            "nullable": true
          },
          "sourceLogin": {
            "type": "integer",
            "description": "source dealer login (for dealer transaction)",
            "format": "int64",
            "nullable": true
          },
          "position": {
            "type": "integer",
            "description": "position ticket",
            "format": "int64",
            "nullable": true
          },
          "positionBy": {
            "type": "integer",
            "description": "position ticket for close-by",
            "format": "int64",
            "nullable": true
          },
          "positionExternalID": {
            "type": "string",
            "description": "position ticket in external system (exchange, ECN, etc)",
            "nullable": true
          },
          "positionByExternalID": {
            "type": "string",
            "description": "position ticket in external system (exchange, ECN, etc)",
            "nullable": true
          },
          "volumeExt": {
            "type": "integer",
            "description": "volume with extended accuracy, 1 lot = 100_000_000",
            "format": "int64",
            "nullable": true
          },
          "resultVolumeExt": {
            "type": "integer",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />\r\n            request result confirmed volume with extended accuracy",
            "format": "int64",
            "nullable": true
          },
          "volumeCurrent": {
            "type": "integer",
            "description": "current order volume",
            "format": "int64",
            "nullable": true
          },
          "volumeCurrentExt": {
            "type": "integer",
            "description": "current order volume",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MT5Result": {
        "enum": [
          "Ok",
          "OkNone",
          "Error",
          "ErrParams",
          "ErrData",
          "ErrDisk",
          "ErrMem",
          "ErrNetwork",
          "ErrPermissions",
          "ErrTimeout",
          "ErrConnection",
          "ErrNoService",
          "ErrFrequent",
          "ErrNotfound",
          "ErrPartial",
          "ErrShutdown",
          "ErrCancel",
          "ErrDuplicate",
          "AuthClientInvalid",
          "AuthAccountInvalid",
          "AuthAccountDisabled",
          "AuthAdvanced",
          "AuthCertificate",
          "AuthCertificateBad",
          "AuthNotConfirmed",
          "AuthServerInternal",
          "AuthServerBad",
          "AuthUpdateOnly",
          "AuthClientOld",
          "AuthManagerNoConfig",
          "AuthManagerIPBlock",
          "AuthGroupInvalid",
          "AuthCaDisabled",
          "AuthInvalidID",
          "AuthInvalidIp",
          "AuthInvalidType",
          "AuthServerBusy",
          "AuthServerCert",
          "AuthAccountUnknown",
          "AuthServerOld",
          "AuthServerLimit",
          "AuthMobileDisabled",
          "AuthManagerType",
          "AuthDemoDisabled",
          "AuthResetPassword",
          "AuthOTPInvalid",
          "AuthOTPNeedSecret",
          "AuthMigrationMT4",
          "AuthMigrationMT5",
          "AuthInvalidVerify",
          "AuthVerifyBadEmail",
          "AuthVerifyBadPhone",
          "AuthAPIDisabled",
          "CfgLastAdmin",
          "CfgLastAdminGroup",
          "CfgNotEmpty",
          "CfgInvalidRange",
          "CfgNotManagerLogin",
          "CfgBuiltin",
          "CfgDuplicate",
          "CfgLimitReached",
          "CfgNoAccessToMain",
          "CfgDealerIDExist",
          "CfgBindAddressExist",
          "CfgWorkingTrade",
          "CfgGatewayNameExist",
          "CfgSwitchToBackup",
          "CfgNoBackupModule",
          "CfgNoTradeModule",
          "CfgNoHistoryModule",
          "CfgAnotherSwitch",
          "CfgNoLicenseFile",
          "CfgGatewayLoginExist",
          "CfgInvalidCompany",
          "UsrLastAdmin",
          "UsrLoginExhausted",
          "UsrLoginProhibited",
          "UsrLoginExist",
          "UsrSuicide",
          "UsrInvalidPassword",
          "UsrLimitReached",
          "UsrHasTrades",
          "UsrDifferentServers",
          "UsrDifferentCurrency",
          "UsrImportBalance",
          "UsrImportGroup",
          "UsrAccountExist",
          "UsrImportAccount",
          "UsrImportPositions",
          "UsrImportOrders",
          "UsrImportDeals",
          "UsrImportHistory",
          "UsrAPILimitReached",
          "TradeLimitReached",
          "TradeOrderExist",
          "TradeOrderExhausted",
          "TradeDealExhausted",
          "TradeMaxMoney",
          "TradeDealExist",
          "TradeOrderProhibited",
          "TradeDealProhibited",
          "TradeSplitVolume",
          "ReportSnapshot",
          "ReportNotSupported",
          "ReportNodata",
          "ReportTemplateBad",
          "ReportTemplateEnd",
          "ReportInvalidRow",
          "ReportLimitRepeat",
          "ReportLimitReport",
          "HstSymbolNotfound",
          "RequestInWay",
          "RequestAccepted",
          "RequestProcess",
          "RequestRequote",
          "RequestPrices",
          "RequestReject",
          "RequestCancel",
          "RequestPlaced",
          "RequestDone",
          "RequestDonePartial",
          "RequestError",
          "RequestTimeout",
          "RequestInvalid",
          "RequestInvalidVolume",
          "RequestInvalidPrice",
          "RequestInvalidStops",
          "RequestTradeDisabled",
          "RequestMarketClosed",
          "RequestNoMoney",
          "RequestPriceChanged",
          "RequestPriceOff",
          "RequestInvalidExp",
          "RequestOrderChanged",
          "RequestTooMany",
          "RequestNoChanges",
          "RequestAtDisabledServer",
          "RequestAtDisabledClient",
          "RequestLocked",
          "RequestFrozen",
          "RequestInvalidFill",
          "RequestConnection",
          "RequestOnlyReal",
          "RequestLimitOrders",
          "RequestLimitVolume",
          "RequestInvalidOrder",
          "RequestPositionClosed",
          "RequestExecutionSkipped",
          "RequestInvalidCloseVolume",
          "RequestCloseOrderExist",
          "RequestLimitPositions",
          "RequestRejectCancel",
          "RequestLongOnly",
          "RequestShortOnly",
          "RequestCloseOnly",
          "RequestProhibitedByFifo",
          "RequestHedgeProhibited",
          "RequestReturn",
          "RequestDoneCancel",
          "RequestRequoteReturn",
          "ErrNotImplement",
          "ErrNotMain",
          "ErrNotSupported",
          "ErrDeadlock",
          "ErrLocked",
          "MessengerInvalidPhone",
          "MessengerNotMobile",
          "SubsNotFound",
          "SubsNotFoundCfg",
          "SubsNotFoundUser",
          "SubsDisabled",
          "SubsPermissionUser",
          "SubsPermissionSubscribe",
          "SubsPermissionUnsubscribe",
          "SubsRealOnly",
          "SubsPaymentMethod",
          "PayRealOnly",
          "PayInvalidAmount",
          "PayNotAllowedDeposit",
          "PayNotAllowedWithdrawal",
          "PayNotAllowedGroup",
          "PayNotAllowedCountry",
          "PayDeclineByRules",
          "PayDeclineByAml",
          "PayLimitDepositMin",
          "PayLimitDepositMax",
          "PayLimitWithdrawalMin",
          "PayLimitWithdrawalMax",
          "PayProviderPayment",
          "PayProviderStatus",
          "PayConversion",
          "PayNotWaiting",
          "PayVerification",
          "PayInvoice",
          "PayInvalidCurrency",
          "PayLimitReached",
          "PayProviderRefund",
          "PayDeclineByCardholderName"
        ],
        "type": "string"
      },
      "MT5ResultType": {
        "enum": [
          "HTTP",
          "MT4API",
          "MT5API"
        ],
        "type": "string",
        "description": "type of error described here"
      },
      "MT5Symbol": {
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "description": "name",
            "nullable": true
          },
          "path": {
            "type": "string",
            "description": "hierarchical symbol path (including symbol name)",
            "nullable": true
          },
          "isin": {
            "type": "string",
            "description": "ISIN",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "local description",
            "nullable": true
          },
          "international": {
            "type": "string",
            "description": "internation description",
            "nullable": true
          },
          "basis": {
            "type": "string",
            "description": "basic symbol name",
            "nullable": true
          },
          "source": {
            "type": "string",
            "description": "source symbol name",
            "nullable": true
          },
          "page": {
            "type": "string",
            "description": "symbol specification page URL",
            "nullable": true
          },
          "currencyBase": {
            "type": "string",
            "description": "symbol base currency",
            "nullable": true
          },
          "currencyBaseDigits": {
            "type": "integer",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />",
            "format": "int32",
            "nullable": true
          },
          "currencyProfit": {
            "type": "string",
            "description": "symbol profit currency",
            "nullable": true
          },
          "currencyProfitDigits": {
            "type": "integer",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />",
            "format": "int32",
            "nullable": true
          },
          "currencyMargin": {
            "type": "string",
            "description": "symbol margin currency",
            "nullable": true
          },
          "currencyMarginDigits": {
            "type": "integer",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />",
            "format": "int32",
            "nullable": true
          },
          "color": {
            "type": "integer",
            "description": "symbol color",
            "format": "int32",
            "nullable": true
          },
          "colorBackground": {
            "type": "integer",
            "description": "symbol background color",
            "format": "int32",
            "nullable": true
          },
          "digits": {
            "type": "integer",
            "description": "symbol digits",
            "format": "int32",
            "nullable": true
          },
          "point": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "multiply": {
            "type": "number",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />",
            "format": "double",
            "nullable": true
          },
          "tickFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnTickFlags"
              }
            ],
            "description": "EnTickFlags",
            "nullable": true
          },
          "tickBookDepth": {
            "type": "integer",
            "description": "Depth of Market depth (both legs)",
            "format": "int32",
            "nullable": true
          },
          "filterSoft": {
            "type": "integer",
            "description": "filtration soft level",
            "format": "int32",
            "nullable": true
          },
          "filterSoftTicks": {
            "type": "integer",
            "description": "filtration soft level counter",
            "format": "int32",
            "nullable": true
          },
          "filterHard": {
            "type": "integer",
            "description": "filtration hard level",
            "format": "int32",
            "nullable": true
          },
          "filterHardTicks": {
            "type": "integer",
            "description": "filtration hard level counter",
            "format": "int32",
            "nullable": true
          },
          "filterDiscard": {
            "type": "integer",
            "description": "filtration discard level",
            "format": "int32",
            "nullable": true
          },
          "filterSpreadMax": {
            "type": "integer",
            "description": "spread max value",
            "format": "int32",
            "nullable": true
          },
          "filterSpreadMin": {
            "type": "integer",
            "description": "spread min value",
            "format": "int32",
            "nullable": true
          },
          "tradeMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnTradeMode"
              }
            ],
            "description": "EnTradeMode",
            "nullable": true
          },
          "calcMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnCalcMode"
              }
            ],
            "description": "EnCalcMode",
            "nullable": true
          },
          "execMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnExecutionMode"
              }
            ],
            "description": "EnExecutionMode",
            "nullable": true
          },
          "gtcMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnGtcMode"
              }
            ],
            "description": "EnGTCMode",
            "nullable": true
          },
          "fillFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnFillingFlags"
              }
            ],
            "description": "EnFillingFlags",
            "nullable": true
          },
          "expirFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnExpirationFlags"
              }
            ],
            "description": "EnExpirationFlags",
            "nullable": true
          },
          "spread": {
            "type": "integer",
            "description": "symbol spread (0-floating)",
            "format": "int32",
            "nullable": true
          },
          "spreadBalance": {
            "type": "integer",
            "description": "spread balance",
            "format": "int32",
            "nullable": true
          },
          "spreadDiff": {
            "type": "integer",
            "description": "spread difference",
            "format": "int32",
            "nullable": true
          },
          "spreadDiffBalance": {
            "type": "integer",
            "description": "spread difference balance",
            "format": "int32",
            "nullable": true
          },
          "tickValue": {
            "type": "number",
            "description": "tick value",
            "format": "double",
            "nullable": true
          },
          "tickSize": {
            "type": "number",
            "description": "tick size",
            "format": "double",
            "nullable": true
          },
          "contractSize": {
            "type": "number",
            "description": "contract size",
            "format": "double",
            "nullable": true
          },
          "stopsLevel": {
            "type": "integer",
            "description": "stops level",
            "format": "int32",
            "nullable": true
          },
          "freezeLevel": {
            "type": "integer",
            "description": "freeze level",
            "format": "int32",
            "nullable": true
          },
          "quotesTimeout": {
            "type": "integer",
            "description": "The time to wait for quotes in seconds, after which trading is automatically disabled for the symbol.",
            "format": "int32",
            "nullable": true
          },
          "volumeMin": {
            "type": "integer",
            "description": "minimal volume",
            "format": "int64",
            "nullable": true
          },
          "volumeMax": {
            "type": "integer",
            "description": "maximal volume",
            "format": "int64",
            "nullable": true
          },
          "volumeStep": {
            "type": "integer",
            "description": "volume step",
            "format": "int64",
            "nullable": true
          },
          "volumeLimit": {
            "type": "integer",
            "description": "cumulative positions and orders limit",
            "format": "int64",
            "nullable": true
          },
          "marginFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnMarginFlags"
              }
            ],
            "description": "EnMarginFlags",
            "nullable": true
          },
          "marginInitial": {
            "type": "number",
            "description": "initial margin",
            "format": "double",
            "nullable": true
          },
          "marginMaintenance": {
            "type": "number",
            "description": "maintenance margin",
            "format": "double",
            "nullable": true
          },
          "marginLong": {
            "type": "number",
            "description": "long orders and positions margin rate",
            "format": "double",
            "nullable": true
          },
          "marginShort": {
            "type": "number",
            "description": "short orders and positions margin rate",
            "format": "double",
            "nullable": true
          },
          "marginLimit": {
            "type": "number",
            "description": "limit orders and positions margin rate",
            "format": "double",
            "nullable": true
          },
          "marginStop": {
            "type": "number",
            "description": "stop orders and positions margin rate",
            "format": "double",
            "nullable": true
          },
          "marginStopLimit": {
            "type": "number",
            "description": "stop-limit orders and positions margin rate",
            "format": "double",
            "nullable": true
          },
          "swapMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnSwapMode"
              }
            ],
            "description": "EnSwapMode",
            "nullable": true
          },
          "swapLong": {
            "type": "number",
            "description": "long positions swaps rate",
            "format": "double",
            "nullable": true
          },
          "swapShort": {
            "type": "number",
            "description": "short positions swaps rate",
            "format": "double",
            "nullable": true
          },
          "swap3Day": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnSwapDays"
              }
            ],
            "description": "3 time swaps day, EnSwapDay",
            "nullable": true
          },
          "timeStart": {
            "type": "string",
            "description": "trade start date",
            "format": "date-time",
            "nullable": true
          },
          "timeExpiration": {
            "type": "string",
            "description": "The date of trading expiration for a symbol.<br />\r\nIt is considered that there is no time limitation for trading by a symbol if both IMTConSymbol::TimeStart and IMTConSymbol::TimeExpiration are equal to 0.",
            "format": "date-time",
            "nullable": true
          },
          "sessionQuote": {
            "maxItems": 7,
            "minItems": 7,
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/MT5SymbolSession"
              }
            },
            "description": "<strong>Not yet implemented. Contact us for further information</strong>\r\n<br />\r\n<br />\r\n            Update a quoting session of a symbol by the day and index. The day is specified by a value 0 (Sunday) to 6 (Saturday).",
            "nullable": true
          },
          "sessionTrade": {
            "maxItems": 7,
            "minItems": 7,
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/MT5SymbolSession"
              }
            },
            "description": "<strong>Not yet implemented. Contact us for further information</strong>\r\n<br />\r\n<br />",
            "nullable": true
          },
          "reFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnRequestFlags"
              }
            ],
            "description": "request execution flags",
            "nullable": true
          },
          "reTimeout": {
            "type": "integer",
            "description": "Time in seconds during which the price issued by a dealer in the request execution mode is valid.",
            "format": "int32",
            "nullable": true
          },
          "ieCheckMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnInstantMode"
              }
            ],
            "description": "instant execution check mode",
            "nullable": true
          },
          "ieTimeout": {
            "type": "integer",
            "description": "Get and set the maximum allowed difference between the time of arrival of the price, at which the client places an order, and the time of the last price.",
            "format": "int32",
            "nullable": true
          },
          "ieSlipProfit": {
            "type": "integer",
            "description": "instant execution profit slippage",
            "format": "int32",
            "nullable": true
          },
          "ieSlipLosing": {
            "type": "integer",
            "description": "instant execution losing slippage",
            "format": "int32",
            "nullable": true
          },
          "ieVolumeMax": {
            "type": "integer",
            "description": "instant execution max volume",
            "format": "int64",
            "nullable": true
          },
          "priceSettle": {
            "type": "number",
            "description": "settle price (for futures)",
            "format": "double",
            "nullable": true
          },
          "priceLimitMax": {
            "type": "number",
            "description": "price limit max (for futures)",
            "format": "double",
            "nullable": true
          },
          "priceLimitMin": {
            "type": "number",
            "description": "price limit min (for futures)",
            "format": "double",
            "nullable": true
          },
          "tradeFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnTradeFlags"
              }
            ],
            "description": "EnTradeFlags",
            "nullable": true
          },
          "orderFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnOrderFlags"
              }
            ],
            "description": "EnOrderFlags",
            "nullable": true
          },
          "marginRateInitial": {
            "type": "object",
            "properties": {
              "Buy": {
                "type": "number",
                "format": "double"
              },
              "Sell": {
                "type": "number",
                "format": "double"
              },
              "BuyLimit": {
                "type": "number",
                "format": "double"
              },
              "SellLimit": {
                "type": "number",
                "format": "double"
              },
              "BuyStop": {
                "type": "number",
                "format": "double"
              },
              "SellStop": {
                "type": "number",
                "format": "double"
              },
              "BuyStopLimit": {
                "type": "number",
                "format": "double"
              },
              "SellStopLimit": {
                "type": "number",
                "format": "double"
              }
            },
            "additionalProperties": false,
            "description": "orders and positions margin rates",
            "nullable": true
          },
          "marginRateMaintenance": {
            "type": "object",
            "properties": {
              "Buy": {
                "type": "number",
                "format": "double"
              },
              "Sell": {
                "type": "number",
                "format": "double"
              },
              "BuyLimit": {
                "type": "number",
                "format": "double"
              },
              "SellLimit": {
                "type": "number",
                "format": "double"
              },
              "BuyStop": {
                "type": "number",
                "format": "double"
              },
              "SellStop": {
                "type": "number",
                "format": "double"
              },
              "BuyStopLimit": {
                "type": "number",
                "format": "double"
              },
              "SellStopLimit": {
                "type": "number",
                "format": "double"
              }
            },
            "additionalProperties": false,
            "description": "orders and positions margin rates",
            "nullable": true
          },
          "optionsMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnOptionMode"
              }
            ],
            "description": "options mode EnOptionMode",
            "nullable": true
          },
          "priceStrike": {
            "type": "number",
            "description": "option strike price value",
            "format": "double",
            "nullable": true
          },
          "marginRateLiquidity": {
            "type": "number",
            "description": "liquidity rate",
            "format": "double",
            "nullable": true
          },
          "faceValue": {
            "type": "number",
            "description": "bond face value",
            "format": "double",
            "nullable": true
          },
          "accruedInterest": {
            "type": "number",
            "description": "bond accrued interest",
            "format": "double",
            "nullable": true
          },
          "spliceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnSpliceType"
              }
            ],
            "description": "futures splice type EnSpliceType",
            "nullable": true
          },
          "spliceTimeType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnSpliceTimeType"
              }
            ],
            "description": "futures splice time type EnSpliceType",
            "nullable": true
          },
          "spliceTimeDays": {
            "type": "integer",
            "description": "The splicing shift as a number of days to the past from the symbol's expiration date IMTConSymbol::TimeExpiration",
            "format": "int32",
            "nullable": true
          },
          "marginHedged": {
            "type": "number",
            "description": "hedged positions margin rate",
            "format": "double",
            "nullable": true
          },
          "marginRateCurrency": {
            "type": "number",
            "description": "currency rate",
            "format": "double",
            "nullable": true
          },
          "filterGap": {
            "type": "integer",
            "description": "gap level",
            "format": "int32",
            "nullable": true
          },
          "filterGapTicks": {
            "type": "integer",
            "description": "gap level ticks",
            "format": "int32",
            "nullable": true
          },
          "chartMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnChartMode"
              }
            ],
            "description": "chart mode",
            "nullable": true
          },
          "ieFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnInstantFlags"
              }
            ],
            "description": "instant execution flags with extended accuracy",
            "nullable": true
          },
          "volumeMinExt": {
            "type": "integer",
            "description": "minimal volume with extended accuracy",
            "format": "int64",
            "nullable": true
          },
          "volumeMaxExt": {
            "type": "integer",
            "description": "maximal volume with extended accuracy",
            "format": "int64",
            "nullable": true
          },
          "volumeStepExt": {
            "type": "integer",
            "description": "volume step with extended accuracy",
            "format": "int64",
            "nullable": true
          },
          "volumeLimitExt": {
            "type": "integer",
            "description": "cumulative positions and orders limit with extended accuracy",
            "format": "int64",
            "nullable": true
          },
          "ieVolumeMaxExt": {
            "type": "integer",
            "description": "instant execution max volume with extended accuracy",
            "format": "int64",
            "nullable": true
          },
          "category": {
            "type": "string",
            "description": "category",
            "nullable": true
          },
          "exchange": {
            "type": "string",
            "description": "exchange",
            "nullable": true
          },
          "cfi": {
            "type": "string",
            "description": "CFI",
            "nullable": true
          },
          "sector": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnSectors"
              }
            ],
            "description": "Sector",
            "nullable": true
          },
          "industry": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnIndustries"
              }
            ],
            "description": "Industry",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "Country - ISO 3166-1 alpha-3 code",
            "nullable": true
          },
          "subscriptionsDelay": {
            "type": "integer",
            "description": "Delay for subscriptions",
            "format": "int32",
            "nullable": true
          },
          "swapYearDays": {
            "type": "integer",
            "description": "Days in year",
            "format": "int32",
            "nullable": true
          },
          "swapFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnSwapFlags"
              }
            ],
            "description": "swap flags",
            "nullable": true
          },
          "swapRateSunday": {
            "type": "number",
            "description": "swap rate for Sunday",
            "format": "double",
            "nullable": true
          },
          "swapRateMonday": {
            "type": "number",
            "description": "swap rate for Monday",
            "format": "double",
            "nullable": true
          },
          "swapRateTuesday": {
            "type": "number",
            "description": "swap rate for Tuesday",
            "format": "double",
            "nullable": true
          },
          "swapRateWednesday": {
            "type": "number",
            "description": "swap rate for Wednesday",
            "format": "double",
            "nullable": true
          },
          "swapRateThursday": {
            "type": "number",
            "description": "swap rate for Thursday",
            "format": "double",
            "nullable": true
          },
          "swapRateFriday": {
            "type": "number",
            "description": "swap rate for Friday",
            "format": "double",
            "nullable": true
          },
          "swapRateSaturday": {
            "type": "number",
            "description": "swap rate for Saturday",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MT5SymbolSession": {
        "type": "object",
        "properties": {
          "open": {
            "type": "integer",
            "description": "The session opening time in minutes from 00:00. For example, 100 denotes 01:40.",
            "format": "int32",
            "nullable": true
          },
          "openHours": {
            "type": "integer",
            "description": "Get the number of hours in the opening time of trading or quoting session of a symbol.",
            "format": "int32",
            "nullable": true
          },
          "openMinutes": {
            "type": "integer",
            "description": "The number of minutes in the opening time of trading or quoting session of a symbol.",
            "format": "int32",
            "nullable": true
          },
          "close": {
            "type": "integer",
            "description": "The session closing time in minutes from 00:00. For example, 100 denotes 01:40.",
            "format": "int32",
            "nullable": true
          },
          "closeHours": {
            "type": "integer",
            "description": "The number of hours in the closing time of trading or quoting session of a symbol.",
            "format": "int32",
            "nullable": true
          },
          "closeMinutes": {
            "type": "integer",
            "description": "The number of minutes in the closing time of trading or quoting session of a symbol.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MT5User": {
        "required": [
          "group",
          "leverage"
        ],
        "type": "object",
        "properties": {
          "login": {
            "type": "integer",
            "description": "login",
            "format": "int64",
            "nullable": true
          },
          "group": {
            "minLength": 1,
            "type": "string",
            "description": "group"
          },
          "certSerialNumber": {
            "type": "integer",
            "description": "certificate serial number",
            "format": "int64",
            "nullable": true
          },
          "rights": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UsersRights"
              }
            ],
            "description": "UsersRights",
            "nullable": true
          },
          "registration": {
            "type": "string",
            "description": "registration datetime (filled by MT5)",
            "format": "date-time",
            "nullable": true
          },
          "lastAccess": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastIP": {
            "type": "string",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "name",
            "nullable": true
          },
          "company": {
            "type": "string",
            "description": "company",
            "nullable": true
          },
          "account": {
            "type": "string",
            "description": "external system account (exchange, ECN, etc)",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "country",
            "nullable": true
          },
          "language": {
            "type": "integer",
            "description": "client language (WinAPI LANGID)",
            "format": "int32",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "city",
            "nullable": true
          },
          "state": {
            "type": "string",
            "description": "state",
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "description": "ZIP code",
            "nullable": true
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "eMail": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "phonePassword": {
            "type": "string",
            "nullable": true
          },
          "leverage": {
            "type": "integer",
            "format": "int32"
          },
          "agent": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "balance": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "credit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "interestRate": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "commissionDaily": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "commissionMonthly": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "commissionAgentDaily": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "commissionAgentMonthly": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "balancePrevDay": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "balancePrevMonth": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "equityPrevDay": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "equityPrevMonth": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "lastPassChange": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "mqid": {
            "type": "string",
            "nullable": true
          },
          "leadCampaign": {
            "type": "string",
            "nullable": true
          },
          "leadSource": {
            "type": "string",
            "nullable": true
          },
          "clientID": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "nullable": true
          },
          "otpSecret": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MT5UserAdd": {
        "required": [
          "group",
          "leverage"
        ],
        "type": "object",
        "properties": {
          "password": {
            "type": "string",
            "description": "[optional] Custom Password, or it will be generated",
            "nullable": true
          },
          "passwordInvestor": {
            "type": "string",
            "description": "[optional] Custom Investor's password, or it will be generated",
            "nullable": true
          },
          "login": {
            "type": "integer",
            "description": "login",
            "format": "int64",
            "nullable": true
          },
          "group": {
            "minLength": 1,
            "type": "string",
            "description": "group"
          },
          "certSerialNumber": {
            "type": "integer",
            "description": "certificate serial number",
            "format": "int64",
            "nullable": true
          },
          "rights": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UsersRights"
              }
            ],
            "description": "UsersRights",
            "nullable": true
          },
          "registration": {
            "type": "string",
            "description": "registration datetime (filled by MT5)",
            "format": "date-time",
            "nullable": true
          },
          "lastAccess": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastIP": {
            "type": "string",
            "description": "<strong>Has No Setter In ManagerAPI, so all you can is to read this value.</strong>\r\n<br />\r\n<br />",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "name",
            "nullable": true
          },
          "company": {
            "type": "string",
            "description": "company",
            "nullable": true
          },
          "account": {
            "type": "string",
            "description": "external system account (exchange, ECN, etc)",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "country",
            "nullable": true
          },
          "language": {
            "type": "integer",
            "description": "client language (WinAPI LANGID)",
            "format": "int32",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "city",
            "nullable": true
          },
          "state": {
            "type": "string",
            "description": "state",
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "description": "ZIP code",
            "nullable": true
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "eMail": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "phonePassword": {
            "type": "string",
            "nullable": true
          },
          "leverage": {
            "type": "integer",
            "format": "int32"
          },
          "agent": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "balance": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "credit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "interestRate": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "commissionDaily": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "commissionMonthly": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "commissionAgentDaily": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "commissionAgentMonthly": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "balancePrevDay": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "balancePrevMonth": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "equityPrevDay": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "equityPrevMonth": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "lastPassChange": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "mqid": {
            "type": "string",
            "nullable": true
          },
          "leadCampaign": {
            "type": "string",
            "nullable": true
          },
          "leadSource": {
            "type": "string",
            "nullable": true
          },
          "clientID": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "nullable": true
          },
          "otpSecret": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MarginCalculationMode": {
        "enum": [
          "Forex",
          "CFD",
          "Futures",
          "CFDIndex",
          "CFDLeverage"
        ],
        "type": "string"
      },
      "MarginControllingType": {
        "enum": [
          "Percent",
          "Currency"
        ],
        "type": "string"
      },
      "MarginLevel": {
        "type": "object",
        "properties": {
          "group": {
            "type": "string",
            "nullable": true
          },
          "login": {
            "type": "integer",
            "format": "int32"
          },
          "leverage": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          },
          "balance": {
            "type": "number",
            "format": "double"
          },
          "equity": {
            "type": "number",
            "format": "double"
          },
          "volume": {
            "type": "integer",
            "format": "int32"
          },
          "margin": {
            "type": "number",
            "format": "double"
          },
          "free": {
            "type": "number",
            "format": "double"
          },
          "level": {
            "type": "number",
            "format": "double"
          },
          "controllingType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MarginControllingType"
              }
            ]
          },
          "levelType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MarginLevelType"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "MarginLevelType": {
        "enum": [
          "Ok",
          "MarginCall",
          "StopOut"
        ],
        "type": "string"
      },
      "MarginMode": {
        "enum": [
          "DontUse",
          "UseAll",
          "UseProfit",
          "UseLoss"
        ],
        "type": "string"
      },
      "MonthlyStatementMode": {
        "enum": [
          "EndMonth",
          "StartMonth"
        ],
        "type": "string"
      },
      "NewsMode": {
        "enum": [
          "No",
          "Topics",
          "Full"
        ],
        "type": "string"
      },
      "OTPMode": {
        "enum": [
          "Disabled",
          "TOTP_SHA256"
        ],
        "type": "string"
      },
      "OrderFilling": {
        "enum": [
          "FoK",
          "IoC",
          "Return",
          "BoC"
        ],
        "type": "string"
      },
      "OrderReason": {
        "enum": [
          "Client",
          "Expert",
          "Dealer",
          "SL",
          "TP",
          "SO",
          "Rollover",
          "ExternalClient",
          "VMargin",
          "Gateway",
          "Signal",
          "Settlement",
          "Transfer",
          "Sync",
          "ExternalService",
          "Migration",
          "Mobile",
          "Web",
          "Split",
          "CorporateAction"
        ],
        "type": "string"
      },
      "OrderState": {
        "enum": [
          "Started",
          "Placed",
          "Canceled",
          "Partial",
          "Filled",
          "Rejected",
          "Expired",
          "RequestAdd",
          "RequestModify",
          "RequestCancel"
        ],
        "type": "string"
      },
      "OrderTime": {
        "enum": [
          "GtC",
          "Day",
          "Specified",
          "SpecifiedDay"
        ],
        "type": "string"
      },
      "OrderType": {
        "enum": [
          "Buy",
          "Sell",
          "BuyLimit",
          "SellLimit",
          "BuyStop",
          "SellStop",
          "BuyStopLimit",
          "SellStopLimit",
          "CloseBy"
        ],
        "type": "string"
      },
      "Organization": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "PositionActions": {
        "enum": [
          "Buy",
          "Sell"
        ],
        "type": "string",
        "description": "PositionReason"
      },
      "PositionReasons": {
        "enum": [
          "Client",
          "Expert",
          "Dealer",
          "SL",
          "TP",
          "SO",
          "Rollover",
          "ExternalClient",
          "VMargin",
          "Gateway",
          "Signal",
          "Settlement",
          "Transfer",
          "Sync",
          "ExternalService",
          "Migration",
          "Mobile",
          "Web",
          "Split",
          "CorporateAction"
        ],
        "type": "string"
      },
      "PreferredCommunication": {
        "enum": [
          "Undefined",
          "Email",
          "Phone",
          "SMS",
          "Messenger"
        ],
        "type": "string"
      },
      "ProfitCalculationMode": {
        "enum": [
          "Forex",
          "CFD",
          "Futures"
        ],
        "type": "string"
      },
      "RateInfoEx": {
        "type": "object",
        "properties": {
          "close": {
            "type": "number",
            "format": "float"
          },
          "high": {
            "type": "number",
            "format": "float"
          },
          "low": {
            "type": "number",
            "format": "float"
          },
          "open": {
            "type": "number",
            "format": "float"
          },
          "time": {
            "type": "string",
            "format": "date-time"
          },
          "volume": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "RequestMode": {
        "enum": [
          "RangeIn",
          "RangeOut",
          "RangeLast",
          "RangeInExcludeOutOfRage"
        ],
        "type": "string"
      },
      "RolloverMode": {
        "enum": [
          "Normal",
          "ReopenByClosePrice",
          "ReopenByBid"
        ],
        "type": "string"
      },
      "ServerLog": {
        "type": "object",
        "properties": {
          "code": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LogMessageType"
              }
            ]
          },
          "time": {
            "type": "string",
            "nullable": true
          },
          "ip": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ServerStopReason": {
        "enum": [
          "None",
          "Restart",
          "Shutdown",
          "LiveUpdate"
        ],
        "type": "string"
      },
      "SoActivation": {
        "enum": [
          "None",
          "MarginCall",
          "StopOut"
        ],
        "type": "string"
      },
      "StatementMode": {
        "enum": [
          "EndDay",
          "StartDay"
        ],
        "type": "string"
      },
      "SwapType": {
        "enum": [
          "Points",
          "Dollars",
          "Interest",
          "MarginCurrency"
        ],
        "type": "string"
      },
      "SymbolExecMode": {
        "enum": [
          "Request",
          "Instant",
          "Market"
        ],
        "type": "string"
      },
      "TickInfo": {
        "type": "object",
        "properties": {
          "ctm": {
            "type": "string",
            "format": "date-time"
          },
          "symbol": {
            "type": "string",
            "nullable": true
          },
          "bid": {
            "type": "number",
            "format": "double"
          },
          "ask": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "TickRecord": {
        "type": "object",
        "properties": {
          "bid": {
            "type": "number",
            "format": "double"
          },
          "ask": {
            "type": "number",
            "format": "double"
          },
          "dataFeed": {
            "type": "integer",
            "format": "int32"
          },
          "ctm": {
            "type": "string",
            "format": "date-time"
          },
          "flags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TickRequestFlags"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "TickRequestFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"Raw, Normal\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: Raw = 0x1, Normal = 0x2. Accepted on input, never written: All = Raw, Normal.",
        "example": "Raw, Normal",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "Raw",
          "Normal"
        ],
        "x-enum-values": [
          0,
          1,
          2
        ]
      },
      "TradeActionFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"Close, Market\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: Close = 0x1, Market = 0x2, ChangedPrice = 0x4, ChangedTrigger = 0x8, ChangedSL = 0x10, ChangedTP = 0x20, ChangedExpType = 0x40, ChangedExpTime = 0x80, Expert = 0x100, Signal = 0x200, SkipMarginCheck = 0x400. Accepted on input, never written: All = Close, Market, ChangedPrice, ChangedTrigger, ChangedSL, ChangedTP, ChangedExpType, ChangedExpTime, Expert, Signal, SkipMarginCheck.",
        "example": "Close, Market",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "Close",
          "Market",
          "ChangedPrice",
          "ChangedTrigger",
          "ChangedSL",
          "ChangedTP",
          "ChangedExpType",
          "ChangedExpTime",
          "Expert",
          "Signal",
          "SkipMarginCheck"
        ],
        "x-enum-values": [
          0,
          1,
          2,
          4,
          8,
          16,
          32,
          64,
          128,
          256,
          512,
          1024
        ]
      },
      "TradeActions": {
        "enum": [
          "Price",
          "Request",
          "Instant",
          "Market",
          "Exchange",
          "Pending",
          "SLTP",
          "Modify",
          "Remove",
          "Transfer",
          "CloseBy",
          "Activate",
          "ActivateSL",
          "ActivateTP",
          "ActivateStopLimit",
          "StopOutOrder",
          "StopOutPosition",
          "Expiration",
          "DealerPosExecute",
          "DealerOrdPending",
          "DealerPosModify",
          "DealerOrdModify",
          "DealerOrdRemove",
          "DealerOrdActivate",
          "DealerBalance",
          "DealerOrdSLimit",
          "DealerCloseBy",
          "End"
        ],
        "type": "string"
      },
      "TradeActivationFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"NoLimit, NoStop\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: NoLimit = 0x1, NoStop = 0x2, NoSLimit = 0x4, NoSL = 0x8, NoTP = 0x10, NoSO = 0x20, NoExpiration = 0x40. Accepted on input, never written: All = NoLimit, NoStop, NoSLimit, NoSL, NoTP, NoSO, NoExpiration.",
        "example": "NoLimit, NoStop",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "NoLimit",
          "NoStop",
          "NoSLimit",
          "NoSL",
          "NoTP",
          "NoSO",
          "NoExpiration"
        ],
        "x-enum-values": [
          0,
          1,
          2,
          4,
          8,
          16,
          32,
          64
        ]
      },
      "TradeCommand": {
        "enum": [
          "Buy",
          "Sell",
          "BuyLimit",
          "SellLimit",
          "BuyStop",
          "SellStop",
          "Balance",
          "Credit"
        ],
        "type": "string"
      },
      "TradeMode": {
        "enum": [
          "No",
          "Close",
          "Full"
        ],
        "type": "string"
      },
      "TradeModifyFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "also used for Deal,Order,Position<br/>Flags: names of the set bits joined by \", \" (\"Admin, Manager\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: Admin = 0x1, Manager = 0x2, Position = 0x4, Restore = 0x8, ApiAdmin = 0x10, ApiManager = 0x20, ApiServer = 0x40, ApiGateway = 0x80. Accepted on input, never written: All = Admin, Manager, Position, Restore, ApiAdmin, ApiManager, ApiServer, ApiGateway.",
        "example": "Admin, Manager",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "Admin",
          "Manager",
          "Position",
          "Restore",
          "ApiAdmin",
          "ApiManager",
          "ApiServer",
          "ApiGateway"
        ],
        "x-enum-values": [
          0,
          1,
          2,
          4,
          8,
          16,
          32,
          64,
          128
        ]
      },
      "TradePlatform": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradePlatformType"
              }
            ]
          },
          "organizationId": {
            "type": "string",
            "format": "uuid"
          },
          "organization": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Organization"
              }
            ],
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "TradePlatformType": {
        "enum": [
          "MT4",
          "MT5",
          "MatchTrader"
        ],
        "type": "string"
      },
      "TradeRecordDTO": {
        "type": "object",
        "properties": {
          "order": {
            "type": "integer",
            "description": "order ticket",
            "format": "int32"
          },
          "login": {
            "type": "integer",
            "description": "owner's login",
            "format": "int32"
          },
          "digits": {
            "type": "integer",
            "description": "security precision",
            "format": "int32"
          },
          "volume": {
            "type": "integer",
            "description": "it stores 100 times more volue than it is, for example value of 15 means 10/100=0.15 lots",
            "format": "int32"
          },
          "openPrice": {
            "type": "number",
            "description": "reserved",
            "format": "double"
          },
          "sl": {
            "type": "number",
            "format": "double"
          },
          "tp": {
            "type": "number",
            "format": "double"
          },
          "gatewayVolume": {
            "type": "integer",
            "format": "int32"
          },
          "commission": {
            "type": "number",
            "format": "double"
          },
          "commissionAgent": {
            "type": "number",
            "description": "agent commission",
            "format": "double"
          },
          "storage": {
            "type": "number",
            "description": "order swaps",
            "format": "double"
          },
          "closePrice": {
            "type": "number",
            "format": "double"
          },
          "profit": {
            "type": "number",
            "format": "double"
          },
          "taxes": {
            "type": "number",
            "format": "double"
          },
          "magic": {
            "type": "integer",
            "description": "special value used by client experts",
            "format": "int32"
          },
          "gatewayOrder": {
            "type": "integer",
            "description": "trade order ticket on master server in STP",
            "format": "int32"
          },
          "gatewayOpenPrice": {
            "type": "integer",
            "description": "gateway order price deviation (pips) from order open price",
            "format": "int32"
          },
          "gatewayClosePrice": {
            "type": "integer",
            "description": "gateway order price deviation (pips) from order close price",
            "format": "int32"
          },
          "marginRate": {
            "type": "number",
            "description": "margin convertation rate (rate of convertation from margin currency to deposit one)",
            "format": "double"
          },
          "symbol": {
            "type": "string",
            "description": "security",
            "nullable": true
          },
          "tradeCommand": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradeCommand"
              }
            ],
            "description": "trade command (buy, sell, pending, balance, etc)"
          },
          "tradeRecordState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradeRecordState"
              }
            ]
          },
          "gatewayVolumeLots": {
            "type": "number",
            "description": "Volume in lots, for convenience",
            "format": "double"
          },
          "tradeRecordReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradeRecordReason"
              }
            ]
          },
          "convReserv": {
            "type": "string",
            "description": "",
            "format": "byte",
            "nullable": true
          },
          "convRates": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            },
            "description": "conversation rates from profit currency to group deposit currency\r\n(first element-for open time, second element-for close time)",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "nullable": true
          },
          "activationType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActivationType"
              }
            ]
          },
          "timeStamp": {
            "type": "string",
            "format": "date-time"
          },
          "apiData": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "",
            "nullable": true
          },
          "openTime": {
            "type": "string",
            "format": "date-time"
          },
          "closeTime": {
            "type": "string",
            "format": "date-time"
          },
          "expiration": {
            "type": "string",
            "description": "pending order's expiration time",
            "format": "date-time"
          },
          "volumeLots": {
            "type": "number",
            "description": "Volume in lots, for convenience",
            "format": "double"
          },
          "updateType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransactionType"
              }
            ],
            "description": "add - order opened, delete - order closed, Update - IF login==0 THEN order deleted ELSE order updated"
          }
        },
        "additionalProperties": false
      },
      "TradeRecordReason": {
        "enum": [
          "Client",
          "Expert",
          "Dealer",
          "Signal",
          "Gateway",
          "Mobile",
          "Web",
          "API"
        ],
        "type": "string"
      },
      "TradeRecordState": {
        "enum": [
          "OpenNormal",
          "OpenRemand",
          "OpenRestored",
          "ClosedNormal",
          "ClosedPart",
          "ClosedBy",
          "Deleted"
        ],
        "type": "string"
      },
      "TradeRequestFlags": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "Flags: names of the set bits joined by \", \" (\"Signal, Expert\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: Signal = 0x1, Expert = 0x2, Gateway = 0x4, Mobile = 0x8, Web = 0x10, API = 0x20.",
        "example": "Signal, Expert",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "Signal",
          "Expert",
          "Gateway",
          "Mobile",
          "Web",
          "API"
        ],
        "x-enum-values": [
          0,
          1,
          2,
          4,
          8,
          16,
          32
        ]
      },
      "TradeTransInfo": {
        "type": "object",
        "properties": {
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "orderBy": {
            "type": "integer",
            "format": "int32"
          },
          "volume": {
            "type": "integer",
            "format": "int32"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "sl": {
            "type": "number",
            "format": "double"
          },
          "tp": {
            "type": "number",
            "format": "double"
          },
          "ieDeviation": {
            "type": "integer",
            "format": "int32"
          },
          "crc": {
            "type": "integer",
            "format": "int32"
          },
          "tradeTransactionType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradeTransactionType"
              }
            ]
          },
          "tradeRequestFlags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradeRequestFlags"
              }
            ]
          },
          "tradeCommand": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TradeCommand"
              }
            ]
          },
          "symbol": {
            "type": "string",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "nullable": true
          },
          "expiration": {
            "type": "string",
            "format": "date-time"
          },
          "volumeLots": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "TradeTransactionType": {
        "enum": [
          "PricesGet",
          "PricesRequote",
          "OpenInstant",
          "OpenRequest",
          "OpenMarket",
          "PendingOpen",
          "CloseInstant",
          "CloseRequest",
          "CloseMarket",
          "Modify",
          "Delete",
          "CloseBy",
          "CloseAll",
          "BrOpen",
          "BrClose",
          "BrDelete",
          "BrCloseBy",
          "BrCloseAll",
          "BrModify",
          "BrActivate",
          "BrComment",
          "BrBalance"
        ],
        "type": "string"
      },
      "TradingExperience": {
        "enum": [
          "LessThanYear",
          "OneToThreeYears",
          "AboveThreeYears"
        ],
        "type": "string"
      },
      "TransactionType": {
        "enum": [
          "Add",
          "Delete",
          "Update",
          "ChangeGrp"
        ],
        "type": "string"
      },
      "UserRecord": {
        "type": "object",
        "properties": {
          "regDate": {
            "type": "string",
            "format": "date-time"
          },
          "lastDate": {
            "type": "string",
            "format": "date-time"
          },
          "timeStamp": {
            "type": "string",
            "format": "date-time"
          },
          "login": {
            "type": "integer",
            "format": "int32"
          },
          "group": {
            "type": "string",
            "nullable": true
          },
          "password": {
            "maxLength": 16,
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "enable": {
            "type": "integer",
            "format": "int32"
          },
          "enableChangePassword": {
            "type": "integer",
            "format": "int32"
          },
          "enableReadOnly": {
            "type": "integer",
            "format": "int32"
          },
          "enableOTP": {
            "type": "integer",
            "format": "int32"
          },
          "enableFlags": {
            "type": "integer",
            "format": "int32"
          },
          "enableReserved": {
            "maxItems": 1,
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "passwordInvestor": {
            "maxLength": 16,
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "passwordPhone": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "leadSource": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "leverage": {
            "type": "integer",
            "format": "int32"
          },
          "agentAccount": {
            "type": "integer",
            "format": "int32"
          },
          "lastIP": {
            "type": "integer",
            "format": "int32"
          },
          "balance": {
            "type": "number",
            "format": "double"
          },
          "prevMonthBalance": {
            "type": "number",
            "format": "double"
          },
          "prevBalance": {
            "type": "number",
            "format": "double"
          },
          "credit": {
            "type": "number",
            "format": "double"
          },
          "interestRate": {
            "type": "number",
            "format": "double"
          },
          "taxes": {
            "type": "number",
            "format": "double"
          },
          "prevMonthEquity": {
            "type": "number",
            "format": "double"
          },
          "prevEquity": {
            "type": "number",
            "format": "double"
          },
          "reserved2": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          },
          "otpSecret": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "secureReserved": {
            "type": "string",
            "nullable": true
          },
          "sendReports": {
            "type": "integer",
            "format": "int32"
          },
          "mqid": {
            "type": "integer",
            "format": "int32"
          },
          "userColor": {
            "type": "integer",
            "format": "int32"
          },
          "unused": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "apiData": {
            "maxLength": 16,
            "minLength": 16,
            "type": "string",
            "format": "byte",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserRecordNew": {
        "required": [
          "group",
          "name"
        ],
        "type": "object",
        "properties": {
          "regDate": {
            "type": "string",
            "description": "registration date",
            "format": "date-time",
            "nullable": true
          },
          "lastDate": {
            "type": "string",
            "description": "last coonection time",
            "format": "date-time",
            "nullable": true
          },
          "timeStamp": {
            "type": "string",
            "description": "timestamp",
            "format": "date-time",
            "nullable": true
          },
          "login": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "group": {
            "maxLength": 16,
            "minLength": 1,
            "type": "string"
          },
          "password": {
            "maxLength": 16,
            "type": "string",
            "description": "Password in plain-text, available only once when you create user",
            "nullable": true
          },
          "enable": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "enableChangePassword": {
            "type": "integer",
            "description": "allow to change password",
            "format": "int32",
            "nullable": true
          },
          "enableReadOnly": {
            "type": "integer",
            "description": "allow to open/positions (TRUE-may not trade)",
            "format": "int32",
            "nullable": true
          },
          "enableOTP": {
            "type": "integer",
            "description": "allow to use one-time password",
            "format": "int32",
            "nullable": true
          },
          "enableReserved": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "for future use",
            "nullable": true
          },
          "passwordInvestor": {
            "maxLength": 16,
            "type": "string",
            "description": "read-only mode password. In plain-text available only once when you create user",
            "nullable": true
          },
          "passwordPhone": {
            "maxLength": 32,
            "type": "string",
            "nullable": true
          },
          "name": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "country": {
            "maxLength": 32,
            "type": "string",
            "nullable": true
          },
          "city": {
            "maxLength": 32,
            "type": "string",
            "nullable": true
          },
          "state": {
            "maxLength": 32,
            "type": "string",
            "nullable": true
          },
          "zipCode": {
            "maxLength": 16,
            "type": "string",
            "nullable": true
          },
          "address": {
            "maxLength": 96,
            "type": "string",
            "nullable": true
          },
          "leadSource": {
            "maxLength": 32,
            "type": "string",
            "nullable": true
          },
          "phone": {
            "maxLength": 32,
            "type": "string",
            "nullable": true
          },
          "email": {
            "maxLength": 48,
            "type": "string",
            "nullable": true
          },
          "comment": {
            "maxLength": 64,
            "type": "string",
            "nullable": true
          },
          "id": {
            "maxLength": 32,
            "type": "string",
            "description": "SSN (IRD)",
            "nullable": true
          },
          "status": {
            "maxLength": 16,
            "type": "string",
            "description": "status",
            "nullable": true
          },
          "leverage": {
            "type": "integer",
            "description": "leverage",
            "format": "int32",
            "nullable": true
          },
          "agentAccount": {
            "type": "integer",
            "description": "agent account",
            "format": "int32",
            "nullable": true
          },
          "lastIP": {
            "type": "integer",
            "description": "last visit ip",
            "format": "int32",
            "nullable": true
          },
          "balance": {
            "type": "number",
            "description": "balance",
            "format": "double",
            "nullable": true
          },
          "prevMonthBalance": {
            "type": "number",
            "description": "previous month balance",
            "format": "double",
            "nullable": true
          },
          "prevBalance": {
            "type": "number",
            "description": "previous day balance",
            "format": "double",
            "nullable": true
          },
          "credit": {
            "type": "number",
            "description": "credit",
            "format": "double",
            "nullable": true
          },
          "interestRate": {
            "type": "number",
            "description": "accumulated interest rate",
            "format": "double",
            "nullable": true
          },
          "taxes": {
            "type": "number",
            "description": "taxes",
            "format": "double",
            "nullable": true
          },
          "prevMonthEquity": {
            "type": "number",
            "description": "previous month equity",
            "format": "double",
            "nullable": true
          },
          "prevEquity": {
            "type": "number",
            "description": "previous day equity",
            "format": "double",
            "nullable": true
          },
          "reserved2": {
            "maxItems": 2,
            "minItems": 2,
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            },
            "description": "for future use",
            "nullable": true
          },
          "otpSecret": {
            "maxLength": 32,
            "minLength": 32,
            "type": "string",
            "description": "public key, byte[32] via Base64",
            "format": "byte",
            "nullable": true
          },
          "secureReserved": {
            "maxLength": 240,
            "type": "string",
            "nullable": true
          },
          "sendReports": {
            "type": "integer",
            "description": "enable send reports by email",
            "format": "int32",
            "nullable": true
          },
          "mqid": {
            "type": "integer",
            "description": "MQ client identificator",
            "format": "int32",
            "nullable": true
          },
          "userColor": {
            "type": "integer",
            "description": "color got to client (used by MT Manager)",
            "format": "int32",
            "nullable": true
          },
          "unused": {
            "maxLength": 40,
            "minLength": 40,
            "type": "string",
            "description": "for future use, byte[40] via Base64",
            "format": "byte",
            "nullable": true
          },
          "apiData": {
            "maxLength": 16,
            "minLength": 16,
            "type": "string",
            "description": "for API usage, byte[16] via Base64",
            "format": "byte",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UsersPasswords": {
        "enum": [
          "Main",
          "Investor",
          "API",
          "Trader"
        ],
        "type": "string"
      },
      "UsersRights": {
        "pattern": "^[A-Za-z][A-Za-z0-9]*(, [A-Za-z][A-Za-z0-9]*)*$",
        "type": "string",
        "description": "User rights<br />```Default = Enabled | Password | Trailing | Expert | Reports```<br/>Flags: names of the set bits joined by \", \" (\"Enabled, Password\"), \"None\" when none is set; a set bit without a name is \"Bit<n>\" (bit number). Bits: Enabled = 0x1, Password = 0x2, TradeDisabled = 0x4, Investor = 0x8, Confirmed = 0x10, Trailing = 0x20, Expert = 0x40, Obsolete = 0x80, Reports = 0x100, Readonly = 0x200, ResetPass = 0x400, OTPEnabled = 0x800, UNKNOWN1000 = 0x1000, SponsoredHosting = 0x2000, APIEnabled = 0x4000, PushNotification = 0x8000, Technical = 0x10000, ExcludeReports = 0x20000, UNKNOWN40000 = 0x40000, UNKNOWN80000 = 0x80000. Accepted on input, never written: Default = Enabled, Password, Trailing, Expert, Reports; All = Enabled, Password, TradeDisabled, Investor, Confirmed, Trailing, Expert, Obsolete, Reports, Readonly, ResetPass, OTPEnabled, SponsoredHosting, APIEnabled, PushNotification, Technical, ExcludeReports.",
        "example": "Enabled, Password",
        "x-enumFlags": true,
        "x-enum-varnames": [
          "None",
          "Enabled",
          "Password",
          "TradeDisabled",
          "Investor",
          "Confirmed",
          "Trailing",
          "Expert",
          "Obsolete",
          "Reports",
          "Readonly",
          "ResetPass",
          "OTPEnabled",
          "UNKNOWN1000",
          "SponsoredHosting",
          "APIEnabled",
          "PushNotification",
          "Technical",
          "ExcludeReports",
          "UNKNOWN40000",
          "UNKNOWN80000"
        ],
        "x-enum-values": [
          0,
          1,
          2,
          4,
          8,
          16,
          32,
          64,
          128,
          256,
          512,
          1024,
          2048,
          4096,
          8192,
          16384,
          32768,
          65536,
          131072,
          262144,
          524288
        ]
      },
      "WealthSource": {
        "enum": [
          "Employment",
          "Savings",
          "Inheritance",
          "Other"
        ],
        "type": "string"
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "JWT Authorization header using the Bearer scheme. \r\n\r\nEnter 'Bearer' [space] and then your token in the text input below.\r\n\r\nExample: \"Bearer 12345abcdef\"",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ],
  "tags": [
    {
      "name": "MT4ManagerAPI",
      "description": "Methods to work with MT4 using Manager API<br />\r\n(pumping) - means that data will be fetched from local cache, which is up to date using pumping connection to the server.<br />\r\n(admin) - means that your account needs to have \"Administrator\" checkbox ticked to use those functions<br />\r\nOtherwise, standard connection will be used.<br />\r\nKeep in mind, MT4 uses UNIX time, so time boundaries it supports: [01.01.1970 .. 19.01.2038). Shall not send bizarre values."
    },
    {
      "name": "MT5ManagerAPI",
      "description": "Methods to work with MT5 using Manager API<br />\r\n(pumping) - means that data will be fetched from local cache, which is up to date using pumping connection to the server.<br />\r\n(admin) - means that your account needs to have \"Administrator\" checkbox ticked to use those functions<br />\r\nOtherwise, standard connection will be used.<br />\r\nKeep in mind, most of the time MT5 uses UNIX time, so time boundaries it supports: [01.01.1970 .. 19.01.2038). Shall not send bizarre values. Sometimes it uses DateTime with milliseconds. Sometimes FILETIME."
    },
    {
      "name": "Organizations",
      "description": "Manage your workspaces"
    },
    {
      "name": "TradePlatforms",
      "description": "Manage trade platforms"
    }
  ]
}