github.com/mysteriumnetwork/node@v0.0.0-20240516044423-365054f76801/tequilapi/docs/swagger.json (about)

     1  {
     2    "consumes": [
     3      "application/json"
     4    ],
     5    "produces": [
     6      "application/json"
     7    ],
     8    "swagger": "2.0",
     9    "info": {
    10      "description": "The purpose of this documentation is to provide developers an insight of how to\ninteract with Mysterium Node via Tequila API.\nThis should demonstrate all the possible API calls with described parameters and responses.",
    11      "title": "Tequila API",
    12      "version": "dev"
    13    },
    14    "host": "127.0.0.1:4050",
    15    "paths": {
    16      "/access-policies": {
    17        "get": {
    18          "description": "Returns list of access policies",
    19          "summary": "Returns access policies",
    20          "operationId": "AccessPolicies",
    21          "responses": {
    22            "200": {
    23              "description": "List of access policies",
    24              "schema": {
    25                "$ref": "#/definitions/AccessPolicies"
    26              }
    27            },
    28            "400": {
    29              "description": "Failed to parse or request validation failed",
    30              "schema": {
    31                "$ref": "#/definitions/APIError"
    32              }
    33            },
    34            "500": {
    35              "description": "Internal server error",
    36              "schema": {
    37                "$ref": "#/definitions/APIError"
    38              }
    39            }
    40          }
    41        }
    42      },
    43      "/affiliator/token/{token}/reward": {
    44        "post": {
    45          "summary": "Returns the amount of reward for a token (affiliator)",
    46          "operationId": "AffiliatorTokenReward",
    47          "parameters": [
    48            {
    49              "type": "string",
    50              "description": "Token for which to lookup the reward",
    51              "name": "token",
    52              "in": "path",
    53              "required": true
    54            }
    55          ],
    56          "responses": {
    57            "200": {
    58              "description": "Token Reward",
    59              "schema": {
    60                "$ref": "#/definitions/TokenRewardAmount"
    61              }
    62            },
    63            "500": {
    64              "description": "Internal server error",
    65              "schema": {
    66                "$ref": "#/definitions/APIError"
    67              }
    68            }
    69          }
    70        }
    71      },
    72      "/auth/authenticate": {
    73        "post": {
    74          "description": "Authenticates user and issues auth token",
    75          "tags": [
    76            "Authentication"
    77          ],
    78          "summary": "Authenticate",
    79          "operationId": "Authenticate",
    80          "parameters": [
    81            {
    82              "name": "body",
    83              "in": "body",
    84              "schema": {
    85                "$ref": "#/definitions/AuthRequest"
    86              }
    87            }
    88          ],
    89          "responses": {
    90            "200": {
    91              "description": "Authentication succeeded",
    92              "schema": {
    93                "$ref": "#/definitions/AuthResponse"
    94              }
    95            },
    96            "400": {
    97              "description": "Failed to parse or request validation failed",
    98              "schema": {
    99                "$ref": "#/definitions/APIError"
   100              }
   101            },
   102            "401": {
   103              "description": "Authentication failed",
   104              "schema": {
   105                "$ref": "#/definitions/APIError"
   106              }
   107            }
   108          }
   109        }
   110      },
   111      "/auth/login": {
   112        "post": {
   113          "description": "Authenticates user and sets cookie with issued auth token",
   114          "tags": [
   115            "Authentication"
   116          ],
   117          "summary": "Login",
   118          "operationId": "Login",
   119          "parameters": [
   120            {
   121              "name": "body",
   122              "in": "body",
   123              "schema": {
   124                "$ref": "#/definitions/AuthRequest"
   125              }
   126            }
   127          ],
   128          "responses": {
   129            "200": {
   130              "description": "Authentication succeeded",
   131              "schema": {
   132                "$ref": "#/definitions/AuthResponse"
   133              }
   134            },
   135            "400": {
   136              "description": "Failed to parse or request validation failed",
   137              "schema": {
   138                "$ref": "#/definitions/APIError"
   139              }
   140            },
   141            "401": {
   142              "description": "Authentication failed",
   143              "schema": {
   144                "$ref": "#/definitions/APIError"
   145              }
   146            }
   147          }
   148        }
   149      },
   150      "/auth/login-mystnodes": {
   151        "get": {
   152          "description": "SSO init endpoint to auth via mystnodes",
   153          "tags": [
   154            "SSO"
   155          ],
   156          "summary": "LoginMystnodesInit",
   157          "operationId": "LoginMystnodesInit",
   158          "parameters": [
   159            {
   160              "type": "string",
   161              "description": "a redirect to send authorization grant to",
   162              "name": "redirect_url",
   163              "in": "query"
   164            }
   165          ],
   166          "responses": {
   167            "200": {
   168              "description": "link response",
   169              "schema": {
   170                "$ref": "#/definitions/MystnodesSSOLinkResponse"
   171              }
   172            }
   173          }
   174        },
   175        "post": {
   176          "description": "SSO login using grant provided by mystnodes.com",
   177          "tags": [
   178            "SSO"
   179          ],
   180          "summary": "LoginMystnodesWithGrant",
   181          "operationId": "LoginMystnodesWithGrant",
   182          "responses": {
   183            "200": {
   184              "description": "grant was verified against mystnodes using PKCE workflow. This will set access token cookie."
   185            },
   186            "401": {
   187              "description": "grant failed to be verified"
   188            }
   189          }
   190        }
   191      },
   192      "/auth/logout": {
   193        "delete": {
   194          "description": "Clears authentication cookie",
   195          "tags": [
   196            "Authentication"
   197          ],
   198          "summary": "Logout",
   199          "operationId": "Logout",
   200          "responses": {
   201            "200": {
   202              "description": "Logged out successfully"
   203            }
   204          }
   205        }
   206      },
   207      "/auth/password": {
   208        "put": {
   209          "description": "Changes user password",
   210          "tags": [
   211            "Authentication"
   212          ],
   213          "summary": "Change password",
   214          "operationId": "changePassword",
   215          "parameters": [
   216            {
   217              "name": "body",
   218              "in": "body",
   219              "schema": {
   220                "$ref": "#/definitions/ChangePasswordRequest"
   221              }
   222            }
   223          ],
   224          "responses": {
   225            "200": {
   226              "description": "Password changed successfully"
   227            },
   228            "400": {
   229              "description": "Failed to parse or request validation failed",
   230              "schema": {
   231                "$ref": "#/definitions/APIError"
   232              }
   233            },
   234            "401": {
   235              "description": "Unauthorized",
   236              "schema": {
   237                "$ref": "#/definitions/APIError"
   238              }
   239            }
   240          }
   241        }
   242      },
   243      "/config": {
   244        "get": {
   245          "description": "Returns default configuration",
   246          "tags": [
   247            "Configuration"
   248          ],
   249          "summary": "Returns current configuration values",
   250          "operationId": "getConfig",
   251          "responses": {
   252            "200": {
   253              "description": "Currently active configuration",
   254              "schema": {
   255                "$ref": "#/definitions/configPayload"
   256              }
   257            }
   258          }
   259        }
   260      },
   261      "/config/default": {
   262        "get": {
   263          "description": "Returns default configuration",
   264          "tags": [
   265            "Configuration"
   266          ],
   267          "summary": "Returns default configuration",
   268          "operationId": "getDefaultConfig",
   269          "responses": {
   270            "200": {
   271              "description": "Default configuration values",
   272              "schema": {
   273                "$ref": "#/definitions/configPayload"
   274              }
   275            }
   276          }
   277        }
   278      },
   279      "/config/user": {
   280        "get": {
   281          "description": "Returns current user configuration",
   282          "tags": [
   283            "Configuration"
   284          ],
   285          "summary": "Returns current user configuration",
   286          "operationId": "getUserConfig",
   287          "responses": {
   288            "200": {
   289              "description": "User set configuration values",
   290              "schema": {
   291                "$ref": "#/definitions/configPayload"
   292              }
   293            }
   294          }
   295        },
   296        "post": {
   297          "description": "For keys present in the payload, it will set or remove the user config values (if the key is null). Changes are persisted to the config file.",
   298          "tags": [
   299            "Configuration"
   300          ],
   301          "summary": "Sets and returns user configuration",
   302          "operationId": "serUserConfig",
   303          "parameters": [
   304            {
   305              "description": "configuration keys/values",
   306              "name": "body",
   307              "in": "body",
   308              "schema": {
   309                "$ref": "#/definitions/configPayload"
   310              }
   311            }
   312          ],
   313          "responses": {
   314            "200": {
   315              "description": "User configuration",
   316              "schema": {
   317                "$ref": "#/definitions/configPayload"
   318              }
   319            },
   320            "400": {
   321              "description": "Failed to parse or request validation failed",
   322              "schema": {
   323                "$ref": "#/definitions/APIError"
   324              }
   325            },
   326            "500": {
   327              "description": "Internal server error",
   328              "schema": {
   329                "$ref": "#/definitions/APIError"
   330              }
   331            }
   332          }
   333        }
   334      },
   335      "/connection": {
   336        "get": {
   337          "description": "Returns status of current connection",
   338          "tags": [
   339            "Connection"
   340          ],
   341          "summary": "Returns connection status",
   342          "operationId": "connectionStatus",
   343          "responses": {
   344            "200": {
   345              "description": "Status",
   346              "schema": {
   347                "$ref": "#/definitions/ConnectionInfoDTO"
   348              }
   349            },
   350            "400": {
   351              "description": "Failed to parse or request validation failed",
   352              "schema": {
   353                "$ref": "#/definitions/APIError"
   354              }
   355            },
   356            "500": {
   357              "description": "Internal server error",
   358              "schema": {
   359                "$ref": "#/definitions/APIError"
   360              }
   361            }
   362          }
   363        },
   364        "put": {
   365          "description": "Consumer opens connection to provider",
   366          "tags": [
   367            "Connection"
   368          ],
   369          "summary": "Starts new connection",
   370          "operationId": "connectionCreate",
   371          "parameters": [
   372            {
   373              "description": "Parameters in body (consumer_id, provider_id, service_type) required for creating new connection",
   374              "name": "body",
   375              "in": "body",
   376              "schema": {
   377                "$ref": "#/definitions/ConnectionCreateRequestDTO"
   378              }
   379            }
   380          ],
   381          "responses": {
   382            "201": {
   383              "description": "Connection started",
   384              "schema": {
   385                "$ref": "#/definitions/ConnectionInfoDTO"
   386              }
   387            },
   388            "400": {
   389              "description": "Failed to parse or request validation failed",
   390              "schema": {
   391                "$ref": "#/definitions/APIError"
   392              }
   393            },
   394            "422": {
   395              "description": "Unable to process the request at this point",
   396              "schema": {
   397                "$ref": "#/definitions/APIError"
   398              }
   399            },
   400            "500": {
   401              "description": "Internal server error",
   402              "schema": {
   403                "$ref": "#/definitions/APIError"
   404              }
   405            }
   406          }
   407        },
   408        "delete": {
   409          "description": "Stops current connection",
   410          "tags": [
   411            "Connection"
   412          ],
   413          "summary": "Stops connection",
   414          "operationId": "connectionCancel",
   415          "responses": {
   416            "202": {
   417              "description": "Connection stopped"
   418            },
   419            "400": {
   420              "description": "Failed to parse or request validation failed",
   421              "schema": {
   422                "$ref": "#/definitions/APIError"
   423              }
   424            },
   425            "422": {
   426              "description": "Unable to process the request at this point (e.g. no active connection exists)",
   427              "schema": {
   428                "$ref": "#/definitions/APIError"
   429              }
   430            },
   431            "500": {
   432              "description": "Internal server error",
   433              "schema": {
   434                "$ref": "#/definitions/APIError"
   435              }
   436            }
   437          }
   438        }
   439      },
   440      "/connection/ip": {
   441        "get": {
   442          "description": "Returns current public IP address",
   443          "tags": [
   444            "Connection"
   445          ],
   446          "summary": "Returns IP address",
   447          "operationId": "getConnectionIP",
   448          "responses": {
   449            "200": {
   450              "description": "Public IP address",
   451              "schema": {
   452                "$ref": "#/definitions/IPDTO"
   453              }
   454            },
   455            "503": {
   456              "description": "Service unavailable",
   457              "schema": {
   458                "$ref": "#/definitions/APIError"
   459              }
   460            }
   461          }
   462        }
   463      },
   464      "/connection/location": {
   465        "get": {
   466          "description": "Returns connection locations",
   467          "tags": [
   468            "Connection"
   469          ],
   470          "summary": "Returns connection location",
   471          "operationId": "getConnectionLocation",
   472          "responses": {
   473            "200": {
   474              "description": "Connection locations",
   475              "schema": {
   476                "$ref": "#/definitions/LocationDTO"
   477              }
   478            },
   479            "503": {
   480              "description": "Service unavailable",
   481              "schema": {
   482                "$ref": "#/definitions/APIError"
   483              }
   484            }
   485          }
   486        }
   487      },
   488      "/connection/proxy/ip": {
   489        "get": {
   490          "description": "Returns proxy public IP address",
   491          "tags": [
   492            "Connection"
   493          ],
   494          "summary": "Returns IP address",
   495          "operationId": "getProxyIP",
   496          "responses": {
   497            "200": {
   498              "description": "Public IP address",
   499              "schema": {
   500                "$ref": "#/definitions/IPDTO"
   501              }
   502            },
   503            "503": {
   504              "description": "Service unavailable",
   505              "schema": {
   506                "$ref": "#/definitions/APIError"
   507              }
   508            }
   509          }
   510        }
   511      },
   512      "/connection/proxy/location": {
   513        "get": {
   514          "description": "Returns proxy connection locations",
   515          "tags": [
   516            "Connection"
   517          ],
   518          "summary": "Returns proxy connection location",
   519          "operationId": "getProxyLocation",
   520          "responses": {
   521            "200": {
   522              "description": "Proxy connection locations",
   523              "schema": {
   524                "$ref": "#/definitions/LocationDTO"
   525              }
   526            },
   527            "503": {
   528              "description": "Service unavailable",
   529              "schema": {
   530                "$ref": "#/definitions/APIError"
   531              }
   532            }
   533          }
   534        }
   535      },
   536      "/connection/statistics": {
   537        "get": {
   538          "description": "Returns statistics about current connection",
   539          "tags": [
   540            "Connection"
   541          ],
   542          "summary": "Returns connection statistics",
   543          "operationId": "connectionStatistics",
   544          "responses": {
   545            "200": {
   546              "description": "Connection statistics",
   547              "schema": {
   548                "$ref": "#/definitions/ConnectionStatisticsDTO"
   549              }
   550            }
   551          }
   552        }
   553      },
   554      "/connection/traffic": {
   555        "get": {
   556          "description": "Returns traffic information about requested connection",
   557          "tags": [
   558            "Connection"
   559          ],
   560          "summary": "Returns connection traffic information",
   561          "operationId": "connectionTraffic",
   562          "responses": {
   563            "200": {
   564              "description": "Connection traffic",
   565              "schema": {
   566                "$ref": "#/definitions/ConnectionTrafficDTO"
   567              }
   568            },
   569            "400": {
   570              "description": "Failed to parse or request validation failed",
   571              "schema": {
   572                "$ref": "#/definitions/APIError"
   573              }
   574            }
   575          }
   576        }
   577      },
   578      "/entertainment": {
   579        "get": {
   580          "description": "Estimate entertainment durations/data cap for the MYST amount specified.",
   581          "tags": [
   582            "Entertainment"
   583          ],
   584          "summary": "Estimate entertainment durations/data cap for the MYST amount specified.",
   585          "operationId": "Estimate",
   586          "parameters": [
   587            {
   588              "type": "integer",
   589              "description": "Amount of MYST to give entertainment estimates for.",
   590              "name": "amount",
   591              "in": "query",
   592              "required": true
   593            }
   594          ],
   595          "responses": {
   596            "200": {
   597              "description": "Entertainment estimates",
   598              "schema": {
   599                "$ref": "#/definitions/EntertainmentEstimateResponse"
   600              }
   601            },
   602            "500": {
   603              "description": "Internal server error",
   604              "schema": {
   605                "$ref": "#/definitions/APIError"
   606              }
   607            }
   608          }
   609        }
   610      },
   611      "/exchange/myst/{currency}": {
   612        "get": {
   613          "description": "Returns the myst price in the given currency (dai is deprecated)",
   614          "tags": [
   615            "Exchange"
   616          ],
   617          "summary": "Returns the myst price in the given currency",
   618          "operationId": "ExchangeMyst",
   619          "parameters": [
   620            {
   621              "type": "string",
   622              "description": "Currency to which MYST is converted",
   623              "name": "currency",
   624              "in": "path",
   625              "required": true
   626            }
   627          ],
   628          "responses": {
   629            "200": {
   630              "description": "MYST price in given currency",
   631              "schema": {
   632                "$ref": "#/definitions/CurrencyExchangeDTO"
   633              }
   634            },
   635            "404": {
   636              "description": "Currency is not supported",
   637              "schema": {
   638                "$ref": "#/definitions/APIError"
   639              }
   640            },
   641            "500": {
   642              "description": "Internal server error",
   643              "schema": {
   644                "$ref": "#/definitions/APIError"
   645              }
   646            }
   647          }
   648        }
   649      },
   650      "/export": {
   651        "post": {
   652          "description": "Creates identity and stores in keystore encrypted with passphrase",
   653          "tags": [
   654            "export"
   655          ],
   656          "summary": "Exports a given identity",
   657          "operationId": "Identity",
   658          "parameters": [
   659            {
   660              "description": "Parameter in body (passphrase) required for creating new identity",
   661              "name": "body",
   662              "in": "body",
   663              "schema": {
   664                "$ref": "#/definitions/IdentityExportRequestDTO"
   665              }
   666            }
   667          ],
   668          "responses": {
   669            "200": {
   670              "description": "Identity created",
   671              "schema": {
   672                "$ref": "#/definitions/IdentityExportResponseDTO"
   673              }
   674            },
   675            "400": {
   676              "description": "Failed to parse or request validation failed",
   677              "schema": {
   678                "$ref": "#/definitions/APIError"
   679              }
   680            },
   681            "500": {
   682              "description": "Internal server error",
   683              "schema": {
   684                "$ref": "#/definitions/APIError"
   685              }
   686            }
   687          }
   688        }
   689      },
   690      "/feedback/bug-report": {
   691        "post": {
   692          "description": "Creates a bug report with logs",
   693          "tags": [
   694            "Feedback"
   695          ],
   696          "summary": "Creates a bug report",
   697          "operationId": "bugReport",
   698          "parameters": [
   699            {
   700              "description": "Report a bug",
   701              "name": "body",
   702              "in": "body",
   703              "schema": {
   704                "$ref": "#/definitions/BugReport"
   705              }
   706            }
   707          ],
   708          "responses": {
   709            "200": {
   710              "description": "Bug report response",
   711              "schema": {
   712                "$ref": "#/definitions/CreateBugReportResponse"
   713              }
   714            },
   715            "400": {
   716              "description": "Failed to parse or request validation failed",
   717              "schema": {
   718                "$ref": "#/definitions/APIError"
   719              }
   720            },
   721            "429": {
   722              "description": "Too many requests (max. 1/minute)",
   723              "schema": {
   724                "$ref": "#/definitions/APIError"
   725              }
   726            },
   727            "500": {
   728              "description": "Internal server error",
   729              "schema": {
   730                "$ref": "#/definitions/APIError"
   731              }
   732            },
   733            "503": {
   734              "description": "Unavailable",
   735              "schema": {
   736                "$ref": "#/definitions/APIError"
   737              }
   738            }
   739          }
   740        }
   741      },
   742      "/feedback/issue": {
   743        "post": {
   744          "description": "Reports user issue to github",
   745          "tags": [
   746            "Feedback"
   747          ],
   748          "summary": "Reports user issue to github",
   749          "operationId": "reportIssueGithub",
   750          "deprecated": true,
   751          "parameters": [
   752            {
   753              "description": "Bug report issue request",
   754              "name": "body",
   755              "in": "body",
   756              "schema": {
   757                "$ref": "#/definitions/BugReport"
   758              }
   759            }
   760          ],
   761          "responses": {
   762            "200": {
   763              "description": "Issue reported",
   764              "schema": {
   765                "$ref": "#/definitions/ReportIssueGithubResponse"
   766              }
   767            },
   768            "400": {
   769              "description": "Failed to parse or request validation failed",
   770              "schema": {
   771                "$ref": "#/definitions/APIError"
   772              }
   773            },
   774            "429": {
   775              "description": "Too many requests (max. 1/minute)",
   776              "schema": {
   777                "$ref": "#/definitions/APIError"
   778              }
   779            },
   780            "500": {
   781              "description": "Internal server error",
   782              "schema": {
   783                "$ref": "#/definitions/APIError"
   784              }
   785            },
   786            "503": {
   787              "description": "Unavailable",
   788              "schema": {
   789                "$ref": "#/definitions/APIError"
   790              }
   791            }
   792          }
   793        }
   794      },
   795      "/feedback/issue/intercom": {
   796        "post": {
   797          "description": "Reports user user to intercom",
   798          "tags": [
   799            "Feedback"
   800          ],
   801          "summary": "Reports user issue to intercom",
   802          "operationId": "reportIssueIntercom",
   803          "deprecated": true,
   804          "parameters": [
   805            {
   806              "description": "Report issue request",
   807              "name": "body",
   808              "in": "body",
   809              "schema": {
   810                "$ref": "#/definitions/UserReport"
   811              }
   812            }
   813          ],
   814          "responses": {
   815            "201": {
   816              "description": "Issue reported"
   817            },
   818            "400": {
   819              "description": "Failed to parse or request validation failed",
   820              "schema": {
   821                "$ref": "#/definitions/APIError"
   822              }
   823            },
   824            "429": {
   825              "description": "Too many requests (max. 1/minute)",
   826              "schema": {
   827                "$ref": "#/definitions/APIError"
   828              }
   829            },
   830            "500": {
   831              "description": "Internal server error",
   832              "schema": {
   833                "$ref": "#/definitions/APIError"
   834              }
   835            },
   836            "503": {
   837              "description": "Unavailable",
   838              "schema": {
   839                "$ref": "#/definitions/APIError"
   840              }
   841            }
   842          }
   843        }
   844      },
   845      "/healthcheck": {
   846        "get": {
   847          "description": "Returns health check information about client",
   848          "tags": [
   849            "Client"
   850          ],
   851          "summary": "Returns information about client",
   852          "operationId": "healthCheck",
   853          "responses": {
   854            "200": {
   855              "description": "Health check information",
   856              "schema": {
   857                "$ref": "#/definitions/HealthCheckDTO"
   858              }
   859            }
   860          }
   861        }
   862      },
   863      "/identities": {
   864        "get": {
   865          "description": "Returns list of identities",
   866          "tags": [
   867            "Identity"
   868          ],
   869          "summary": "Returns identities",
   870          "operationId": "listIdentities",
   871          "responses": {
   872            "200": {
   873              "description": "List of identities",
   874              "schema": {
   875                "$ref": "#/definitions/ListIdentitiesResponse"
   876              }
   877            }
   878          }
   879        },
   880        "post": {
   881          "description": "Creates identity and stores in keystore encrypted with passphrase",
   882          "tags": [
   883            "Identity"
   884          ],
   885          "summary": "Creates new identity",
   886          "operationId": "createIdentity",
   887          "parameters": [
   888            {
   889              "description": "Parameter in body (passphrase) required for creating new identity",
   890              "name": "body",
   891              "in": "body",
   892              "schema": {
   893                "$ref": "#/definitions/IdentityCreateRequestDTO"
   894              }
   895            }
   896          ],
   897          "responses": {
   898            "200": {
   899              "description": "Identity created",
   900              "schema": {
   901                "$ref": "#/definitions/IdentityRefDTO"
   902              }
   903            },
   904            "400": {
   905              "description": "Failed to parse or request validation failed",
   906              "schema": {
   907                "$ref": "#/definitions/APIError"
   908              }
   909            },
   910            "500": {
   911              "description": "Internal server error",
   912              "schema": {
   913                "$ref": "#/definitions/APIError"
   914              }
   915            }
   916          }
   917        }
   918      },
   919      "/identities-import": {
   920        "post": {
   921          "description": "Imports a given identity returning it is a blob of text which can later be used to import it back.",
   922          "tags": [
   923            "Identities"
   924          ],
   925          "summary": "Imports a given identity.",
   926          "operationId": "importIdentity",
   927          "parameters": [
   928            {
   929              "description": "Parameter in body used to import an identity.",
   930              "name": "body",
   931              "in": "body",
   932              "schema": {
   933                "$ref": "#/definitions/IdentityImportRequest"
   934              }
   935            }
   936          ],
   937          "responses": {
   938            "200": {
   939              "description": "Unlocked identity returned",
   940              "schema": {
   941                "$ref": "#/definitions/IdentityRefDTO"
   942              }
   943            },
   944            "400": {
   945              "description": "Failed to parse or request validation failed",
   946              "schema": {
   947                "$ref": "#/definitions/APIError"
   948              }
   949            },
   950            "422": {
   951              "description": "Unable to process the request at this point",
   952              "schema": {
   953                "$ref": "#/definitions/APIError"
   954              }
   955            },
   956            "500": {
   957              "description": "Internal server error",
   958              "schema": {
   959                "$ref": "#/definitions/APIError"
   960              }
   961            }
   962          }
   963        }
   964      },
   965      "/identities/current": {
   966        "put": {
   967          "description": "Tries to retrieve the last used identity, the first identity, or creates and returns a new identity",
   968          "tags": [
   969            "Identity"
   970          ],
   971          "summary": "Returns my current identity",
   972          "operationId": "currentIdentity",
   973          "parameters": [
   974            {
   975              "description": "Parameter in body (passphrase) required for creating new identity",
   976              "name": "body",
   977              "in": "body",
   978              "schema": {
   979                "$ref": "#/definitions/IdentityCurrentRequestDTO"
   980              }
   981            }
   982          ],
   983          "responses": {
   984            "200": {
   985              "description": "Unlocked identity returned",
   986              "schema": {
   987                "$ref": "#/definitions/IdentityRefDTO"
   988              }
   989            },
   990            "400": {
   991              "description": "Failed to parse or request validation failed",
   992              "schema": {
   993                "$ref": "#/definitions/APIError"
   994              }
   995            },
   996            "500": {
   997              "description": "Internal server error",
   998              "schema": {
   999                "$ref": "#/definitions/APIError"
  1000              }
  1001            }
  1002          }
  1003        }
  1004      },
  1005      "/identities/provider/eligibility": {
  1006        "get": {
  1007          "summary": "Checks if provider is eligible for free registration",
  1008          "operationId": "ProviderEligibility",
  1009          "responses": {
  1010            "200": {
  1011              "description": "Eligibility response",
  1012              "schema": {
  1013                "$ref": "#/definitions/EligibilityResponse"
  1014              }
  1015            },
  1016            "500": {
  1017              "description": "Internal server error",
  1018              "schema": {
  1019                "$ref": "#/definitions/APIError"
  1020              }
  1021            }
  1022          }
  1023        }
  1024      },
  1025      "/identities/{id}": {
  1026        "get": {
  1027          "description": "Provide identity details",
  1028          "tags": [
  1029            "Identity"
  1030          ],
  1031          "summary": "Get identity",
  1032          "operationId": "getIdentity",
  1033          "parameters": [
  1034            {
  1035              "type": "string",
  1036              "description": "hex address of identity",
  1037              "name": "id",
  1038              "in": "path",
  1039              "required": true
  1040            }
  1041          ],
  1042          "responses": {
  1043            "200": {
  1044              "description": "Identity retrieved",
  1045              "schema": {
  1046                "$ref": "#/definitions/IdentityRefDTO"
  1047              }
  1048            },
  1049            "404": {
  1050              "description": "ID not found",
  1051              "schema": {
  1052                "$ref": "#/definitions/APIError"
  1053              }
  1054            },
  1055            "500": {
  1056              "description": "Internal server error",
  1057              "schema": {
  1058                "$ref": "#/definitions/APIError"
  1059              }
  1060            }
  1061          }
  1062        }
  1063      },
  1064      "/identities/{id}/balance/refresh": {
  1065        "put": {
  1066          "description": "Refresh balance of given identity",
  1067          "tags": [
  1068            "Identity"
  1069          ],
  1070          "summary": "Refresh balance of given identity",
  1071          "operationId": "balance",
  1072          "parameters": [
  1073            {
  1074              "type": "string",
  1075              "description": "hex address of identity",
  1076              "name": "id",
  1077              "in": "path",
  1078              "required": true
  1079            }
  1080          ],
  1081          "responses": {
  1082            "200": {
  1083              "description": "Updated balance",
  1084              "schema": {
  1085                "$ref": "#/definitions/BalanceDTO"
  1086              }
  1087            },
  1088            "404": {
  1089              "description": "ID not found",
  1090              "schema": {
  1091                "$ref": "#/definitions/APIError"
  1092              }
  1093            }
  1094          }
  1095        }
  1096      },
  1097      "/identities/{id}/beneficiary": {
  1098        "get": {
  1099          "description": "Provides beneficiary address for given identity",
  1100          "tags": [
  1101            "Identity",
  1102            "beneficiary"
  1103          ],
  1104          "summary": "Provide identity beneficiary address",
  1105          "operationId": "address",
  1106          "parameters": [
  1107            {
  1108              "type": "string",
  1109              "description": "hex address of identity",
  1110              "name": "id",
  1111              "in": "path",
  1112              "required": true
  1113            }
  1114          ],
  1115          "responses": {
  1116            "200": {
  1117              "description": "Beneficiary retrieved",
  1118              "schema": {
  1119                "$ref": "#/definitions/IdentityBeneficiaryResponseDTO"
  1120              }
  1121            },
  1122            "500": {
  1123              "description": "Internal server error",
  1124              "schema": {
  1125                "$ref": "#/definitions/APIError"
  1126              }
  1127            }
  1128          }
  1129        }
  1130      },
  1131      "/identities/{id}/register": {
  1132        "post": {
  1133          "description": "Registers identity on Mysterium Network smart contracts using Transactor",
  1134          "tags": [
  1135            "Identity"
  1136          ],
  1137          "summary": "Registers identity",
  1138          "operationId": "RegisterIdentity",
  1139          "parameters": [
  1140            {
  1141              "type": "string",
  1142              "description": "Identity address to register",
  1143              "name": "id",
  1144              "in": "path",
  1145              "required": true
  1146            },
  1147            {
  1148              "description": "all body parameters a optional",
  1149              "name": "body",
  1150              "in": "body",
  1151              "schema": {
  1152                "$ref": "#/definitions/IdentityRegisterRequestDTO"
  1153              }
  1154            }
  1155          ],
  1156          "responses": {
  1157            "200": {
  1158              "description": "Identity registered."
  1159            },
  1160            "202": {
  1161              "description": "Identity registration accepted and will be processed."
  1162            },
  1163            "400": {
  1164              "description": "Failed to parse or request validation failed",
  1165              "schema": {
  1166                "$ref": "#/definitions/APIError"
  1167              }
  1168            },
  1169            "422": {
  1170              "description": "Unable to process the request at this point",
  1171              "schema": {
  1172                "$ref": "#/definitions/APIError"
  1173              }
  1174            },
  1175            "500": {
  1176              "description": "Internal server error",
  1177              "schema": {
  1178                "$ref": "#/definitions/APIError"
  1179              }
  1180            }
  1181          }
  1182        }
  1183      },
  1184      "/identities/{id}/registration": {
  1185        "get": {
  1186          "description": "Provides registration status for given identity, if identity is not registered - provides additional data required for identity registration",
  1187          "tags": [
  1188            "Identity"
  1189          ],
  1190          "summary": "Provide identity registration status",
  1191          "operationId": "identityRegistration",
  1192          "parameters": [
  1193            {
  1194              "type": "string",
  1195              "description": "hex address of identity",
  1196              "name": "id",
  1197              "in": "path",
  1198              "required": true
  1199            }
  1200          ],
  1201          "responses": {
  1202            "200": {
  1203              "description": "Status retrieved",
  1204              "schema": {
  1205                "$ref": "#/definitions/IdentityRegistrationResponseDTO"
  1206              }
  1207            },
  1208            "404": {
  1209              "description": "ID not found",
  1210              "schema": {
  1211                "$ref": "#/definitions/APIError"
  1212              }
  1213            },
  1214            "500": {
  1215              "description": "Internal server error",
  1216              "schema": {
  1217                "$ref": "#/definitions/APIError"
  1218              }
  1219            }
  1220          }
  1221        }
  1222      },
  1223      "/identities/{id}/unlock": {
  1224        "put": {
  1225          "description": "Uses passphrase to decrypt identity stored in keystore",
  1226          "tags": [
  1227            "Identity"
  1228          ],
  1229          "summary": "Unlocks identity",
  1230          "operationId": "unlockIdentity",
  1231          "parameters": [
  1232            {
  1233              "type": "string",
  1234              "description": "Identity stored in keystore",
  1235              "name": "id",
  1236              "in": "path",
  1237              "required": true
  1238            },
  1239            {
  1240              "description": "Parameter in body (passphrase) required for unlocking identity",
  1241              "name": "body",
  1242              "in": "body",
  1243              "schema": {
  1244                "$ref": "#/definitions/IdentityUnlockRequestDTO"
  1245              }
  1246            }
  1247          ],
  1248          "responses": {
  1249            "202": {
  1250              "description": "Identity unlocked"
  1251            },
  1252            "400": {
  1253              "description": "Failed to parse or request validation failed",
  1254              "schema": {
  1255                "$ref": "#/definitions/APIError"
  1256              }
  1257            },
  1258            "403": {
  1259              "description": "Unlock failed",
  1260              "schema": {
  1261                "$ref": "#/definitions/APIError"
  1262              }
  1263            },
  1264            "404": {
  1265              "description": "ID not found",
  1266              "schema": {
  1267                "$ref": "#/definitions/APIError"
  1268              }
  1269            }
  1270          }
  1271        }
  1272      },
  1273      "/location": {
  1274        "get": {
  1275          "description": "Returns original locations",
  1276          "tags": [
  1277            "Location"
  1278          ],
  1279          "summary": "Returns original location",
  1280          "operationId": "getOriginLocation",
  1281          "responses": {
  1282            "200": {
  1283              "description": "Original locations",
  1284              "schema": {
  1285                "$ref": "#/definitions/LocationDTO"
  1286              }
  1287            }
  1288          }
  1289        }
  1290      },
  1291      "/mmn/api-key": {
  1292        "post": {
  1293          "description": "sets MMN's API key",
  1294          "tags": [
  1295            "MMN"
  1296          ],
  1297          "summary": "sets MMN's API key",
  1298          "operationId": "setApiKey",
  1299          "parameters": [
  1300            {
  1301              "description": "api_key field",
  1302              "name": "body",
  1303              "in": "body",
  1304              "schema": {
  1305                "$ref": "#/definitions/MMNApiKeyRequest"
  1306              }
  1307            }
  1308          ],
  1309          "responses": {
  1310            "200": {
  1311              "description": "API key has been set"
  1312            },
  1313            "400": {
  1314              "description": "Failed to parse or request validation failed",
  1315              "schema": {
  1316                "$ref": "#/definitions/APIError"
  1317              }
  1318            },
  1319            "422": {
  1320              "description": "Unable to process the request at this point",
  1321              "schema": {
  1322                "$ref": "#/definitions/APIError"
  1323              }
  1324            },
  1325            "500": {
  1326              "description": "Internal server error",
  1327              "schema": {
  1328                "$ref": "#/definitions/APIError"
  1329              }
  1330            }
  1331          }
  1332        },
  1333        "delete": {
  1334          "description": "Clears MMN's API key from config",
  1335          "tags": [
  1336            "MMN"
  1337          ],
  1338          "summary": "Clears MMN's API key from config",
  1339          "operationId": "clearApiKey",
  1340          "responses": {
  1341            "200": {
  1342              "description": "MMN API key removed"
  1343            },
  1344            "500": {
  1345              "description": "Internal server error",
  1346              "schema": {
  1347                "$ref": "#/definitions/APIError"
  1348              }
  1349            }
  1350          }
  1351        }
  1352      },
  1353      "/mmn/claim-link": {
  1354        "get": {
  1355          "description": "Generates claim link to claim Node on mystnodes.com with a click",
  1356          "tags": [
  1357            "MMN"
  1358          ],
  1359          "summary": "Generate claim link",
  1360          "operationId": "getClaimLink",
  1361          "responses": {
  1362            "200": {
  1363              "description": "Link response",
  1364              "schema": {
  1365                "$ref": "#/definitions/MMNLinkRedirectResponse"
  1366              }
  1367            },
  1368            "500": {
  1369              "description": "Internal server error",
  1370              "schema": {
  1371                "$ref": "#/definitions/APIError"
  1372              }
  1373            }
  1374          }
  1375        }
  1376      },
  1377      "/mmn/onboarding": {
  1378        "get": {
  1379          "description": "Generates onboarding link for one click onboarding",
  1380          "tags": [
  1381            "MMN"
  1382          ],
  1383          "summary": "Generate onboarding link",
  1384          "operationId": "GetOnboardingLink",
  1385          "responses": {
  1386            "200": {
  1387              "description": "Link response",
  1388              "schema": {
  1389                "$ref": "#/definitions/MMNLinkRedirectResponse"
  1390              }
  1391            },
  1392            "500": {
  1393              "description": "Internal server error",
  1394              "schema": {
  1395                "$ref": "#/definitions/APIError"
  1396              }
  1397            }
  1398          }
  1399        },
  1400        "post": {
  1401          "description": "verify grant for onboarding",
  1402          "tags": [
  1403            "MMN"
  1404          ],
  1405          "summary": "verify grant for onboarding",
  1406          "operationId": "VerifyGrant",
  1407          "responses": {
  1408            "200": {
  1409              "description": "Link response",
  1410              "schema": {
  1411                "$ref": "#/definitions/MMNGrantVerificationResponse"
  1412              }
  1413            },
  1414            "500": {
  1415              "description": "Internal server error",
  1416              "schema": {
  1417                "$ref": "#/definitions/APIError"
  1418              }
  1419            }
  1420          }
  1421        }
  1422      },
  1423      "/mmn/report": {
  1424        "get": {
  1425          "description": "returns MMN's API key",
  1426          "tags": [
  1427            "MMN"
  1428          ],
  1429          "summary": "returns MMN's API key",
  1430          "operationId": "getApiKey",
  1431          "responses": {
  1432            "200": {
  1433              "description": "MMN's API key",
  1434              "schema": {
  1435                "$ref": "#/definitions/MMNApiKeyRequest"
  1436              }
  1437            }
  1438          }
  1439        }
  1440      },
  1441      "/nat/type": {
  1442        "get": {
  1443          "description": "Returns NAT type. May produce invalid result while VPN connection is established",
  1444          "tags": [
  1445            "NAT"
  1446          ],
  1447          "summary": "Shows NAT type in terms of traversal capabilities.",
  1448          "operationId": "NATTypeDTO",
  1449          "responses": {
  1450            "200": {
  1451              "description": "NAT type",
  1452              "schema": {
  1453                "$ref": "#/definitions/NATTypeDTO"
  1454              }
  1455            },
  1456            "500": {
  1457              "description": "Internal server error",
  1458              "schema": {
  1459                "$ref": "#/definitions/APIError"
  1460              }
  1461            }
  1462          }
  1463        }
  1464      },
  1465      "/node/latest-release": {
  1466        "get": {
  1467          "description": "Checks for latest Node release package and retrieves its information",
  1468          "tags": [
  1469            "node"
  1470          ],
  1471          "summary": "Latest Node release information",
  1472          "operationId": "GetLatestRelease",
  1473          "responses": {
  1474            "200": {
  1475              "description": "Latest Node release information",
  1476              "schema": {
  1477                "$ref": "#/definitions/LatestReleaseResponse"
  1478              }
  1479            },
  1480            "500": {
  1481              "description": "Failed to retrieve latest Node release information",
  1482              "schema": {
  1483                "$ref": "#/definitions/APIError"
  1484              }
  1485            }
  1486          }
  1487        }
  1488      },
  1489      "/node/monitoring-agent-statuses": {
  1490        "get": {
  1491          "description": "Node connectivity statuses as seen by monitoring agent",
  1492          "tags": [
  1493            "provider"
  1494          ],
  1495          "summary": "Provides Node connectivity statuses from monitoring agent",
  1496          "operationId": "MonitoringAgentStatuses",
  1497          "responses": {
  1498            "200": {
  1499              "description": "Monitoring agent statuses (\"success\"/\"cancelled\"/\"connect_drop/\"connect_fail/\"internet_fail)",
  1500              "schema": {
  1501                "$ref": "#/definitions/MonitoringAgentResponse"
  1502              }
  1503            }
  1504          }
  1505        }
  1506      },
  1507      "/node/monitoring-status": {
  1508        "get": {
  1509          "description": "Node Status as seen by monitoring agent",
  1510          "tags": [
  1511            "provider"
  1512          ],
  1513          "summary": "Provides Node proposal status",
  1514          "operationId": "NodeStatus",
  1515          "responses": {
  1516            "200": {
  1517              "description": "Node status (\"passed\"/\"failed\"/\"pending)",
  1518              "schema": {
  1519                "$ref": "#/definitions/NodeStatusResponse"
  1520              }
  1521            }
  1522          }
  1523        }
  1524      },
  1525      "/node/provider/activity-stats": {
  1526        "get": {
  1527          "description": "Node activity stats",
  1528          "tags": [
  1529            "provider"
  1530          ],
  1531          "summary": "Provides Node activity stats",
  1532          "operationId": "GetProviderActivityStats",
  1533          "responses": {
  1534            "200": {
  1535              "description": "Provider activity stats",
  1536              "schema": {
  1537                "$ref": "#/definitions/ActivityStatsResponse"
  1538              }
  1539            },
  1540            "400": {
  1541              "description": "Failed to parse or request validation failed",
  1542              "schema": {
  1543                "$ref": "#/definitions/APIError"
  1544              }
  1545            },
  1546            "500": {
  1547              "description": "Internal server error",
  1548              "schema": {
  1549                "$ref": "#/definitions/APIError"
  1550              }
  1551            }
  1552          }
  1553        }
  1554      },
  1555      "/node/provider/consumers-count": {
  1556        "get": {
  1557          "description": "Node unique consumers count served during a period of time.",
  1558          "tags": [
  1559            "provider"
  1560          ],
  1561          "summary": "Provides Node consumers number served during a period of time",
  1562          "operationId": "GetProviderConsumersCount",
  1563          "parameters": [
  1564            {
  1565              "type": "string",
  1566              "description": "period of time (\"1d\", \"7d\", \"30d\")",
  1567              "name": "range",
  1568              "in": "query"
  1569            }
  1570          ],
  1571          "responses": {
  1572            "200": {
  1573              "description": "Provider consumers count",
  1574              "schema": {
  1575                "$ref": "#/definitions/ProviderConsumersCountResponse"
  1576              }
  1577            },
  1578            "400": {
  1579              "description": "Failed to parse or request validation failed",
  1580              "schema": {
  1581                "$ref": "#/definitions/APIError"
  1582              }
  1583            },
  1584            "500": {
  1585              "description": "Internal server error",
  1586              "schema": {
  1587                "$ref": "#/definitions/APIError"
  1588              }
  1589            }
  1590          }
  1591        }
  1592      },
  1593      "/node/provider/quality": {
  1594        "get": {
  1595          "description": "Node connectivity quality",
  1596          "tags": [
  1597            "provider"
  1598          ],
  1599          "summary": "Provides Node quality",
  1600          "operationId": "GetProviderQuality",
  1601          "responses": {
  1602            "200": {
  1603              "description": "Provider quality",
  1604              "schema": {
  1605                "$ref": "#/definitions/QualityInfoResponse"
  1606              }
  1607            },
  1608            "400": {
  1609              "description": "Failed to parse or request validation failed",
  1610              "schema": {
  1611                "$ref": "#/definitions/APIError"
  1612              }
  1613            },
  1614            "500": {
  1615              "description": "Internal server error",
  1616              "schema": {
  1617                "$ref": "#/definitions/APIError"
  1618              }
  1619            }
  1620          }
  1621        }
  1622      },
  1623      "/node/provider/series/data": {
  1624        "get": {
  1625          "description": "Node data series metrics of transferred bytes during a period of time.",
  1626          "tags": [
  1627            "provider"
  1628          ],
  1629          "summary": "Provides Node data series metrics of transferred bytes",
  1630          "operationId": "GetProviderTransferredDataSeries",
  1631          "parameters": [
  1632            {
  1633              "type": "string",
  1634              "description": "period of time (\"1d\", \"7d\", \"30d\")",
  1635              "name": "range",
  1636              "in": "query"
  1637            }
  1638          ],
  1639          "responses": {
  1640            "200": {
  1641              "description": "Provider time series metrics of transferred bytes",
  1642              "schema": {
  1643                "$ref": "#/definitions/ProviderTransferredDataSeriesResponse"
  1644              }
  1645            },
  1646            "400": {
  1647              "description": "Failed to parse or request validation failed",
  1648              "schema": {
  1649                "$ref": "#/definitions/APIError"
  1650              }
  1651            },
  1652            "500": {
  1653              "description": "Internal server error",
  1654              "schema": {
  1655                "$ref": "#/definitions/APIError"
  1656              }
  1657            }
  1658          }
  1659        }
  1660      },
  1661      "/node/provider/series/earnings": {
  1662        "get": {
  1663          "description": "Node time series metrics of earnings during a period of time.",
  1664          "tags": [
  1665            "provider"
  1666          ],
  1667          "summary": "Provides Node  time series metrics of earnings during a period of time",
  1668          "operationId": "GetProviderEarningsSeries",
  1669          "parameters": [
  1670            {
  1671              "type": "string",
  1672              "description": "period of time (\"1d\", \"7d\", \"30d\")",
  1673              "name": "range",
  1674              "in": "query"
  1675            }
  1676          ],
  1677          "responses": {
  1678            "200": {
  1679              "description": "Provider time series metrics of MYSTT earnings",
  1680              "schema": {
  1681                "$ref": "#/definitions/ProviderEarningsSeriesResponse"
  1682              }
  1683            },
  1684            "400": {
  1685              "description": "Failed to parse or request validation failed",
  1686              "schema": {
  1687                "$ref": "#/definitions/APIError"
  1688              }
  1689            },
  1690            "500": {
  1691              "description": "Internal server error",
  1692              "schema": {
  1693                "$ref": "#/definitions/APIError"
  1694              }
  1695            }
  1696          }
  1697        }
  1698      },
  1699      "/node/provider/series/sessions": {
  1700        "get": {
  1701          "description": "Node time series metrics of sessions started during a period of time.",
  1702          "tags": [
  1703            "provider"
  1704          ],
  1705          "summary": "Provides Node data series metrics of sessions started during a period of time",
  1706          "operationId": "GetProviderSessionsSeries",
  1707          "parameters": [
  1708            {
  1709              "type": "string",
  1710              "description": "period of time (\"1d\", \"7d\", \"30d\")",
  1711              "name": "range",
  1712              "in": "query"
  1713            }
  1714          ],
  1715          "responses": {
  1716            "200": {
  1717              "description": "Provider time series metrics of started sessions",
  1718              "schema": {
  1719                "$ref": "#/definitions/ProviderSessionsSeriesResponse"
  1720              }
  1721            },
  1722            "400": {
  1723              "description": "Failed to parse or request validation failed",
  1724              "schema": {
  1725                "$ref": "#/definitions/APIError"
  1726              }
  1727            },
  1728            "500": {
  1729              "description": "Internal server error",
  1730              "schema": {
  1731                "$ref": "#/definitions/APIError"
  1732              }
  1733            }
  1734          }
  1735        }
  1736      },
  1737      "/node/provider/service-earnings": {
  1738        "get": {
  1739          "description": "Node earnings per service and total earnings in the all network.",
  1740          "tags": [
  1741            "provider"
  1742          ],
  1743          "summary": "Provides Node earnings per service and total earnings in the all network",
  1744          "operationId": "GetProviderServiceEarnings",
  1745          "responses": {
  1746            "200": {
  1747              "description": "earnings per service and total earnings",
  1748              "schema": {
  1749                "$ref": "#/definitions/EarningsPerServiceResponse"
  1750              }
  1751            },
  1752            "400": {
  1753              "description": "Failed to parse or request validation failed",
  1754              "schema": {
  1755                "$ref": "#/definitions/APIError"
  1756              }
  1757            },
  1758            "500": {
  1759              "description": "Internal server error",
  1760              "schema": {
  1761                "$ref": "#/definitions/APIError"
  1762              }
  1763            }
  1764          }
  1765        }
  1766      },
  1767      "/node/provider/sessions": {
  1768        "get": {
  1769          "description": "Node sessions metrics during a period of time",
  1770          "tags": [
  1771            "provider"
  1772          ],
  1773          "summary": "Provides Node sessions data during a period of time",
  1774          "operationId": "GetProviderSessions",
  1775          "parameters": [
  1776            {
  1777              "type": "string",
  1778              "description": "period of time (\"1d\", \"7d\", \"30d\")",
  1779              "name": "range",
  1780              "in": "query"
  1781            }
  1782          ],
  1783          "responses": {
  1784            "200": {
  1785              "description": "Provider sessions list",
  1786              "schema": {
  1787                "$ref": "#/definitions/ProviderSessionsResponse"
  1788              }
  1789            },
  1790            "400": {
  1791              "description": "Failed to parse or request validation failed",
  1792              "schema": {
  1793                "$ref": "#/definitions/APIError"
  1794              }
  1795            },
  1796            "500": {
  1797              "description": "Internal server error",
  1798              "schema": {
  1799                "$ref": "#/definitions/APIError"
  1800              }
  1801            }
  1802          }
  1803        }
  1804      },
  1805      "/node/provider/sessions-count": {
  1806        "get": {
  1807          "description": "Node sessions count during a period of time",
  1808          "tags": [
  1809            "provider"
  1810          ],
  1811          "summary": "Provides Node sessions number during a period of time",
  1812          "operationId": "GetProviderSessionsCount",
  1813          "parameters": [
  1814            {
  1815              "type": "string",
  1816              "description": "period of time (\"1d\", \"7d\", \"30d\")",
  1817              "name": "range",
  1818              "in": "query"
  1819            }
  1820          ],
  1821          "responses": {
  1822            "200": {
  1823              "description": "Provider sessions count",
  1824              "schema": {
  1825                "$ref": "#/definitions/ProviderSessionsCountResponse"
  1826              }
  1827            },
  1828            "400": {
  1829              "description": "Failed to parse or request validation failed",
  1830              "schema": {
  1831                "$ref": "#/definitions/APIError"
  1832              }
  1833            },
  1834            "500": {
  1835              "description": "Internal server error",
  1836              "schema": {
  1837                "$ref": "#/definitions/APIError"
  1838              }
  1839            }
  1840          }
  1841        }
  1842      },
  1843      "/node/provider/transferred-data": {
  1844        "get": {
  1845          "description": "Node transferred data during a period of time",
  1846          "tags": [
  1847            "provider"
  1848          ],
  1849          "summary": "Provides total traffic served by the provider during a period of time",
  1850          "operationId": "GetProviderTransferredData",
  1851          "parameters": [
  1852            {
  1853              "type": "string",
  1854              "description": "period of time (\"1d\", \"7d\", \"30d\")",
  1855              "name": "range",
  1856              "in": "query"
  1857            }
  1858          ],
  1859          "responses": {
  1860            "200": {
  1861              "description": "Provider transferred data",
  1862              "schema": {
  1863                "$ref": "#/definitions/ProviderTransferredDataResponse"
  1864              }
  1865            },
  1866            "400": {
  1867              "description": "Failed to parse or request validation failed",
  1868              "schema": {
  1869                "$ref": "#/definitions/APIError"
  1870              }
  1871            },
  1872            "500": {
  1873              "description": "Internal server error",
  1874              "schema": {
  1875                "$ref": "#/definitions/APIError"
  1876              }
  1877            }
  1878          }
  1879        }
  1880      },
  1881      "/proposals": {
  1882        "get": {
  1883          "description": "Returns list of proposals filtered by provider id",
  1884          "tags": [
  1885            "Proposal"
  1886          ],
  1887          "summary": "Returns proposals",
  1888          "operationId": "listProposals",
  1889          "parameters": [
  1890            {
  1891              "type": "string",
  1892              "description": "id of provider proposals",
  1893              "name": "provider_id",
  1894              "in": "query"
  1895            },
  1896            {
  1897              "type": "string",
  1898              "description": "the service type of the proposal. Possible values are \"openvpn\", \"wireguard\" and \"noop\"",
  1899              "name": "service_type",
  1900              "in": "query"
  1901            },
  1902            {
  1903              "type": "string",
  1904              "description": "the access policy id to filter the proposals by",
  1905              "name": "access_policy",
  1906              "in": "query"
  1907            },
  1908            {
  1909              "type": "string",
  1910              "description": "the access policy source to filter the proposals by",
  1911              "name": "access_policy_source",
  1912              "in": "query"
  1913            },
  1914            {
  1915              "type": "string",
  1916              "description": "If given will filter proposals by node location country.",
  1917              "name": "country",
  1918              "in": "query"
  1919            },
  1920            {
  1921              "type": "string",
  1922              "description": "IP Type (residential, datacenter, etc.).",
  1923              "name": "ip_type",
  1924              "in": "query"
  1925            },
  1926            {
  1927              "type": "integer",
  1928              "description": "Minimum compatibility level of the proposal.",
  1929              "name": "compatibility_min",
  1930              "in": "query"
  1931            },
  1932            {
  1933              "type": "integer",
  1934              "description": "Maximum compatibility level of the proposal.",
  1935              "name": "compatibility_max",
  1936              "in": "query"
  1937            },
  1938            {
  1939              "type": "number",
  1940              "description": "Minimum quality of the provider.",
  1941              "name": "quality_min",
  1942              "in": "query"
  1943            },
  1944            {
  1945              "type": "string",
  1946              "description": "Pick nodes compatible with NAT of specified type. Specify \"auto\" to probe NAT.",
  1947              "name": "nat_compatibility",
  1948              "in": "query"
  1949            }
  1950          ],
  1951          "responses": {
  1952            "200": {
  1953              "description": "List of proposals",
  1954              "schema": {
  1955                "$ref": "#/definitions/ListProposalsResponse"
  1956              }
  1957            },
  1958            "500": {
  1959              "description": "Internal server error",
  1960              "schema": {
  1961                "$ref": "#/definitions/APIError"
  1962              }
  1963            }
  1964          }
  1965        }
  1966      },
  1967      "/proposals/countries": {
  1968        "get": {
  1969          "description": "Returns a list of countries with a number of proposals",
  1970          "tags": [
  1971            "Countries"
  1972          ],
  1973          "summary": "Returns number of proposals per country",
  1974          "operationId": "listCountries",
  1975          "parameters": [
  1976            {
  1977              "type": "string",
  1978              "description": "id of provider proposals",
  1979              "name": "provider_id",
  1980              "in": "query"
  1981            },
  1982            {
  1983              "type": "string",
  1984              "description": "the service type of the proposal. Possible values are \"openvpn\", \"wireguard\" and \"noop\"",
  1985              "name": "service_type",
  1986              "in": "query"
  1987            },
  1988            {
  1989              "type": "string",
  1990              "description": "the access policy id to filter the proposals by",
  1991              "name": "access_policy",
  1992              "in": "query"
  1993            },
  1994            {
  1995              "type": "string",
  1996              "description": "the access policy source to filter the proposals by",
  1997              "name": "access_policy_source",
  1998              "in": "query"
  1999            },
  2000            {
  2001              "type": "string",
  2002              "description": "If given will filter proposals by node location country.",
  2003              "name": "country",
  2004              "in": "query"
  2005            },
  2006            {
  2007              "type": "string",
  2008              "description": "IP Type (residential, datacenter, etc.).",
  2009              "name": "ip_type",
  2010              "in": "query"
  2011            },
  2012            {
  2013              "type": "integer",
  2014              "description": "Minimum compatibility level of the proposal.",
  2015              "name": "compatibility_min",
  2016              "in": "query"
  2017            },
  2018            {
  2019              "type": "integer",
  2020              "description": "Maximum compatibility level of the proposal.",
  2021              "name": "compatibility_max",
  2022              "in": "query"
  2023            },
  2024            {
  2025              "type": "number",
  2026              "description": "Minimum quality of the provider.",
  2027              "name": "quality_min",
  2028              "in": "query"
  2029            },
  2030            {
  2031              "type": "string",
  2032              "description": "Pick nodes compatible with NAT of specified type. Specify \"auto\" to probe NAT.",
  2033              "name": "nat_compatibility",
  2034              "in": "query"
  2035            }
  2036          ],
  2037          "responses": {
  2038            "200": {
  2039              "description": "List of countries",
  2040              "schema": {
  2041                "$ref": "#/definitions/ListProposalsCountiesResponse"
  2042              }
  2043            },
  2044            "500": {
  2045              "description": "Internal server error",
  2046              "schema": {
  2047                "$ref": "#/definitions/APIError"
  2048              }
  2049            }
  2050          }
  2051        }
  2052      },
  2053      "/proposals/filter-presets": {
  2054        "get": {
  2055          "description": "Returns proposal filter presets",
  2056          "tags": [
  2057            "Proposal"
  2058          ],
  2059          "summary": "Returns proposal filter presets",
  2060          "operationId": "proposalFilterPresets",
  2061          "responses": {
  2062            "200": {
  2063              "description": "List of proposal filter presets",
  2064              "schema": {
  2065                "$ref": "#/definitions/ListProposalFilterPresetsResponse"
  2066              }
  2067            },
  2068            "500": {
  2069              "description": "Internal server error",
  2070              "schema": {
  2071                "$ref": "#/definitions/APIError"
  2072              }
  2073            }
  2074          }
  2075        }
  2076      },
  2077      "/services": {
  2078        "get": {
  2079          "description": "ServiceList provides a list of running services on the node.",
  2080          "tags": [
  2081            "Service"
  2082          ],
  2083          "summary": "List of services",
  2084          "operationId": "ServiceListResponse",
  2085          "responses": {
  2086            "200": {
  2087              "description": "List of running services",
  2088              "schema": {
  2089                "$ref": "#/definitions/ServiceListResponse"
  2090              }
  2091            },
  2092            "500": {
  2093              "description": "Internal server error",
  2094              "schema": {
  2095                "$ref": "#/definitions/APIError"
  2096              }
  2097            }
  2098          }
  2099        },
  2100        "post": {
  2101          "description": "Provider starts serving new service to consumers",
  2102          "tags": [
  2103            "Service"
  2104          ],
  2105          "summary": "Starts service",
  2106          "operationId": "serviceStart",
  2107          "parameters": [
  2108            {
  2109              "description": "Parameters in body (providerID) required for starting new service",
  2110              "name": "body",
  2111              "in": "body",
  2112              "schema": {
  2113                "$ref": "#/definitions/ServiceStartRequestDTO"
  2114              }
  2115            }
  2116          ],
  2117          "responses": {
  2118            "201": {
  2119              "description": "Initiated service start",
  2120              "schema": {
  2121                "$ref": "#/definitions/ServiceInfoDTO"
  2122              }
  2123            },
  2124            "400": {
  2125              "description": "Failed to parse or request validation failed",
  2126              "schema": {
  2127                "$ref": "#/definitions/APIError"
  2128              }
  2129            },
  2130            "422": {
  2131              "description": "Unable to process the request at this point",
  2132              "schema": {
  2133                "$ref": "#/definitions/APIError"
  2134              }
  2135            },
  2136            "500": {
  2137              "description": "Internal server error",
  2138              "schema": {
  2139                "$ref": "#/definitions/APIError"
  2140              }
  2141            }
  2142          }
  2143        }
  2144      },
  2145      "/services/:id": {
  2146        "get": {
  2147          "description": "ServiceGet provides info for requested service on the node.",
  2148          "tags": [
  2149            "Service"
  2150          ],
  2151          "summary": "Information about service",
  2152          "operationId": "serviceGet",
  2153          "responses": {
  2154            "200": {
  2155              "description": "Service detailed information",
  2156              "schema": {
  2157                "$ref": "#/definitions/ServiceInfoDTO"
  2158              }
  2159            },
  2160            "404": {
  2161              "description": "Service not found",
  2162              "schema": {
  2163                "$ref": "#/definitions/APIError"
  2164              }
  2165            },
  2166            "500": {
  2167              "description": "Internal server error",
  2168              "schema": {
  2169                "$ref": "#/definitions/APIError"
  2170              }
  2171            }
  2172          }
  2173        },
  2174        "delete": {
  2175          "description": "Initiates service stop",
  2176          "tags": [
  2177            "Service"
  2178          ],
  2179          "summary": "Stops service",
  2180          "operationId": "serviceStop",
  2181          "responses": {
  2182            "202": {
  2183              "description": "Service Stop initiated"
  2184            },
  2185            "404": {
  2186              "description": "No service exists",
  2187              "schema": {
  2188                "$ref": "#/definitions/APIError"
  2189              }
  2190            },
  2191            "500": {
  2192              "description": "Internal server error",
  2193              "schema": {
  2194                "$ref": "#/definitions/APIError"
  2195              }
  2196            }
  2197          }
  2198        }
  2199      },
  2200      "/sessions": {
  2201        "get": {
  2202          "description": "Returns list of sessions history filtered by given query",
  2203          "tags": [
  2204            "Session"
  2205          ],
  2206          "summary": "Returns sessions history",
  2207          "operationId": "sessionList",
  2208          "parameters": [
  2209            {
  2210              "type": "integer",
  2211              "format": "int64",
  2212              "default": 50,
  2213              "x-go-name": "PageSize",
  2214              "description": "Number of items per page.",
  2215              "name": "page_size",
  2216              "in": "query"
  2217            },
  2218            {
  2219              "type": "integer",
  2220              "format": "int64",
  2221              "default": 1,
  2222              "x-go-name": "Page",
  2223              "description": "Page to filter the items by.",
  2224              "name": "page",
  2225              "in": "query"
  2226            },
  2227            {
  2228              "type": "string",
  2229              "format": "date",
  2230              "x-go-name": "DateFrom",
  2231              "description": "Filter the sessions from this date. Formatted in RFC3339 e.g. 2020-07-01.",
  2232              "name": "date_from",
  2233              "in": "query"
  2234            },
  2235            {
  2236              "type": "string",
  2237              "format": "date",
  2238              "x-go-name": "DateTo",
  2239              "description": "Filter the sessions until this date. Formatted in RFC3339 e.g. 2020-07-30.",
  2240              "name": "date_to",
  2241              "in": "query"
  2242            },
  2243            {
  2244              "type": "string",
  2245              "x-go-name": "Direction",
  2246              "description": "Direction to filter the sessions by. Possible values are \"Provided\", \"Consumed\".",
  2247              "name": "direction",
  2248              "in": "query"
  2249            },
  2250            {
  2251              "type": "string",
  2252              "x-go-name": "ConsumerID",
  2253              "description": "Consumer identity to filter the sessions by.",
  2254              "name": "consumer_id",
  2255              "in": "query"
  2256            },
  2257            {
  2258              "type": "string",
  2259              "x-go-name": "HermesID",
  2260              "description": "Hermes ID to filter the sessions by.",
  2261              "name": "hermes_id",
  2262              "in": "query"
  2263            },
  2264            {
  2265              "type": "string",
  2266              "x-go-name": "ProviderID",
  2267              "description": "Provider identity to filter the sessions by.",
  2268              "name": "provider_id",
  2269              "in": "query"
  2270            },
  2271            {
  2272              "type": "string",
  2273              "x-go-name": "ServiceType",
  2274              "description": "Service type to filter the sessions by.",
  2275              "name": "service_type",
  2276              "in": "query"
  2277            },
  2278            {
  2279              "type": "string",
  2280              "x-go-name": "Status",
  2281              "description": "Status to filter the sessions by. Possible values are \"New\", \"Completed\".",
  2282              "name": "status",
  2283              "in": "query"
  2284            }
  2285          ],
  2286          "responses": {
  2287            "200": {
  2288              "description": "List of sessions",
  2289              "schema": {
  2290                "$ref": "#/definitions/SessionListResponse"
  2291              }
  2292            },
  2293            "400": {
  2294              "description": "Failed to parse or request validation failed",
  2295              "schema": {
  2296                "$ref": "#/definitions/APIError"
  2297              }
  2298            },
  2299            "500": {
  2300              "description": "Internal server error",
  2301              "schema": {
  2302                "$ref": "#/definitions/APIError"
  2303              }
  2304            }
  2305          }
  2306        }
  2307      },
  2308      "/sessions-connectivity-status": {
  2309        "get": {
  2310          "description": "Returns list of session connectivity status",
  2311          "summary": "Returns session connectivity status",
  2312          "operationId": "ConnectivityStatus",
  2313          "responses": {
  2314            "200": {
  2315              "description": "List of connectivity statuses",
  2316              "schema": {
  2317                "$ref": "#/definitions/ConnectivityStatus"
  2318              }
  2319            }
  2320          }
  2321        }
  2322      },
  2323      "/sessions/stats-aggregated": {
  2324        "get": {
  2325          "description": "Returns aggregated statistics of sessions filtered by given query",
  2326          "tags": [
  2327            "Session"
  2328          ],
  2329          "summary": "Returns sessions stats",
  2330          "operationId": "sessionStatsAggregated",
  2331          "parameters": [
  2332            {
  2333              "type": "string",
  2334              "format": "date",
  2335              "x-go-name": "DateFrom",
  2336              "description": "Filter the sessions from this date. Formatted in RFC3339 e.g. 2020-07-01.",
  2337              "name": "date_from",
  2338              "in": "query"
  2339            },
  2340            {
  2341              "type": "string",
  2342              "format": "date",
  2343              "x-go-name": "DateTo",
  2344              "description": "Filter the sessions until this date. Formatted in RFC3339 e.g. 2020-07-30.",
  2345              "name": "date_to",
  2346              "in": "query"
  2347            },
  2348            {
  2349              "type": "string",
  2350              "x-go-name": "Direction",
  2351              "description": "Direction to filter the sessions by. Possible values are \"Provided\", \"Consumed\".",
  2352              "name": "direction",
  2353              "in": "query"
  2354            },
  2355            {
  2356              "type": "string",
  2357              "x-go-name": "ConsumerID",
  2358              "description": "Consumer identity to filter the sessions by.",
  2359              "name": "consumer_id",
  2360              "in": "query"
  2361            },
  2362            {
  2363              "type": "string",
  2364              "x-go-name": "HermesID",
  2365              "description": "Hermes ID to filter the sessions by.",
  2366              "name": "hermes_id",
  2367              "in": "query"
  2368            },
  2369            {
  2370              "type": "string",
  2371              "x-go-name": "ProviderID",
  2372              "description": "Provider identity to filter the sessions by.",
  2373              "name": "provider_id",
  2374              "in": "query"
  2375            },
  2376            {
  2377              "type": "string",
  2378              "x-go-name": "ServiceType",
  2379              "description": "Service type to filter the sessions by.",
  2380              "name": "service_type",
  2381              "in": "query"
  2382            },
  2383            {
  2384              "type": "string",
  2385              "x-go-name": "Status",
  2386              "description": "Status to filter the sessions by. Possible values are \"New\", \"Completed\".",
  2387              "name": "status",
  2388              "in": "query"
  2389            }
  2390          ],
  2391          "responses": {
  2392            "200": {
  2393              "description": "Session statistics",
  2394              "schema": {
  2395                "$ref": "#/definitions/SessionStatsAggregatedResponse"
  2396              }
  2397            },
  2398            "400": {
  2399              "description": "Failed to parse or request validation failed",
  2400              "schema": {
  2401                "$ref": "#/definitions/APIError"
  2402              }
  2403            },
  2404            "500": {
  2405              "description": "Internal server error",
  2406              "schema": {
  2407                "$ref": "#/definitions/APIError"
  2408              }
  2409            }
  2410          }
  2411        }
  2412      },
  2413      "/sessions/stats-daily": {
  2414        "get": {
  2415          "description": "Returns aggregated daily statistics of sessions filtered by given query (date_from=\u003cnow -30d\u003e and date_to=\u003cnow\u003e by default)",
  2416          "tags": [
  2417            "Session"
  2418          ],
  2419          "summary": "Returns sessions stats",
  2420          "operationId": "sessionStatsDaily",
  2421          "parameters": [
  2422            {
  2423              "type": "string",
  2424              "format": "date",
  2425              "x-go-name": "DateFrom",
  2426              "description": "Filter the sessions from this date. Formatted in RFC3339 e.g. 2020-07-01.",
  2427              "name": "date_from",
  2428              "in": "query"
  2429            },
  2430            {
  2431              "type": "string",
  2432              "format": "date",
  2433              "x-go-name": "DateTo",
  2434              "description": "Filter the sessions until this date. Formatted in RFC3339 e.g. 2020-07-30.",
  2435              "name": "date_to",
  2436              "in": "query"
  2437            },
  2438            {
  2439              "type": "string",
  2440              "x-go-name": "Direction",
  2441              "description": "Direction to filter the sessions by. Possible values are \"Provided\", \"Consumed\".",
  2442              "name": "direction",
  2443              "in": "query"
  2444            },
  2445            {
  2446              "type": "string",
  2447              "x-go-name": "ConsumerID",
  2448              "description": "Consumer identity to filter the sessions by.",
  2449              "name": "consumer_id",
  2450              "in": "query"
  2451            },
  2452            {
  2453              "type": "string",
  2454              "x-go-name": "HermesID",
  2455              "description": "Hermes ID to filter the sessions by.",
  2456              "name": "hermes_id",
  2457              "in": "query"
  2458            },
  2459            {
  2460              "type": "string",
  2461              "x-go-name": "ProviderID",
  2462              "description": "Provider identity to filter the sessions by.",
  2463              "name": "provider_id",
  2464              "in": "query"
  2465            },
  2466            {
  2467              "type": "string",
  2468              "x-go-name": "ServiceType",
  2469              "description": "Service type to filter the sessions by.",
  2470              "name": "service_type",
  2471              "in": "query"
  2472            },
  2473            {
  2474              "type": "string",
  2475              "x-go-name": "Status",
  2476              "description": "Status to filter the sessions by. Possible values are \"New\", \"Completed\".",
  2477              "name": "status",
  2478              "in": "query"
  2479            }
  2480          ],
  2481          "responses": {
  2482            "200": {
  2483              "description": "Daily session statistics",
  2484              "schema": {
  2485                "$ref": "#/definitions/SessionStatsDTO"
  2486              }
  2487            },
  2488            "400": {
  2489              "description": "Failed to parse or request validation failed",
  2490              "schema": {
  2491                "$ref": "#/definitions/APIError"
  2492              }
  2493            },
  2494            "500": {
  2495              "description": "Internal server error",
  2496              "schema": {
  2497                "$ref": "#/definitions/APIError"
  2498              }
  2499            }
  2500          }
  2501        }
  2502      },
  2503      "/settle/history": {
  2504        "get": {
  2505          "description": "Returns settlement history",
  2506          "summary": "Returns settlement history",
  2507          "operationId": "settlementList",
  2508          "parameters": [
  2509            {
  2510              "type": "integer",
  2511              "format": "int64",
  2512              "default": 50,
  2513              "x-go-name": "PageSize",
  2514              "description": "Number of items per page.",
  2515              "name": "page_size",
  2516              "in": "query"
  2517            },
  2518            {
  2519              "type": "integer",
  2520              "format": "int64",
  2521              "default": 1,
  2522              "x-go-name": "Page",
  2523              "description": "Page to filter the items by.",
  2524              "name": "page",
  2525              "in": "query"
  2526            },
  2527            {
  2528              "type": "string",
  2529              "format": "date",
  2530              "x-go-name": "DateFrom",
  2531              "description": "Filter the settlements from this date. Formatted in RFC3339 e.g. 2020-07-01.",
  2532              "name": "date_from",
  2533              "in": "query"
  2534            },
  2535            {
  2536              "type": "string",
  2537              "format": "date",
  2538              "x-go-name": "DateTo",
  2539              "description": "Filter the settlements until this date Formatted in RFC3339 e.g. 2020-07-30.",
  2540              "name": "date_to",
  2541              "in": "query"
  2542            },
  2543            {
  2544              "type": "string",
  2545              "x-go-name": "ProviderID",
  2546              "description": "Provider identity to filter the sessions by.",
  2547              "name": "provider_id",
  2548              "in": "query"
  2549            },
  2550            {
  2551              "type": "string",
  2552              "x-go-name": "HermesID",
  2553              "description": "Hermes ID to filter the sessions by.",
  2554              "name": "hermes_id",
  2555              "in": "query"
  2556            },
  2557            {
  2558              "type": "array",
  2559              "items": {
  2560                "type": "string"
  2561              },
  2562              "x-go-name": "Types",
  2563              "description": "Settlement type to filter the sessions by. \"settlement\" or \"withdrawal\"",
  2564              "name": "types",
  2565              "in": "query"
  2566            }
  2567          ],
  2568          "responses": {
  2569            "200": {
  2570              "description": "Returns settlement history",
  2571              "schema": {
  2572                "$ref": "#/definitions/SettlementListResponse"
  2573              }
  2574            },
  2575            "400": {
  2576              "description": "Failed to parse or request validation failed",
  2577              "schema": {
  2578                "$ref": "#/definitions/APIError"
  2579              }
  2580            },
  2581            "500": {
  2582              "description": "Internal server error",
  2583              "schema": {
  2584                "$ref": "#/definitions/APIError"
  2585              }
  2586            }
  2587          }
  2588        }
  2589      },
  2590      "/stop": {
  2591        "post": {
  2592          "description": "Initiates client termination",
  2593          "tags": [
  2594            "Client"
  2595          ],
  2596          "summary": "Stops client",
  2597          "operationId": "applicationStop",
  2598          "responses": {
  2599            "202": {
  2600              "description": "Request accepted, stopping"
  2601            }
  2602          }
  2603        }
  2604      },
  2605      "/terms": {
  2606        "get": {
  2607          "description": "Return an object with the current terms config",
  2608          "tags": [
  2609            "Terms"
  2610          ],
  2611          "summary": "Get terms",
  2612          "operationId": "getTerms",
  2613          "responses": {
  2614            "200": {
  2615              "description": "Terms object",
  2616              "schema": {
  2617                "$ref": "#/definitions/TermsResponse"
  2618              }
  2619            }
  2620          }
  2621        },
  2622        "post": {
  2623          "description": "Takes the given data and tries to update terms agreement config.",
  2624          "tags": [
  2625            "Terms"
  2626          ],
  2627          "summary": "Update terms agreement",
  2628          "operationId": "updateTerms",
  2629          "parameters": [
  2630            {
  2631              "description": "Required data to update terms",
  2632              "name": "body",
  2633              "in": "body",
  2634              "schema": {
  2635                "$ref": "#/definitions/TermsRequest"
  2636              }
  2637            }
  2638          ],
  2639          "responses": {
  2640            "200": {
  2641              "description": "Terms agreement updated"
  2642            },
  2643            "400": {
  2644              "description": "Failed to parse or request validation failed",
  2645              "schema": {
  2646                "$ref": "#/definitions/APIError"
  2647              }
  2648            },
  2649            "500": {
  2650              "description": "Internal server error",
  2651              "schema": {
  2652                "$ref": "#/definitions/APIError"
  2653              }
  2654            }
  2655          }
  2656        }
  2657      },
  2658      "/transactor/chains-summary": {
  2659        "get": {
  2660          "summary": "Returns available chain map",
  2661          "operationId": "Chains",
  2662          "responses": {
  2663            "200": {
  2664              "description": "Chain Summary",
  2665              "schema": {
  2666                "$ref": "#/definitions/ChainSummary"
  2667              }
  2668            }
  2669          }
  2670        }
  2671      },
  2672      "/transactor/fees": {
  2673        "get": {
  2674          "description": "Returns fees applied by Transactor",
  2675          "summary": "Returns fees",
  2676          "operationId": "FeesDTO",
  2677          "deprecated": true,
  2678          "responses": {
  2679            "200": {
  2680              "description": "Fees applied by Transactor",
  2681              "schema": {
  2682                "$ref": "#/definitions/FeesDTO"
  2683              }
  2684            },
  2685            "500": {
  2686              "description": "Internal server error",
  2687              "schema": {
  2688                "$ref": "#/definitions/APIError"
  2689              }
  2690            }
  2691          }
  2692        }
  2693      },
  2694      "/transactor/identities/{id}/eligibility": {
  2695        "get": {
  2696          "summary": "Checks if given id is eligible for free registration",
  2697          "operationId": "Eligibility",
  2698          "parameters": [
  2699            {
  2700              "type": "string",
  2701              "description": "Identity address to register",
  2702              "name": "id",
  2703              "in": "path",
  2704              "required": true
  2705            }
  2706          ],
  2707          "responses": {
  2708            "200": {
  2709              "description": "Eligibility response",
  2710              "schema": {
  2711                "$ref": "#/definitions/EligibilityResponse"
  2712              }
  2713            },
  2714            "500": {
  2715              "description": "Internal server error",
  2716              "schema": {
  2717                "$ref": "#/definitions/APIError"
  2718              }
  2719            }
  2720          }
  2721        }
  2722      },
  2723      "/transactor/settle/async": {
  2724        "post": {
  2725          "description": "Forces a settlement for the hermes promises. Does not wait for completion.",
  2726          "summary": "forces the settlement of promises for the given provider and hermes",
  2727          "operationId": "SettleAsync",
  2728          "parameters": [
  2729            {
  2730              "description": "Settle request",
  2731              "name": "body",
  2732              "in": "body",
  2733              "schema": {
  2734                "$ref": "#/definitions/SettleRequestDTO"
  2735              }
  2736            }
  2737          ],
  2738          "responses": {
  2739            "202": {
  2740              "description": "Settle request accepted"
  2741            },
  2742            "500": {
  2743              "description": "Internal server error",
  2744              "schema": {
  2745                "$ref": "#/definitions/APIError"
  2746              }
  2747            }
  2748          }
  2749        }
  2750      },
  2751      "/transactor/settle/sync": {
  2752        "post": {
  2753          "description": "Forces a settlement for the hermes promises and blocks until the settlement is complete.",
  2754          "summary": "Forces the settlement of promises for the given provider and hermes",
  2755          "operationId": "SettleSync",
  2756          "parameters": [
  2757            {
  2758              "description": "Settle request",
  2759              "name": "body",
  2760              "in": "body",
  2761              "schema": {
  2762                "$ref": "#/definitions/SettleRequestDTO"
  2763              }
  2764            }
  2765          ],
  2766          "responses": {
  2767            "202": {
  2768              "description": "Settle request accepted"
  2769            },
  2770            "500": {
  2771              "description": "Internal server error",
  2772              "schema": {
  2773                "$ref": "#/definitions/APIError"
  2774              }
  2775            }
  2776          }
  2777        }
  2778      },
  2779      "/transactor/settle/withdraw": {
  2780        "post": {
  2781          "description": "Asks to perform withdrawal to l1.",
  2782          "summary": "Asks to perform withdrawal to l1.",
  2783          "operationId": "Withdraw",
  2784          "deprecated": true,
  2785          "parameters": [
  2786            {
  2787              "description": "withdraw request body",
  2788              "name": "body",
  2789              "in": "body",
  2790              "schema": {
  2791                "$ref": "#/definitions/WithdrawRequestDTO"
  2792              }
  2793            }
  2794          ],
  2795          "responses": {
  2796            "202": {
  2797              "description": "Withdraw request accepted"
  2798            },
  2799            "400": {
  2800              "description": "Failed to parse or request validation failed",
  2801              "schema": {
  2802                "$ref": "#/definitions/APIError"
  2803              }
  2804            },
  2805            "500": {
  2806              "description": "Internal server error",
  2807              "schema": {
  2808                "$ref": "#/definitions/APIError"
  2809              }
  2810            }
  2811          }
  2812        }
  2813      },
  2814      "/transactor/stake/decrease": {
  2815        "post": {
  2816          "description": "Decreases stake on eth blockchain via the mysterium transactor.",
  2817          "tags": [
  2818            "Decrease"
  2819          ],
  2820          "summary": "Decreases stake",
  2821          "operationId": "Stake",
  2822          "parameters": [
  2823            {
  2824              "description": "decrease stake request",
  2825              "name": "body",
  2826              "in": "body",
  2827              "schema": {
  2828                "$ref": "#/definitions/DecreaseStakeRequest"
  2829              }
  2830            }
  2831          ],
  2832          "responses": {
  2833            "200": {
  2834              "description": "Payout info registered"
  2835            },
  2836            "400": {
  2837              "description": "Failed to parse or request validation failed",
  2838              "schema": {
  2839                "$ref": "#/definitions/APIError"
  2840              }
  2841            },
  2842            "500": {
  2843              "description": "Internal server error",
  2844              "schema": {
  2845                "$ref": "#/definitions/APIError"
  2846              }
  2847            }
  2848          }
  2849        }
  2850      },
  2851      "/transactor/stake/increase/async": {
  2852        "post": {
  2853          "description": "Forces a settlement with stake increase for the hermes promises and does not block.",
  2854          "summary": "forces the settlement with stake increase of promises for the given provider and hermes.",
  2855          "operationId": "StakeIncreaseAsync",
  2856          "parameters": [
  2857            {
  2858              "description": "settle request body",
  2859              "name": "body",
  2860              "in": "body",
  2861              "schema": {
  2862                "$ref": "#/definitions/SettleRequestDTO"
  2863              }
  2864            }
  2865          ],
  2866          "responses": {
  2867            "202": {
  2868              "description": "Settle request accepted"
  2869            },
  2870            "500": {
  2871              "description": "Internal server error",
  2872              "schema": {
  2873                "$ref": "#/definitions/APIError"
  2874              }
  2875            }
  2876          }
  2877        }
  2878      },
  2879      "/transactor/stake/increase/sync": {
  2880        "post": {
  2881          "description": "Forces a settlement with stake increase for the hermes promises and blocks until the settlement is complete.",
  2882          "summary": "Forces the settlement with stake increase of promises for the given provider and hermes.",
  2883          "operationId": "StakeIncreaseSync",
  2884          "parameters": [
  2885            {
  2886              "description": "Settle request",
  2887              "name": "body",
  2888              "in": "body",
  2889              "schema": {
  2890                "$ref": "#/definitions/SettleRequestDTO"
  2891              }
  2892            }
  2893          ],
  2894          "responses": {
  2895            "202": {
  2896              "description": "Settle request accepted"
  2897            },
  2898            "500": {
  2899              "description": "Internal server error",
  2900              "schema": {
  2901                "$ref": "#/definitions/APIError"
  2902              }
  2903            }
  2904          }
  2905        }
  2906      },
  2907      "/transactor/token/{token}/reward": {
  2908        "post": {
  2909          "summary": "Returns the amount of reward for a token",
  2910          "operationId": "Reward",
  2911          "deprecated": true,
  2912          "parameters": [
  2913            {
  2914              "type": "string",
  2915              "description": "Token for which to lookup the reward",
  2916              "name": "token",
  2917              "in": "path",
  2918              "required": true
  2919            }
  2920          ],
  2921          "responses": {
  2922            "200": {
  2923              "description": "Token Reward",
  2924              "schema": {
  2925                "$ref": "#/definitions/TokenRewardAmount"
  2926              }
  2927            },
  2928            "500": {
  2929              "description": "Internal server error",
  2930              "schema": {
  2931                "$ref": "#/definitions/APIError"
  2932              }
  2933            }
  2934          }
  2935        }
  2936      },
  2937      "/ui/download-status": {
  2938        "get": {
  2939          "description": "DownloadStatus can download one remote release at a time. This endpoint provides status of the download.",
  2940          "tags": [
  2941            "UI"
  2942          ],
  2943          "summary": "Download status",
  2944          "operationId": "uiDownloadStatus",
  2945          "responses": {
  2946            "200": {
  2947              "description": "download status",
  2948              "schema": {
  2949                "$ref": "#/definitions/DownloadStatus"
  2950              }
  2951            },
  2952            "500": {
  2953              "description": "Internal server error",
  2954              "schema": {
  2955                "$ref": "#/definitions/APIError"
  2956              }
  2957            }
  2958          }
  2959        }
  2960      },
  2961      "/ui/download-version": {
  2962        "post": {
  2963          "description": "download a remote node UI release",
  2964          "tags": [
  2965            "UI"
  2966          ],
  2967          "summary": "Download",
  2968          "operationId": "uiDownload",
  2969          "responses": {
  2970            "200": {
  2971              "description": "Download in progress"
  2972            },
  2973            "400": {
  2974              "description": "Failed to parse or request validation failed",
  2975              "schema": {
  2976                "$ref": "#/definitions/APIError"
  2977              }
  2978            },
  2979            "500": {
  2980              "description": "Internal server error",
  2981              "schema": {
  2982                "$ref": "#/definitions/APIError"
  2983              }
  2984            }
  2985          }
  2986        }
  2987      },
  2988      "/ui/info": {
  2989        "get": {
  2990          "description": "Node UI information",
  2991          "tags": [
  2992            "UI"
  2993          ],
  2994          "summary": "Node UI information",
  2995          "operationId": "ui",
  2996          "responses": {
  2997            "200": {
  2998              "description": "Node UI information",
  2999              "schema": {
  3000                "$ref": "#/definitions/UI"
  3001              }
  3002            },
  3003            "500": {
  3004              "description": "Internal server error",
  3005              "schema": {
  3006                "$ref": "#/definitions/APIError"
  3007              }
  3008            }
  3009          }
  3010        }
  3011      },
  3012      "/ui/local-versions": {
  3013        "get": {
  3014          "description": "provides a list of node UI releases that have been downloaded or bundled with node",
  3015          "tags": [
  3016            "UI"
  3017          ],
  3018          "summary": "List remote",
  3019          "operationId": "uiLocalVersions",
  3020          "responses": {
  3021            "200": {
  3022              "description": "Local version list",
  3023              "schema": {
  3024                "$ref": "#/definitions/LocalVersionsResponse"
  3025              }
  3026            },
  3027            "500": {
  3028              "description": "Internal server error",
  3029              "schema": {
  3030                "$ref": "#/definitions/APIError"
  3031              }
  3032            }
  3033          }
  3034        }
  3035      },
  3036      "/ui/remote-versions": {
  3037        "get": {
  3038          "description": "provides a list of node UI releases from github repository",
  3039          "tags": [
  3040            "UI"
  3041          ],
  3042          "summary": "List local",
  3043          "operationId": "uiRemoteVersions",
  3044          "responses": {
  3045            "200": {
  3046              "description": "Remote version list",
  3047              "schema": {
  3048                "$ref": "#/definitions/RemoteVersionsResponse"
  3049              }
  3050            },
  3051            "500": {
  3052              "description": "Internal server error",
  3053              "schema": {
  3054                "$ref": "#/definitions/APIError"
  3055              }
  3056            }
  3057          }
  3058        }
  3059      },
  3060      "/ui/switch-version": {
  3061        "post": {
  3062          "description": "switch node UI version to locally available one",
  3063          "tags": [
  3064            "UI"
  3065          ],
  3066          "summary": "Switch Version",
  3067          "operationId": "uiSwitchVersion",
  3068          "responses": {
  3069            "200": {
  3070              "description": "version switched"
  3071            },
  3072            "400": {
  3073              "description": "Failed to parse or request validation failed",
  3074              "schema": {
  3075                "$ref": "#/definitions/APIError"
  3076              }
  3077            },
  3078            "422": {
  3079              "description": "Unable to process the request at this point",
  3080              "schema": {
  3081                "$ref": "#/definitions/APIError"
  3082              }
  3083            },
  3084            "500": {
  3085              "description": "Internal server error",
  3086              "schema": {
  3087                "$ref": "#/definitions/APIError"
  3088              }
  3089            }
  3090          }
  3091        }
  3092      },
  3093      "/v2/identities/{id}/payment-order": {
  3094        "get": {
  3095          "description": "Gets all orders for a given identity from the pilvytis service",
  3096          "tags": [
  3097            "Order"
  3098          ],
  3099          "summary": "Get all orders for identity",
  3100          "operationId": "getPaymentGatewayOrders",
  3101          "parameters": [
  3102            {
  3103              "type": "string",
  3104              "description": "Identity for which to get orders",
  3105              "name": "id",
  3106              "in": "path",
  3107              "required": true
  3108            }
  3109          ],
  3110          "responses": {
  3111            "200": {
  3112              "description": "List of payment orders",
  3113              "schema": {
  3114                "type": "array",
  3115                "items": {
  3116                  "$ref": "#/definitions/PaymentOrderResponse"
  3117                }
  3118              }
  3119            },
  3120            "500": {
  3121              "description": "Internal server error",
  3122              "schema": {
  3123                "$ref": "#/definitions/APIError"
  3124              }
  3125            }
  3126          }
  3127        }
  3128      },
  3129      "/v2/identities/{id}/payment-order/{order_id}": {
  3130        "get": {
  3131          "description": "Gets an order for a given identity and order id combo from the pilvytis service",
  3132          "tags": [
  3133            "Order"
  3134          ],
  3135          "summary": "Get order",
  3136          "operationId": "getPaymentGatewayOrder",
  3137          "parameters": [
  3138            {
  3139              "type": "string",
  3140              "description": "Identity for which to get an order",
  3141              "name": "id",
  3142              "in": "path",
  3143              "required": true
  3144            },
  3145            {
  3146              "type": "integer",
  3147              "description": "Order id",
  3148              "name": "order_id",
  3149              "in": "path",
  3150              "required": true
  3151            }
  3152          ],
  3153          "responses": {
  3154            "200": {
  3155              "description": "Order object",
  3156              "schema": {
  3157                "$ref": "#/definitions/PaymentOrderResponse"
  3158              }
  3159            },
  3160            "500": {
  3161              "description": "Internal server error",
  3162              "schema": {
  3163                "$ref": "#/definitions/APIError"
  3164              }
  3165            }
  3166          }
  3167        }
  3168      },
  3169      "/v2/identities/{id}/payment-order/{order_id}/invoice": {
  3170        "get": {
  3171          "description": "Gets an invoice for payment order matching the given ID and identity",
  3172          "tags": [
  3173            "Order"
  3174          ],
  3175          "summary": "Get invoice",
  3176          "operationId": "getPaymentGatewayOrderInvoice",
  3177          "parameters": [
  3178            {
  3179              "type": "string",
  3180              "description": "Identity for which to get an order invoice",
  3181              "name": "id",
  3182              "in": "path",
  3183              "required": true
  3184            },
  3185            {
  3186              "type": "integer",
  3187              "description": "Order id",
  3188              "name": "order_id",
  3189              "in": "path",
  3190              "required": true
  3191            }
  3192          ],
  3193          "responses": {
  3194            "200": {
  3195              "description": "Invoice PDF (binary)"
  3196            },
  3197            "500": {
  3198              "description": "Internal server error",
  3199              "schema": {
  3200                "$ref": "#/definitions/APIError"
  3201              }
  3202            }
  3203          }
  3204        }
  3205      },
  3206      "/v2/identities/{id}/registration-payment": {
  3207        "get": {
  3208          "description": "Checks if a registration payment order for an identity has been paid in pilvytis.",
  3209          "tags": [
  3210            "Order"
  3211          ],
  3212          "summary": "Check for registration payment",
  3213          "operationId": "getRegistrationPaymentStatus",
  3214          "parameters": [
  3215            {
  3216              "type": "string",
  3217              "description": "Identity for which to check",
  3218              "name": "id",
  3219              "in": "path",
  3220              "required": true
  3221            }
  3222          ],
  3223          "responses": {
  3224            "200": {
  3225              "description": "Registration order status",
  3226              "schema": {
  3227                "$ref": "#/definitions/RegistrationPaymentResponse"
  3228              }
  3229            },
  3230            "500": {
  3231              "description": "Internal server error",
  3232              "schema": {
  3233                "$ref": "#/definitions/APIError"
  3234              }
  3235            }
  3236          }
  3237        }
  3238      },
  3239      "/v2/identities/{id}/{gw}/payment-order": {
  3240        "post": {
  3241          "description": "Takes the given data and tries to create a new payment order in the pilvytis service.",
  3242          "tags": [
  3243            "Order"
  3244          ],
  3245          "summary": "Create order",
  3246          "operationId": "createPaymentGatewayOrder",
  3247          "parameters": [
  3248            {
  3249              "type": "string",
  3250              "description": "Identity for which to create an order",
  3251              "name": "id",
  3252              "in": "path",
  3253              "required": true
  3254            },
  3255            {
  3256              "type": "string",
  3257              "description": "Gateway for which a payment order is created",
  3258              "name": "gw",
  3259              "in": "path",
  3260              "required": true
  3261            },
  3262            {
  3263              "description": "Required data to create a new order",
  3264              "name": "body",
  3265              "in": "body",
  3266              "schema": {
  3267                "$ref": "#/definitions/PaymentOrderRequest"
  3268              }
  3269            }
  3270          ],
  3271          "responses": {
  3272            "200": {
  3273              "description": "Payment order",
  3274              "schema": {
  3275                "$ref": "#/definitions/PaymentOrderResponse"
  3276              }
  3277            },
  3278            "500": {
  3279              "description": "Internal server error",
  3280              "schema": {
  3281                "$ref": "#/definitions/APIError"
  3282              }
  3283            }
  3284          }
  3285        }
  3286      },
  3287      "/v2/payment-order-gateways": {
  3288        "get": {
  3289          "description": "Returns gateway configuration including supported currencies, minimum amounts, etc.",
  3290          "tags": [
  3291            "Order"
  3292          ],
  3293          "summary": "Get payment gateway configuration.",
  3294          "operationId": "getPaymentGateways",
  3295          "parameters": [
  3296            {
  3297              "type": "string",
  3298              "default": "MYST",
  3299              "description": "Currency for payment order options",
  3300              "name": "options_currency",
  3301              "in": "query"
  3302            }
  3303          ],
  3304          "responses": {
  3305            "200": {
  3306              "description": "List of payment gateways",
  3307              "schema": {
  3308                "type": "array",
  3309                "items": {
  3310                  "$ref": "#/definitions/GatewaysResponse"
  3311                }
  3312              }
  3313            },
  3314            "500": {
  3315              "description": "Internal server error",
  3316              "schema": {
  3317                "$ref": "#/definitions/APIError"
  3318              }
  3319            }
  3320          }
  3321        }
  3322      },
  3323      "/v2/transactor/fees": {
  3324        "get": {
  3325          "description": "Returns fees applied by Transactor",
  3326          "summary": "Returns fees",
  3327          "operationId": "CombinedFeesResponse",
  3328          "responses": {
  3329            "200": {
  3330              "description": "Fees applied by Transactor",
  3331              "schema": {
  3332                "$ref": "#/definitions/CombinedFeesResponse"
  3333              }
  3334            },
  3335            "500": {
  3336              "description": "Internal server error",
  3337              "schema": {
  3338                "$ref": "#/definitions/APIError"
  3339              }
  3340            }
  3341          }
  3342        }
  3343      }
  3344    },
  3345    "definitions": {
  3346      "APIError": {
  3347        "type": "object",
  3348        "title": "APIError represents an error response from REST API service.",
  3349        "properties": {
  3350          "error": {
  3351            "$ref": "#/definitions/Err"
  3352          },
  3353          "path": {
  3354            "type": "string",
  3355            "x-go-name": "Path"
  3356          },
  3357          "status": {
  3358            "type": "integer",
  3359            "format": "int64",
  3360            "x-go-name": "Status"
  3361          }
  3362        },
  3363        "x-go-name": "apiErrorSwagger",
  3364        "x-go-package": "github.com/mysteriumnetwork/go-rest/apierror"
  3365      },
  3366      "AccessPolicies": {
  3367        "type": "object",
  3368        "properties": {
  3369          "entries": {
  3370            "type": "array",
  3371            "items": {
  3372              "$ref": "#/definitions/accessPolicy"
  3373            },
  3374            "x-go-name": "Entries"
  3375          }
  3376        },
  3377        "x-go-name": "accessPolicyCollection",
  3378        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/endpoints"
  3379      },
  3380      "AccessPolicy": {
  3381        "description": "AccessPolicy represents the access controls for proposal",
  3382        "type": "object",
  3383        "properties": {
  3384          "id": {
  3385            "type": "string",
  3386            "x-go-name": "ID"
  3387          },
  3388          "source": {
  3389            "type": "string",
  3390            "x-go-name": "Source"
  3391          }
  3392        },
  3393        "x-go-package": "github.com/mysteriumnetwork/node/market"
  3394      },
  3395      "ActivityStatsResponse": {
  3396        "type": "object",
  3397        "title": "ActivityStatsResponse reflects a node activity stats.",
  3398        "properties": {
  3399          "active_percent": {
  3400            "type": "number",
  3401            "format": "double",
  3402            "x-go-name": "Active"
  3403          },
  3404          "online_percent": {
  3405            "type": "number",
  3406            "format": "double",
  3407            "x-go-name": "Online"
  3408          }
  3409        },
  3410        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3411      },
  3412      "AuthRequest": {
  3413        "type": "object",
  3414        "title": "AuthRequest request used to authenticate to API.",
  3415        "properties": {
  3416          "password": {
  3417            "type": "string",
  3418            "x-go-name": "Password"
  3419          },
  3420          "username": {
  3421            "type": "string",
  3422            "x-go-name": "Username"
  3423          }
  3424        },
  3425        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3426      },
  3427      "AuthResponse": {
  3428        "type": "object",
  3429        "title": "AuthResponse response after successful authentication to API.",
  3430        "properties": {
  3431          "expires_at": {
  3432            "type": "string",
  3433            "x-go-name": "ExpiresAt",
  3434            "example": "2019-06-06T11:04:43.910035Z"
  3435          },
  3436          "token": {
  3437            "type": "string",
  3438            "x-go-name": "Token",
  3439            "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im15c3QiLCJleHAiOjE2MDEwNDA1NzB9.hnn9FosblyWtx1feSupx3MhZZdkbCuMTaiM6xl54VwQ"
  3440          }
  3441        },
  3442        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3443      },
  3444      "BalanceDTO": {
  3445        "type": "object",
  3446        "title": "BalanceDTO holds balance information.",
  3447        "properties": {
  3448          "balance": {
  3449            "type": "string",
  3450            "x-go-name": "Balance"
  3451          },
  3452          "balance_tokens": {
  3453            "$ref": "#/definitions/Tokens"
  3454          }
  3455        },
  3456        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3457      },
  3458      "BeneficiaryAddressRequest": {
  3459        "description": "BeneficiaryAddressRequest address of the beneficiary",
  3460        "type": "object",
  3461        "properties": {
  3462          "address": {
  3463            "type": "string",
  3464            "x-go-name": "Address"
  3465          }
  3466        },
  3467        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3468      },
  3469      "BeneficiaryTxStatus": {
  3470        "type": "object",
  3471        "title": "BeneficiaryTxStatus settle with beneficiary transaction status.",
  3472        "properties": {
  3473          "change_to": {
  3474            "type": "string",
  3475            "x-go-name": "ChangeTo",
  3476            "example": "0x0000000000000000000000000000000000000001"
  3477          },
  3478          "error": {
  3479            "type": "string",
  3480            "x-go-name": "Error"
  3481          },
  3482          "state": {
  3483            "$ref": "#/definitions/SettleState"
  3484          }
  3485        },
  3486        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3487      },
  3488      "BugReport": {
  3489        "description": "BugReport represents user input when submitting an issue report",
  3490        "type": "object",
  3491        "properties": {
  3492          "description": {
  3493            "type": "string",
  3494            "x-go-name": "Description"
  3495          },
  3496          "email": {
  3497            "type": "string",
  3498            "x-go-name": "Email"
  3499          }
  3500        },
  3501        "x-go-package": "github.com/mysteriumnetwork/node/feedback"
  3502      },
  3503      "BuildInfoDTO": {
  3504        "type": "object",
  3505        "title": "BuildInfoDTO holds info about build.",
  3506        "properties": {
  3507          "branch": {
  3508            "type": "string",
  3509            "x-go-name": "Branch",
  3510            "example": "\u003cunknown\u003e"
  3511          },
  3512          "build_number": {
  3513            "type": "string",
  3514            "x-go-name": "BuildNumber",
  3515            "example": "dev-build"
  3516          },
  3517          "commit": {
  3518            "type": "string",
  3519            "x-go-name": "Commit",
  3520            "example": "\u003cunknown\u003e"
  3521          }
  3522        },
  3523        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3524      },
  3525      "ChainSummary": {
  3526        "type": "object",
  3527        "title": "ChainSummary represents a response for token rewards.",
  3528        "properties": {
  3529          "chains": {
  3530            "x-go-name": "Chains"
  3531          },
  3532          "current_chain": {
  3533            "type": "integer",
  3534            "format": "int64",
  3535            "x-go-name": "CurrentChain"
  3536          }
  3537        },
  3538        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3539      },
  3540      "ChangePasswordRequest": {
  3541        "type": "object",
  3542        "title": "ChangePasswordRequest request used to change API password.",
  3543        "properties": {
  3544          "new_password": {
  3545            "type": "string",
  3546            "x-go-name": "NewPassword"
  3547          },
  3548          "old_password": {
  3549            "type": "string",
  3550            "x-go-name": "OldPassword"
  3551          },
  3552          "username": {
  3553            "type": "string",
  3554            "x-go-name": "Username"
  3555          }
  3556        },
  3557        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3558      },
  3559      "CombinedFeesResponse": {
  3560        "type": "object",
  3561        "title": "CombinedFeesResponse represents transactor fees.",
  3562        "properties": {
  3563          "current": {
  3564            "$ref": "#/definitions/TransactorFees"
  3565          },
  3566          "hermes_percent": {
  3567            "type": "string",
  3568            "x-go-name": "HermesPercent"
  3569          },
  3570          "last": {
  3571            "$ref": "#/definitions/TransactorFees"
  3572          },
  3573          "server_time": {
  3574            "type": "string",
  3575            "format": "date-time",
  3576            "x-go-name": "ServerTime"
  3577          }
  3578        },
  3579        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3580      },
  3581      "ConnectOptionsDTO": {
  3582        "description": "ConnectOptions holds tequilapi connect options",
  3583        "type": "object",
  3584        "properties": {
  3585          "dns": {
  3586            "$ref": "#/definitions/DNSOption"
  3587          },
  3588          "kill_switch": {
  3589            "description": "kill switch option restricting communication only through VPN",
  3590            "type": "boolean",
  3591            "x-go-name": "DisableKillSwitch",
  3592            "example": true
  3593          },
  3594          "proxy_port": {
  3595            "type": "integer",
  3596            "format": "int64",
  3597            "x-go-name": "ProxyPort"
  3598          }
  3599        },
  3600        "x-go-name": "ConnectOptions",
  3601        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3602      },
  3603      "ConnectionCreateFilter": {
  3604        "description": "ConnectionCreateFilter describes filter for the connection request to lookup\nfor a requested proposals based on specified params.",
  3605        "type": "object",
  3606        "properties": {
  3607          "country_code": {
  3608            "type": "string",
  3609            "x-go-name": "CountryCode"
  3610          },
  3611          "include_monitoring_failed": {
  3612            "type": "boolean",
  3613            "x-go-name": "IncludeMonitoringFailed"
  3614          },
  3615          "ip_type": {
  3616            "type": "string",
  3617            "x-go-name": "IPType"
  3618          },
  3619          "providers": {
  3620            "type": "array",
  3621            "items": {
  3622              "type": "string"
  3623            },
  3624            "x-go-name": "Providers"
  3625          },
  3626          "sort_by": {
  3627            "type": "string",
  3628            "x-go-name": "SortBy"
  3629          }
  3630        },
  3631        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3632      },
  3633      "ConnectionCreateRequestDTO": {
  3634        "type": "object",
  3635        "title": "ConnectionCreateRequest request used to start a connection.",
  3636        "required": [
  3637          "consumer_id",
  3638          "provider_id"
  3639        ],
  3640        "properties": {
  3641          "connect_options": {
  3642            "$ref": "#/definitions/ConnectOptionsDTO"
  3643          },
  3644          "consumer_id": {
  3645            "description": "consumer identity",
  3646            "type": "string",
  3647            "x-go-name": "ConsumerID",
  3648            "example": "0x0000000000000000000000000000000000000001"
  3649          },
  3650          "filter": {
  3651            "$ref": "#/definitions/ConnectionCreateFilter"
  3652          },
  3653          "hermes_id": {
  3654            "description": "hermes identity",
  3655            "type": "string",
  3656            "x-go-name": "HermesID",
  3657            "example": "0x0000000000000000000000000000000000000003"
  3658          },
  3659          "provider_id": {
  3660            "description": "provider identity",
  3661            "type": "string",
  3662            "x-go-name": "ProviderID",
  3663            "example": "0x0000000000000000000000000000000000000002"
  3664          },
  3665          "service_type": {
  3666            "description": "service type. Possible values are \"openvpn\", \"wireguard\" and \"noop\"",
  3667            "type": "string",
  3668            "default": "openvpn",
  3669            "x-go-name": "ServiceType",
  3670            "example": "openvpn"
  3671          }
  3672        },
  3673        "x-go-name": "ConnectionCreateRequest",
  3674        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3675      },
  3676      "ConnectionDTO": {
  3677        "type": "object",
  3678        "title": "ConnectionDTO holds full consumer connection details.",
  3679        "properties": {
  3680          "consumer_id": {
  3681            "type": "string",
  3682            "x-go-name": "ConsumerID",
  3683            "example": "0x00"
  3684          },
  3685          "hermes_id": {
  3686            "type": "string",
  3687            "x-go-name": "HermesID",
  3688            "example": "0x00"
  3689          },
  3690          "proposal": {
  3691            "$ref": "#/definitions/ProposalDTO"
  3692          },
  3693          "session_id": {
  3694            "type": "string",
  3695            "x-go-name": "SessionID",
  3696            "example": "4cfb0324-daf6-4ad8-448b-e61fe0a1f918"
  3697          },
  3698          "statistics": {
  3699            "$ref": "#/definitions/ConnectionStatisticsDTO"
  3700          },
  3701          "status": {
  3702            "type": "string",
  3703            "x-go-name": "Status",
  3704            "example": "Connected"
  3705          }
  3706        },
  3707        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3708      },
  3709      "ConnectionInfoDTO": {
  3710        "type": "object",
  3711        "title": "ConnectionInfoDTO holds partial consumer connection details.",
  3712        "properties": {
  3713          "consumer_id": {
  3714            "type": "string",
  3715            "x-go-name": "ConsumerID",
  3716            "example": "0x00"
  3717          },
  3718          "hermes_id": {
  3719            "type": "string",
  3720            "x-go-name": "HermesID",
  3721            "example": "0x00"
  3722          },
  3723          "proposal": {
  3724            "$ref": "#/definitions/ProposalDTO"
  3725          },
  3726          "session_id": {
  3727            "type": "string",
  3728            "x-go-name": "SessionID",
  3729            "example": "4cfb0324-daf6-4ad8-448b-e61fe0a1f918"
  3730          },
  3731          "status": {
  3732            "type": "string",
  3733            "x-go-name": "Status",
  3734            "example": "Connected"
  3735          }
  3736        },
  3737        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3738      },
  3739      "ConnectionStatisticsDTO": {
  3740        "type": "object",
  3741        "title": "ConnectionStatisticsDTO holds consumer connection statistics.",
  3742        "properties": {
  3743          "bytes_received": {
  3744            "type": "integer",
  3745            "format": "uint64",
  3746            "x-go-name": "BytesReceived",
  3747            "example": 1024
  3748          },
  3749          "bytes_sent": {
  3750            "type": "integer",
  3751            "format": "uint64",
  3752            "x-go-name": "BytesSent",
  3753            "example": 1024
  3754          },
  3755          "duration": {
  3756            "description": "connection duration in seconds",
  3757            "type": "integer",
  3758            "format": "int64",
  3759            "x-go-name": "Duration",
  3760            "example": 60
  3761          },
  3762          "spent_tokens": {
  3763            "$ref": "#/definitions/Tokens"
  3764          },
  3765          "throughput_received": {
  3766            "description": "Download speed in bits per second",
  3767            "type": "integer",
  3768            "format": "uint64",
  3769            "x-go-name": "ThroughputReceived",
  3770            "example": 1024
  3771          },
  3772          "throughput_sent": {
  3773            "description": "Upload speed in bits per second",
  3774            "type": "integer",
  3775            "format": "uint64",
  3776            "x-go-name": "ThroughputSent",
  3777            "example": 1024
  3778          },
  3779          "tokens_spent": {
  3780            "type": "string",
  3781            "x-go-name": "TokensSpent",
  3782            "example": "500000"
  3783          }
  3784        },
  3785        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3786      },
  3787      "ConnectionTrafficDTO": {
  3788        "type": "object",
  3789        "title": "ConnectionTrafficDTO holds consumer connection traffic information.",
  3790        "properties": {
  3791          "bytes_received": {
  3792            "type": "integer",
  3793            "format": "uint64",
  3794            "x-go-name": "BytesReceived",
  3795            "example": 1024
  3796          },
  3797          "bytes_sent": {
  3798            "type": "integer",
  3799            "format": "uint64",
  3800            "x-go-name": "BytesSent",
  3801            "example": 1024
  3802          }
  3803        },
  3804        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3805      },
  3806      "ConnectivityStatus": {
  3807        "type": "object",
  3808        "properties": {
  3809          "entries": {
  3810            "type": "array",
  3811            "items": {
  3812              "$ref": "#/definitions/sessionConnectivityStatus"
  3813            },
  3814            "x-go-name": "Entries"
  3815          }
  3816        },
  3817        "x-go-name": "sessionConnectivityStatusCollection",
  3818        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/endpoints"
  3819      },
  3820      "CreateBugReportResponse": {
  3821        "description": "CreateBugReportResponse response for bug report creation",
  3822        "type": "object",
  3823        "properties": {
  3824          "email": {
  3825            "type": "string",
  3826            "x-go-name": "Email"
  3827          },
  3828          "identity": {
  3829            "type": "string",
  3830            "x-go-name": "Identity"
  3831          },
  3832          "ip": {
  3833            "type": "string",
  3834            "x-go-name": "Ip"
  3835          },
  3836          "ip_type": {
  3837            "type": "string",
  3838            "x-go-name": "IpType"
  3839          },
  3840          "message": {
  3841            "type": "string",
  3842            "x-go-name": "Message"
  3843          },
  3844          "node_country": {
  3845            "type": "string",
  3846            "x-go-name": "NodeCountry"
  3847          }
  3848        },
  3849        "x-go-package": "github.com/mysteriumnetwork/node/feedback"
  3850      },
  3851      "CurrencyExchangeDTO": {
  3852        "type": "object",
  3853        "title": "CurrencyExchangeDTO the value of a given currency.",
  3854        "properties": {
  3855          "amount": {
  3856            "type": "number",
  3857            "format": "double",
  3858            "x-go-name": "Amount"
  3859          },
  3860          "currency": {
  3861            "type": "string",
  3862            "x-go-name": "Currency"
  3863          }
  3864        },
  3865        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3866      },
  3867      "CurrentPriceResponse": {
  3868        "type": "object",
  3869        "title": "CurrentPriceResponse represents the price.",
  3870        "properties": {
  3871          "price_per_gib": {
  3872            "description": "deprecated",
  3873            "type": "string",
  3874            "x-go-name": "PricePerGiB"
  3875          },
  3876          "price_per_gib_tokens": {
  3877            "$ref": "#/definitions/Tokens"
  3878          },
  3879          "price_per_hour": {
  3880            "description": "deprecated",
  3881            "type": "string",
  3882            "x-go-name": "PricePerHour"
  3883          },
  3884          "price_per_hour_tokens": {
  3885            "$ref": "#/definitions/Tokens"
  3886          },
  3887          "service_type": {
  3888            "type": "string",
  3889            "x-go-name": "ServiceType"
  3890          }
  3891        },
  3892        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3893      },
  3894      "DNSOption": {
  3895        "description": "DNSOption defines DNS server selection strategy for consumer",
  3896        "type": "string",
  3897        "x-go-package": "github.com/mysteriumnetwork/node/core/connection"
  3898      },
  3899      "DecreaseStakeRequest": {
  3900        "description": "DecreaseStakeRequest represents the decrease stake request",
  3901        "type": "object",
  3902        "properties": {
  3903          "amount": {
  3904            "type": "string",
  3905            "x-go-name": "Amount"
  3906          },
  3907          "id": {
  3908            "type": "string",
  3909            "x-go-name": "ID"
  3910          }
  3911        },
  3912        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3913      },
  3914      "DownloadNodeUIRequest": {
  3915        "description": "DownloadNodeUIRequest request for downloading NodeUI version",
  3916        "type": "object",
  3917        "properties": {
  3918          "version": {
  3919            "type": "string",
  3920            "x-go-name": "Version"
  3921          }
  3922        },
  3923        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3924      },
  3925      "DownloadStatus": {
  3926        "description": "Status download status",
  3927        "type": "object",
  3928        "properties": {
  3929          "error": {
  3930            "type": "string",
  3931            "x-go-name": "Err"
  3932          },
  3933          "progress_percent": {
  3934            "type": "integer",
  3935            "format": "int64",
  3936            "x-go-name": "ProgressPct"
  3937          },
  3938          "status": {
  3939            "$ref": "#/definitions/dlStatus"
  3940          },
  3941          "tag": {
  3942            "type": "string",
  3943            "x-go-name": "Tag"
  3944          }
  3945        },
  3946        "x-go-name": "Status",
  3947        "x-go-package": "github.com/mysteriumnetwork/node/ui/versionmanager"
  3948      },
  3949      "EarningsDTO": {
  3950        "type": "object",
  3951        "title": "EarningsDTO holds earnings data.",
  3952        "properties": {
  3953          "earnings": {
  3954            "$ref": "#/definitions/Tokens"
  3955          },
  3956          "earnings_total": {
  3957            "$ref": "#/definitions/Tokens"
  3958          }
  3959        },
  3960        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3961      },
  3962      "EarningsPerServiceResponse": {
  3963        "description": "EarningsPerServiceResponse contains information about earnings per service",
  3964        "type": "object",
  3965        "properties": {
  3966          "data_transfer_tokens": {
  3967            "$ref": "#/definitions/Tokens"
  3968          },
  3969          "dvpn_tokens": {
  3970            "$ref": "#/definitions/Tokens"
  3971          },
  3972          "public_tokens": {
  3973            "$ref": "#/definitions/Tokens"
  3974          },
  3975          "scraping_tokens": {
  3976            "$ref": "#/definitions/Tokens"
  3977          },
  3978          "total_data_transfer_tokens": {
  3979            "$ref": "#/definitions/Tokens"
  3980          },
  3981          "total_dvpn_tokens": {
  3982            "$ref": "#/definitions/Tokens"
  3983          },
  3984          "total_public_tokens": {
  3985            "$ref": "#/definitions/Tokens"
  3986          },
  3987          "total_scraping_tokens": {
  3988            "$ref": "#/definitions/Tokens"
  3989          },
  3990          "total_tokens": {
  3991            "$ref": "#/definitions/Tokens"
  3992          }
  3993        },
  3994        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  3995      },
  3996      "EligibilityResponse": {
  3997        "description": "EligibilityResponse represents the eligibility response",
  3998        "type": "object",
  3999        "properties": {
  4000          "eligible": {
  4001            "type": "boolean",
  4002            "x-go-name": "Eligible"
  4003          }
  4004        },
  4005        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/endpoints"
  4006      },
  4007      "EntertainmentEstimateResponse": {
  4008        "type": "object",
  4009        "title": "EntertainmentEstimateResponse represents estimated entertainment.",
  4010        "properties": {
  4011          "browsing_minutes": {
  4012            "type": "integer",
  4013            "format": "uint64",
  4014            "x-go-name": "BrowsingMinutes"
  4015          },
  4016          "music_minutes": {
  4017            "type": "integer",
  4018            "format": "uint64",
  4019            "x-go-name": "MusicMinutes"
  4020          },
  4021          "price_gib": {
  4022            "type": "number",
  4023            "format": "double",
  4024            "x-go-name": "PriceGiB"
  4025          },
  4026          "price_min": {
  4027            "type": "number",
  4028            "format": "double",
  4029            "x-go-name": "PriceMin"
  4030          },
  4031          "traffic_mb": {
  4032            "type": "integer",
  4033            "format": "uint64",
  4034            "x-go-name": "TrafficMB"
  4035          },
  4036          "video_minutes": {
  4037            "type": "integer",
  4038            "format": "uint64",
  4039            "x-go-name": "VideoMinutes"
  4040          }
  4041        },
  4042        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4043      },
  4044      "Err": {
  4045        "type": "object",
  4046        "title": "Err contains the error details.",
  4047        "properties": {
  4048          "code": {
  4049            "type": "string",
  4050            "x-go-name": "Code"
  4051          },
  4052          "detail": {
  4053            "type": "string",
  4054            "x-go-name": "Detail"
  4055          },
  4056          "fields": {
  4057            "type": "object",
  4058            "additionalProperties": {
  4059              "$ref": "#/definitions/FieldError"
  4060            },
  4061            "x-go-name": "Fields"
  4062          },
  4063          "message": {
  4064            "type": "string",
  4065            "x-go-name": "Message"
  4066          }
  4067        },
  4068        "x-go-package": "github.com/mysteriumnetwork/go-rest/apierror"
  4069      },
  4070      "FeesDTO": {
  4071        "description": "FeesDTO represents the transactor fees",
  4072        "type": "object",
  4073        "properties": {
  4074          "decreaseStake": {
  4075            "type": "string",
  4076            "x-go-name": "DecreaseStake"
  4077          },
  4078          "decrease_stake_tokens": {
  4079            "$ref": "#/definitions/Tokens"
  4080          },
  4081          "hermes": {
  4082            "description": "deprecated - confusing name",
  4083            "type": "integer",
  4084            "format": "uint16",
  4085            "x-go-name": "Hermes"
  4086          },
  4087          "hermes_percent": {
  4088            "type": "string",
  4089            "x-go-name": "HermesPercent"
  4090          },
  4091          "registration": {
  4092            "type": "string",
  4093            "x-go-name": "Registration"
  4094          },
  4095          "registration_tokens": {
  4096            "$ref": "#/definitions/Tokens"
  4097          },
  4098          "settlement": {
  4099            "type": "string",
  4100            "x-go-name": "Settlement"
  4101          },
  4102          "settlement_tokens": {
  4103            "$ref": "#/definitions/Tokens"
  4104          }
  4105        },
  4106        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4107      },
  4108      "FieldError": {
  4109        "type": "object",
  4110        "title": "FieldError contains the reason why a field failed validation.",
  4111        "properties": {
  4112          "code": {
  4113            "type": "string",
  4114            "x-go-name": "Code"
  4115          },
  4116          "message": {
  4117            "type": "string",
  4118            "x-go-name": "Message"
  4119          }
  4120        },
  4121        "x-go-package": "github.com/mysteriumnetwork/go-rest/apierror"
  4122      },
  4123      "FilterPreset": {
  4124        "type": "object",
  4125        "title": "FilterPreset is a pre-defined proposal filter.",
  4126        "properties": {
  4127          "id": {
  4128            "type": "integer",
  4129            "format": "int64",
  4130            "x-go-name": "ID"
  4131          },
  4132          "name": {
  4133            "type": "string",
  4134            "x-go-name": "Name"
  4135          }
  4136        },
  4137        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4138      },
  4139      "GatewaysResponse": {
  4140        "type": "object",
  4141        "title": "GatewaysResponse holds payment gateway details.",
  4142        "properties": {
  4143          "currencies": {
  4144            "type": "array",
  4145            "items": {
  4146              "type": "string"
  4147            },
  4148            "x-go-name": "Currencies"
  4149          },
  4150          "name": {
  4151            "type": "string",
  4152            "x-go-name": "Name"
  4153          },
  4154          "order_options": {
  4155            "$ref": "#/definitions/PaymentOrderOptions"
  4156          }
  4157        },
  4158        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4159      },
  4160      "HealthCheckDTO": {
  4161        "type": "object",
  4162        "title": "HealthCheckDTO holds API healthcheck.",
  4163        "properties": {
  4164          "build_info": {
  4165            "$ref": "#/definitions/BuildInfoDTO"
  4166          },
  4167          "process": {
  4168            "type": "integer",
  4169            "format": "int64",
  4170            "x-go-name": "Process",
  4171            "example": 10449
  4172          },
  4173          "uptime": {
  4174            "type": "string",
  4175            "x-go-name": "Uptime",
  4176            "example": "25h53m33.540493171s"
  4177          },
  4178          "version": {
  4179            "type": "string",
  4180            "x-go-name": "Version",
  4181            "example": "0.0.6"
  4182          }
  4183        },
  4184        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4185      },
  4186      "HistoryType": {
  4187        "description": "HistoryType settlement history type",
  4188        "type": "string",
  4189        "x-go-package": "github.com/mysteriumnetwork/node/session/pingpong"
  4190      },
  4191      "IPDTO": {
  4192        "type": "object",
  4193        "title": "IPDTO describes IP metadata.",
  4194        "properties": {
  4195          "ip": {
  4196            "description": "public IP address",
  4197            "type": "string",
  4198            "x-go-name": "IP",
  4199            "example": "127.0.0.1"
  4200          }
  4201        },
  4202        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4203      },
  4204      "IdentityBeneficiaryResponseDTO": {
  4205        "type": "object",
  4206        "title": "IdentityBeneficiaryResponse represents the provider beneficiary address.",
  4207        "properties": {
  4208          "beneficiary": {
  4209            "type": "string",
  4210            "x-go-name": "Beneficiary"
  4211          },
  4212          "is_channel_address": {
  4213            "type": "boolean",
  4214            "x-go-name": "IsChannelAddress"
  4215          }
  4216        },
  4217        "x-go-name": "IdentityBeneficiaryResponse",
  4218        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4219      },
  4220      "IdentityCreateRequestDTO": {
  4221        "type": "object",
  4222        "title": "IdentityCreateRequest request used for new identity creation.",
  4223        "properties": {
  4224          "passphrase": {
  4225            "type": "string",
  4226            "x-go-name": "Passphrase"
  4227          }
  4228        },
  4229        "x-go-name": "IdentityCreateRequest",
  4230        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4231      },
  4232      "IdentityCurrentRequestDTO": {
  4233        "type": "object",
  4234        "title": "IdentityCurrentRequest request used for current identity remembering.",
  4235        "properties": {
  4236          "id": {
  4237            "type": "string",
  4238            "x-go-name": "Address"
  4239          },
  4240          "passphrase": {
  4241            "type": "string",
  4242            "x-go-name": "Passphrase"
  4243          }
  4244        },
  4245        "x-go-name": "IdentityCurrentRequest",
  4246        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4247      },
  4248      "IdentityDTO": {
  4249        "type": "object",
  4250        "title": "IdentityDTO holds identity information.",
  4251        "required": [
  4252          "id"
  4253        ],
  4254        "properties": {
  4255          "balance": {
  4256            "description": "deprecated",
  4257            "type": "string",
  4258            "x-go-name": "Balance"
  4259          },
  4260          "balance_tokens": {
  4261            "$ref": "#/definitions/Tokens"
  4262          },
  4263          "channel_address": {
  4264            "type": "string",
  4265            "x-go-name": "ChannelAddress"
  4266          },
  4267          "earnings": {
  4268            "type": "string",
  4269            "x-go-name": "Earnings"
  4270          },
  4271          "earnings_per_hermes": {
  4272            "type": "object",
  4273            "additionalProperties": {
  4274              "$ref": "#/definitions/EarningsDTO"
  4275            },
  4276            "x-go-name": "EarningsPerHermes"
  4277          },
  4278          "earnings_tokens": {
  4279            "$ref": "#/definitions/Tokens"
  4280          },
  4281          "earnings_total": {
  4282            "type": "string",
  4283            "x-go-name": "EarningsTotal"
  4284          },
  4285          "earnings_total_tokens": {
  4286            "$ref": "#/definitions/Tokens"
  4287          },
  4288          "hermes_id": {
  4289            "type": "string",
  4290            "x-go-name": "HermesID"
  4291          },
  4292          "id": {
  4293            "description": "identity in Ethereum address format",
  4294            "type": "string",
  4295            "x-go-name": "Address",
  4296            "example": "0x0000000000000000000000000000000000000001"
  4297          },
  4298          "registration_status": {
  4299            "type": "string",
  4300            "x-go-name": "RegistrationStatus"
  4301          },
  4302          "stake": {
  4303            "type": "string",
  4304            "x-go-name": "Stake"
  4305          }
  4306        },
  4307        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4308      },
  4309      "IdentityExportRequestDTO": {
  4310        "type": "object",
  4311        "title": "IdentityExportRequest is received in identity export endpoint.",
  4312        "properties": {
  4313          "identity": {
  4314            "type": "string",
  4315            "x-go-name": "Identity"
  4316          },
  4317          "newpassphrase": {
  4318            "type": "string",
  4319            "x-go-name": "NewPassphrase"
  4320          }
  4321        },
  4322        "x-go-name": "IdentityExportRequest",
  4323        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4324      },
  4325      "IdentityExportResponseDTO": {
  4326        "type": "object",
  4327        "title": "EncryptedKeyJSON represents response to IdentityExportRequest.",
  4328        "properties": {
  4329          "address": {
  4330            "type": "string",
  4331            "x-go-name": "Address"
  4332          },
  4333          "crypto": {
  4334            "$ref": "#/definitions/cryptoJSON"
  4335          },
  4336          "id": {
  4337            "type": "string",
  4338            "x-go-name": "Id"
  4339          },
  4340          "version": {
  4341            "type": "integer",
  4342            "format": "int64",
  4343            "x-go-name": "Version"
  4344          }
  4345        },
  4346        "x-go-name": "EncryptedKeyJSON",
  4347        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4348      },
  4349      "IdentityImportRequest": {
  4350        "type": "object",
  4351        "title": "IdentityImportRequest is received in identity import endpoint.",
  4352        "properties": {
  4353          "current_passphrase": {
  4354            "type": "string",
  4355            "x-go-name": "CurrentPassphrase"
  4356          },
  4357          "data": {
  4358            "type": "array",
  4359            "items": {
  4360              "type": "integer",
  4361              "format": "uint8"
  4362            },
  4363            "x-go-name": "Data"
  4364          },
  4365          "new_passphrase": {
  4366            "type": "string",
  4367            "x-go-name": "NewPassphrase"
  4368          },
  4369          "set_default": {
  4370            "description": "Optional. Default values are OK.",
  4371            "type": "boolean",
  4372            "x-go-name": "SetDefault"
  4373          }
  4374        },
  4375        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4376      },
  4377      "IdentityRefDTO": {
  4378        "type": "object",
  4379        "title": "IdentityRefDTO represents unique identity reference.",
  4380        "required": [
  4381          "id"
  4382        ],
  4383        "properties": {
  4384          "id": {
  4385            "description": "identity in Ethereum address format",
  4386            "type": "string",
  4387            "x-go-name": "Address",
  4388            "example": "0x0000000000000000000000000000000000000001"
  4389          }
  4390        },
  4391        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4392      },
  4393      "IdentityRegisterRequestDTO": {
  4394        "description": "IdentityRegisterRequest represents the identity registration user input parameters",
  4395        "type": "object",
  4396        "properties": {
  4397          "beneficiary": {
  4398            "description": "Beneficiary: beneficiary to set during registration. Optional.",
  4399            "type": "string",
  4400            "x-go-name": "Beneficiary"
  4401          },
  4402          "fee": {
  4403            "description": "Fee: an agreed amount to pay for registration",
  4404            "type": "string",
  4405            "x-go-name": "Fee"
  4406          },
  4407          "referral_token": {
  4408            "description": "Token: referral token, if the user has one",
  4409            "type": "string",
  4410            "x-go-name": "ReferralToken"
  4411          }
  4412        },
  4413        "x-go-name": "IdentityRegisterRequest",
  4414        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4415      },
  4416      "IdentityRegistrationResponseDTO": {
  4417        "description": "IdentityRegistrationResponse represents registration status and needed data for registering of given identity",
  4418        "type": "object",
  4419        "properties": {
  4420          "registered": {
  4421            "description": "Returns true if identity is registered in payments smart contract",
  4422            "type": "boolean",
  4423            "x-go-name": "Registered"
  4424          },
  4425          "status": {
  4426            "type": "string",
  4427            "x-go-name": "Status"
  4428          }
  4429        },
  4430        "x-go-name": "IdentityRegistrationResponse",
  4431        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4432      },
  4433      "IdentityUnlockRequestDTO": {
  4434        "type": "object",
  4435        "title": "IdentityUnlockRequest request used for identity unlocking.",
  4436        "properties": {
  4437          "passphrase": {
  4438            "type": "string",
  4439            "x-go-name": "Passphrase"
  4440          }
  4441        },
  4442        "x-go-name": "IdentityUnlockRequest",
  4443        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4444      },
  4445      "LatestReleaseResponse": {
  4446        "description": "LatestReleaseResponse latest release info",
  4447        "type": "object",
  4448        "properties": {
  4449          "version": {
  4450            "type": "string",
  4451            "x-go-name": "Version"
  4452          }
  4453        },
  4454        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4455      },
  4456      "ListIdentitiesResponse": {
  4457        "type": "object",
  4458        "title": "ListIdentitiesResponse holds list of identities.",
  4459        "properties": {
  4460          "identities": {
  4461            "type": "array",
  4462            "items": {
  4463              "$ref": "#/definitions/IdentityRefDTO"
  4464            },
  4465            "x-go-name": "Identities"
  4466          }
  4467        },
  4468        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4469      },
  4470      "ListProposalFilterPresetsResponse": {
  4471        "type": "object",
  4472        "title": "ListProposalFilterPresetsResponse holds a list of proposal filter presets.",
  4473        "properties": {
  4474          "items": {
  4475            "type": "array",
  4476            "items": {
  4477              "$ref": "#/definitions/FilterPreset"
  4478            },
  4479            "x-go-name": "Items"
  4480          }
  4481        },
  4482        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4483      },
  4484      "ListProposalsCountiesResponse": {
  4485        "type": "object",
  4486        "title": "ListProposalsCountiesResponse holds number of proposals per country.",
  4487        "additionalProperties": {
  4488          "type": "integer",
  4489          "format": "int64"
  4490        },
  4491        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4492      },
  4493      "ListProposalsResponse": {
  4494        "type": "object",
  4495        "title": "ListProposalsResponse holds list of proposals.",
  4496        "properties": {
  4497          "proposals": {
  4498            "type": "array",
  4499            "items": {
  4500              "$ref": "#/definitions/ProposalDTO"
  4501            },
  4502            "x-go-name": "Proposals"
  4503          }
  4504        },
  4505        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4506      },
  4507      "LocalVersion": {
  4508        "description": "LocalVersion it's a local version with extra indicator if it is in use",
  4509        "type": "object",
  4510        "properties": {
  4511          "name": {
  4512            "type": "string",
  4513            "x-go-name": "Name"
  4514          }
  4515        },
  4516        "x-go-package": "github.com/mysteriumnetwork/node/ui/versionmanager"
  4517      },
  4518      "LocalVersionsResponse": {
  4519        "description": "LocalVersionsResponse local version response",
  4520        "type": "object",
  4521        "properties": {
  4522          "versions": {
  4523            "type": "array",
  4524            "items": {
  4525              "$ref": "#/definitions/LocalVersion"
  4526            },
  4527            "x-go-name": "Versions"
  4528          }
  4529        },
  4530        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4531      },
  4532      "LocationDTO": {
  4533        "type": "object",
  4534        "title": "LocationDTO describes IP location metadata.",
  4535        "properties": {
  4536          "asn": {
  4537            "description": "Autonomous system number",
  4538            "type": "integer",
  4539            "format": "int64",
  4540            "x-go-name": "ASN",
  4541            "example": 62179
  4542          },
  4543          "city": {
  4544            "description": "Node City",
  4545            "type": "string",
  4546            "x-go-name": "City",
  4547            "example": "Vilnius"
  4548          },
  4549          "continent": {
  4550            "description": "Continent",
  4551            "type": "string",
  4552            "x-go-name": "Continent",
  4553            "example": "EU"
  4554          },
  4555          "country": {
  4556            "description": "Node Country",
  4557            "type": "string",
  4558            "x-go-name": "Country",
  4559            "example": "LT"
  4560          },
  4561          "ip": {
  4562            "description": "IP address",
  4563            "type": "string",
  4564            "x-go-name": "IP",
  4565            "example": "1.2.3.4"
  4566          },
  4567          "ip_type": {
  4568            "description": "IP type (data_center, residential, etc.)",
  4569            "type": "string",
  4570            "x-go-name": "IPType",
  4571            "example": "residential"
  4572          },
  4573          "isp": {
  4574            "description": "Internet Service Provider name",
  4575            "type": "string",
  4576            "x-go-name": "ISP",
  4577            "example": "Telia Lietuva, AB"
  4578          },
  4579          "region": {
  4580            "description": "Node Region",
  4581            "type": "string",
  4582            "x-go-name": "Region",
  4583            "example": "Vilnius region"
  4584          }
  4585        },
  4586        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4587      },
  4588      "MMNApiKeyRequest": {
  4589        "type": "object",
  4590        "title": "MMNApiKeyRequest request used to manage MMN's API key.",
  4591        "properties": {
  4592          "api_key": {
  4593            "type": "string",
  4594            "x-go-name": "ApiKey"
  4595          }
  4596        },
  4597        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4598      },
  4599      "MMNGrantVerificationResponse": {
  4600        "description": "MMNGrantVerificationResponse message received via redirect from mystnodes.com",
  4601        "type": "object",
  4602        "properties": {
  4603          "api_key": {
  4604            "type": "string",
  4605            "x-go-name": "ApiKey"
  4606          },
  4607          "is_eligible_for_free_registration": {
  4608            "type": "boolean",
  4609            "x-go-name": "IsEligibleForFreeRegistration"
  4610          },
  4611          "wallet_address": {
  4612            "type": "string",
  4613            "x-go-name": "WalletAddress"
  4614          }
  4615        },
  4616        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4617      },
  4618      "MMNLinkRedirectResponse": {
  4619        "description": "MMNLinkRedirectResponse claim link response",
  4620        "type": "object",
  4621        "properties": {
  4622          "link": {
  4623            "type": "string",
  4624            "x-go-name": "Link"
  4625          }
  4626        },
  4627        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4628      },
  4629      "MigrationStatusResponse": {
  4630        "description": "MigrationStatusResponse represents status of the migration",
  4631        "type": "object",
  4632        "properties": {
  4633          "status": {
  4634            "type": "string",
  4635            "x-go-name": "Status"
  4636          }
  4637        },
  4638        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4639      },
  4640      "MonitoringAgentResponse": {
  4641        "type": "object",
  4642        "title": "MonitoringAgentResponse reflects amount of connectivity statuses for each service_type.",
  4643        "properties": {
  4644          "error": {
  4645            "type": "string",
  4646            "x-go-name": "Error"
  4647          },
  4648          "statuses": {
  4649            "$ref": "#/definitions/MonitoringAgentStatuses"
  4650          }
  4651        },
  4652        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4653      },
  4654      "MonitoringAgentStatuses": {
  4655        "type": "object",
  4656        "title": "MonitoringAgentStatuses a object represent a [service_type][status]amount of statuses for each service type.",
  4657        "additionalProperties": {
  4658          "type": "object",
  4659          "additionalProperties": {
  4660            "type": "integer",
  4661            "format": "int64"
  4662          }
  4663        },
  4664        "x-go-package": "github.com/mysteriumnetwork/node/core/node"
  4665      },
  4666      "MystnodesSSOLinkResponse": {
  4667        "description": "MystnodesSSOLinkResponse contains a link to initiate auth via mystnodes",
  4668        "type": "object",
  4669        "properties": {
  4670          "link": {
  4671            "type": "string",
  4672            "x-go-name": "Link"
  4673          }
  4674        },
  4675        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4676      },
  4677      "NATType": {
  4678        "description": "NATType represents nat type",
  4679        "type": "string",
  4680        "x-go-package": "github.com/mysteriumnetwork/node/nat"
  4681      },
  4682      "NATTypeDTO": {
  4683        "description": "NATTypeDTO gives information about NAT type in terms of traversal capabilities",
  4684        "type": "object",
  4685        "properties": {
  4686          "error": {
  4687            "type": "string",
  4688            "x-go-name": "Error"
  4689          },
  4690          "type": {
  4691            "$ref": "#/definitions/NATType"
  4692          }
  4693        },
  4694        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4695      },
  4696      "NodeStatusResponse": {
  4697        "description": "NodeStatusResponse a node status reflects monitoring agent POV on node availability",
  4698        "type": "object",
  4699        "properties": {
  4700          "status": {
  4701            "$ref": "#/definitions/Status"
  4702          }
  4703        },
  4704        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4705      },
  4706      "PageableDTO": {
  4707        "type": "object",
  4708        "title": "PageableDTO holds pagination information.",
  4709        "properties": {
  4710          "page": {
  4711            "description": "The current page of the items.",
  4712            "type": "integer",
  4713            "format": "int64",
  4714            "x-go-name": "Page"
  4715          },
  4716          "page_size": {
  4717            "description": "Number of items per page.",
  4718            "type": "integer",
  4719            "format": "int64",
  4720            "x-go-name": "PageSize"
  4721          },
  4722          "total_items": {
  4723            "description": "The total items.",
  4724            "type": "integer",
  4725            "format": "int64",
  4726            "x-go-name": "TotalItems"
  4727          },
  4728          "total_pages": {
  4729            "description": "The last page of the items.",
  4730            "type": "integer",
  4731            "format": "int64",
  4732            "x-go-name": "TotalPages"
  4733          }
  4734        },
  4735        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4736      },
  4737      "PaymentChannelDTO": {
  4738        "type": "object",
  4739        "title": "PaymentChannelDTO represents represents opened payment channel between identity and hermes.",
  4740        "properties": {
  4741          "beneficiary": {
  4742            "description": "Beneficiary - eth wallet address",
  4743            "type": "string",
  4744            "x-go-name": "Beneficiary"
  4745          },
  4746          "earnings": {
  4747            "description": "Current unsettled earnings",
  4748            "type": "string",
  4749            "x-go-name": "Earnings",
  4750            "example": "19449034049997187"
  4751          },
  4752          "earnings_total": {
  4753            "description": "Earnings of all history",
  4754            "type": "string",
  4755            "x-go-name": "EarningsTotal",
  4756            "example": "19449034049997187"
  4757          },
  4758          "hermes_id": {
  4759            "type": "string",
  4760            "x-go-name": "HermesID",
  4761            "example": "0x42a537D649d6853C0a866470f2d084DA0f73b5E4"
  4762          },
  4763          "id": {
  4764            "description": "Unique identifier of payment channel",
  4765            "type": "string",
  4766            "x-go-name": "ID",
  4767            "example": "0x8fc5f7a1794dc39c6837df10613bddf1ec9810503a50306a8667f702457a739a"
  4768          },
  4769          "owner_id": {
  4770            "type": "string",
  4771            "x-go-name": "OwnerID",
  4772            "example": "0x0000000000000000000000000000000000000001"
  4773          }
  4774        },
  4775        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4776      },
  4777      "PaymentOrderOptions": {
  4778        "description": "PaymentOrderOptions represents pilvytis payment order options",
  4779        "type": "object",
  4780        "properties": {
  4781          "minimum": {
  4782            "type": "number",
  4783            "format": "double",
  4784            "x-go-name": "Minimum"
  4785          },
  4786          "suggested": {
  4787            "type": "array",
  4788            "items": {
  4789              "type": "number",
  4790              "format": "double"
  4791            },
  4792            "x-go-name": "Suggested"
  4793          }
  4794        },
  4795        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4796      },
  4797      "PaymentOrderRequest": {
  4798        "description": "PaymentOrderRequest holds order request details",
  4799        "type": "object",
  4800        "properties": {
  4801          "amount_usd": {
  4802            "type": "string",
  4803            "x-go-name": "AmountUSD",
  4804            "example": "20"
  4805          },
  4806          "country": {
  4807            "type": "string",
  4808            "x-go-name": "Country",
  4809            "example": "US"
  4810          },
  4811          "gateway_caller_data": {
  4812            "type": "object",
  4813            "x-go-name": "CallerData",
  4814            "example": {}
  4815          },
  4816          "myst_amount": {
  4817            "type": "string",
  4818            "x-go-name": "MystAmount",
  4819            "example": "3.14"
  4820          },
  4821          "pay_currency": {
  4822            "type": "string",
  4823            "x-go-name": "PayCurrency",
  4824            "example": "EUR"
  4825          },
  4826          "project_id": {
  4827            "type": "string",
  4828            "x-go-name": "ProjectID",
  4829            "example": "mysteriumvpn, mystnodes"
  4830          },
  4831          "state": {
  4832            "type": "string",
  4833            "x-go-name": "State",
  4834            "example": "MO"
  4835          }
  4836        },
  4837        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4838      },
  4839      "PaymentOrderResponse": {
  4840        "type": "object",
  4841        "title": "PaymentOrderResponse holds payment gateway order details.",
  4842        "properties": {
  4843          "chain_id": {
  4844            "type": "integer",
  4845            "format": "int64",
  4846            "x-go-name": "ChainID"
  4847          },
  4848          "channel_address": {
  4849            "type": "string",
  4850            "x-go-name": "ChannelAddress"
  4851          },
  4852          "country": {
  4853            "type": "string",
  4854            "x-go-name": "Country"
  4855          },
  4856          "currency": {
  4857            "type": "string",
  4858            "x-go-name": "Currency"
  4859          },
  4860          "gateway_name": {
  4861            "type": "string",
  4862            "x-go-name": "GatewayName"
  4863          },
  4864          "id": {
  4865            "type": "string",
  4866            "x-go-name": "ID"
  4867          },
  4868          "identity": {
  4869            "type": "string",
  4870            "x-go-name": "Identity"
  4871          },
  4872          "items_sub_total": {
  4873            "type": "string",
  4874            "x-go-name": "ItemsSubTotal"
  4875          },
  4876          "order_total": {
  4877            "type": "string",
  4878            "x-go-name": "OrderTotal"
  4879          },
  4880          "pay_amount": {
  4881            "type": "string",
  4882            "x-go-name": "PayAmount"
  4883          },
  4884          "pay_currency": {
  4885            "type": "string",
  4886            "x-go-name": "PayCurrency"
  4887          },
  4888          "public_gateway_data": {
  4889            "type": "object",
  4890            "x-go-name": "PublicGatewayData"
  4891          },
  4892          "receive_myst": {
  4893            "type": "string",
  4894            "x-go-name": "ReceiveMYST"
  4895          },
  4896          "state": {
  4897            "type": "string",
  4898            "x-go-name": "State"
  4899          },
  4900          "status": {
  4901            "type": "string",
  4902            "x-go-name": "Status"
  4903          },
  4904          "tax_rate": {
  4905            "type": "string",
  4906            "x-go-name": "TaxRate"
  4907          },
  4908          "tax_sub_total": {
  4909            "type": "string",
  4910            "x-go-name": "TaxSubTotal"
  4911          }
  4912        },
  4913        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4914      },
  4915      "Price": {
  4916        "type": "object",
  4917        "title": "Price represents the service price.",
  4918        "properties": {
  4919          "currency": {
  4920            "type": "string",
  4921            "x-go-name": "Currency"
  4922          },
  4923          "per_gib": {
  4924            "type": "integer",
  4925            "format": "uint64",
  4926            "x-go-name": "PerGiB"
  4927          },
  4928          "per_gib_tokens": {
  4929            "$ref": "#/definitions/Tokens"
  4930          },
  4931          "per_hour": {
  4932            "type": "integer",
  4933            "format": "uint64",
  4934            "x-go-name": "PerHour"
  4935          },
  4936          "per_hour_tokens": {
  4937            "$ref": "#/definitions/Tokens"
  4938          }
  4939        },
  4940        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4941      },
  4942      "ProposalDTO": {
  4943        "type": "object",
  4944        "title": "ProposalDTO holds service proposal details.",
  4945        "properties": {
  4946          "access_policies": {
  4947            "description": "AccessPolicies",
  4948            "type": "array",
  4949            "items": {
  4950              "$ref": "#/definitions/AccessPolicy"
  4951            },
  4952            "x-go-name": "AccessPolicies"
  4953          },
  4954          "compatibility": {
  4955            "description": "Compatibility level.",
  4956            "type": "integer",
  4957            "format": "int64",
  4958            "x-go-name": "Compatibility"
  4959          },
  4960          "format": {
  4961            "description": "Proposal format.",
  4962            "type": "string",
  4963            "x-go-name": "Format"
  4964          },
  4965          "location": {
  4966            "$ref": "#/definitions/ServiceLocationDTO"
  4967          },
  4968          "price": {
  4969            "$ref": "#/definitions/Price"
  4970          },
  4971          "provider_id": {
  4972            "description": "provider who offers service",
  4973            "type": "string",
  4974            "x-go-name": "ProviderID",
  4975            "example": "0x0000000000000000000000000000000000000001"
  4976          },
  4977          "quality": {
  4978            "$ref": "#/definitions/Quality"
  4979          },
  4980          "service_type": {
  4981            "description": "type of service provider offers",
  4982            "type": "string",
  4983            "x-go-name": "ServiceType",
  4984            "example": "openvpn"
  4985          }
  4986        },
  4987        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  4988      },
  4989      "ProviderConsumersCountResponse": {
  4990        "type": "object",
  4991        "title": "ProviderConsumersCountResponse reflects a number of unique consumers served during a period of time.",
  4992        "properties": {
  4993          "count": {
  4994            "type": "integer",
  4995            "format": "int64",
  4996            "x-go-name": "Count"
  4997          }
  4998        },
  4999        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5000      },
  5001      "ProviderEarningsSeriesResponse": {
  5002        "type": "object",
  5003        "title": "ProviderEarningsSeriesResponse reflects a earnings series metrics during a period of time.",
  5004        "properties": {
  5005          "data": {
  5006            "type": "array",
  5007            "items": {
  5008              "$ref": "#/definitions/ProviderSeriesItem"
  5009            },
  5010            "x-go-name": "Data"
  5011          }
  5012        },
  5013        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5014      },
  5015      "ProviderSeriesItem": {
  5016        "description": "ProviderSeriesItem represents a general data series item",
  5017        "type": "object",
  5018        "properties": {
  5019          "timestamp": {
  5020            "type": "integer",
  5021            "format": "int64",
  5022            "x-go-name": "Timestamp"
  5023          },
  5024          "value": {
  5025            "type": "string",
  5026            "x-go-name": "Value"
  5027          }
  5028        },
  5029        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5030      },
  5031      "ProviderSession": {
  5032        "type": "object",
  5033        "title": "ProviderSession contains provided session information.",
  5034        "properties": {
  5035          "consumer_country": {
  5036            "type": "string",
  5037            "x-go-name": "ConsumerCountry"
  5038          },
  5039          "duration_seconds": {
  5040            "type": "integer",
  5041            "format": "int64",
  5042            "x-go-name": "DurationSeconds"
  5043          },
  5044          "earnings": {
  5045            "$ref": "#/definitions/Tokens"
  5046          },
  5047          "id": {
  5048            "type": "string",
  5049            "x-go-name": "ID"
  5050          },
  5051          "service_type": {
  5052            "type": "string",
  5053            "x-go-name": "ServiceType"
  5054          },
  5055          "started_at": {
  5056            "type": "string",
  5057            "x-go-name": "StartedAt"
  5058          },
  5059          "transferred_bytes": {
  5060            "type": "integer",
  5061            "format": "int64",
  5062            "x-go-name": "TransferredBytes"
  5063          }
  5064        },
  5065        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5066      },
  5067      "ProviderSessionsCountResponse": {
  5068        "type": "object",
  5069        "title": "ProviderSessionsCountResponse reflects a number of sessions during a period of time.",
  5070        "properties": {
  5071          "count": {
  5072            "type": "integer",
  5073            "format": "int64",
  5074            "x-go-name": "Count"
  5075          }
  5076        },
  5077        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5078      },
  5079      "ProviderSessionsResponse": {
  5080        "type": "object",
  5081        "title": "ProviderSessionsResponse reflects a list of sessions metrics during a period of time.",
  5082        "properties": {
  5083          "sessions": {
  5084            "type": "array",
  5085            "items": {
  5086              "$ref": "#/definitions/ProviderSession"
  5087            },
  5088            "x-go-name": "Sessions"
  5089          }
  5090        },
  5091        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5092      },
  5093      "ProviderSessionsSeriesResponse": {
  5094        "type": "object",
  5095        "title": "ProviderSessionsSeriesResponse reflects a sessions data series metrics during a period of time.",
  5096        "properties": {
  5097          "data": {
  5098            "type": "array",
  5099            "items": {
  5100              "$ref": "#/definitions/ProviderSeriesItem"
  5101            },
  5102            "x-go-name": "Data"
  5103          }
  5104        },
  5105        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5106      },
  5107      "ProviderTransferredDataResponse": {
  5108        "type": "object",
  5109        "title": "ProviderTransferredDataResponse reflects a number of bytes transferred by provider during a period of time.",
  5110        "properties": {
  5111          "transferred_data_bytes": {
  5112            "type": "integer",
  5113            "format": "int64",
  5114            "x-go-name": "Bytes"
  5115          }
  5116        },
  5117        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5118      },
  5119      "ProviderTransferredDataSeriesResponse": {
  5120        "type": "object",
  5121        "title": "ProviderTransferredDataSeriesResponse reflects a transferred bytes data series metrics during a period of time.",
  5122        "properties": {
  5123          "data": {
  5124            "type": "array",
  5125            "items": {
  5126              "$ref": "#/definitions/ProviderSeriesItem"
  5127            },
  5128            "x-go-name": "Data"
  5129          }
  5130        },
  5131        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5132      },
  5133      "Quality": {
  5134        "type": "object",
  5135        "title": "Quality holds proposal quality metrics.",
  5136        "properties": {
  5137          "bandwidth": {
  5138            "type": "number",
  5139            "format": "double",
  5140            "x-go-name": "Bandwidth"
  5141          },
  5142          "latency": {
  5143            "type": "number",
  5144            "format": "double",
  5145            "x-go-name": "Latency"
  5146          },
  5147          "quality": {
  5148            "type": "number",
  5149            "format": "double",
  5150            "x-go-name": "Quality"
  5151          },
  5152          "uptime": {
  5153            "type": "number",
  5154            "format": "double",
  5155            "x-go-name": "Uptime"
  5156          }
  5157        },
  5158        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5159      },
  5160      "QualityInfoResponse": {
  5161        "type": "object",
  5162        "title": "QualityInfoResponse reflects a node quality.",
  5163        "properties": {
  5164          "quality": {
  5165            "type": "number",
  5166            "format": "double",
  5167            "x-go-name": "Quality"
  5168          }
  5169        },
  5170        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5171      },
  5172      "ReferralTokenResponse": {
  5173        "type": "object",
  5174        "title": "ReferralTokenResponse represents a response for referral token.",
  5175        "properties": {
  5176          "token": {
  5177            "type": "string",
  5178            "x-go-name": "Token"
  5179          }
  5180        },
  5181        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5182      },
  5183      "RegistrationPaymentResponse": {
  5184        "type": "object",
  5185        "title": "RegistrationPaymentResponse holds a registration payment order response.",
  5186        "properties": {
  5187          "paid": {
  5188            "type": "boolean",
  5189            "x-go-name": "Paid"
  5190          }
  5191        },
  5192        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5193      },
  5194      "RemoteVersion": {
  5195        "description": "RemoteVersion it's a version",
  5196        "type": "object",
  5197        "properties": {
  5198          "compatibility_url": {
  5199            "type": "string",
  5200            "x-go-name": "CompatibilityURL"
  5201          },
  5202          "is_pre_release": {
  5203            "type": "boolean",
  5204            "x-go-name": "IsPreRelease"
  5205          },
  5206          "name": {
  5207            "type": "string",
  5208            "x-go-name": "Name"
  5209          },
  5210          "release_notes": {
  5211            "type": "string",
  5212            "x-go-name": "ReleaseNotes"
  5213          },
  5214          "released_at": {
  5215            "type": "string",
  5216            "format": "date-time",
  5217            "x-go-name": "PublishedAt"
  5218          }
  5219        },
  5220        "x-go-package": "github.com/mysteriumnetwork/node/ui/versionmanager"
  5221      },
  5222      "RemoteVersionsResponse": {
  5223        "description": "RemoteVersionsResponse local version response",
  5224        "type": "object",
  5225        "properties": {
  5226          "versions": {
  5227            "type": "array",
  5228            "items": {
  5229              "$ref": "#/definitions/RemoteVersion"
  5230            },
  5231            "x-go-name": "Versions"
  5232          }
  5233        },
  5234        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5235      },
  5236      "ReportIssueGithubResponse": {
  5237        "description": "ReportIssueGithubResponse response for github issue creation",
  5238        "type": "object",
  5239        "properties": {
  5240          "issue_id": {
  5241            "type": "string",
  5242            "x-go-name": "IssueID"
  5243          }
  5244        },
  5245        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/endpoints"
  5246      },
  5247      "ServiceAccessPolicies": {
  5248        "description": "ServiceAccessPolicies represents the access controls for service start",
  5249        "type": "object",
  5250        "properties": {
  5251          "ids": {
  5252            "type": "array",
  5253            "items": {
  5254              "type": "string"
  5255            },
  5256            "x-go-name": "IDs"
  5257          }
  5258        },
  5259        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5260      },
  5261      "ServiceInfoDTO": {
  5262        "type": "object",
  5263        "title": "ServiceInfoDTO represents running service information.",
  5264        "properties": {
  5265          "connection_statistics": {
  5266            "$ref": "#/definitions/ServiceStatisticsDTO"
  5267          },
  5268          "id": {
  5269            "type": "string",
  5270            "x-go-name": "ID",
  5271            "example": "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
  5272          },
  5273          "options": {
  5274            "description": "options with which service was started. Every service has a unique list of allowed options.",
  5275            "x-go-name": "Options",
  5276            "example": "{\"port\": 1123, \"protocol\": \"udp\"}"
  5277          },
  5278          "proposal": {
  5279            "$ref": "#/definitions/ProposalDTO"
  5280          },
  5281          "provider_id": {
  5282            "description": "provider identity",
  5283            "type": "string",
  5284            "x-go-name": "ProviderID",
  5285            "example": "0x0000000000000000000000000000000000000002"
  5286          },
  5287          "status": {
  5288            "type": "string",
  5289            "x-go-name": "Status",
  5290            "example": "Running"
  5291          },
  5292          "type": {
  5293            "description": "service type. Possible values are \"openvpn\", \"wireguard\" and \"noop\"",
  5294            "type": "string",
  5295            "x-go-name": "Type",
  5296            "example": "openvpn"
  5297          }
  5298        },
  5299        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5300      },
  5301      "ServiceListResponse": {
  5302        "type": "array",
  5303        "title": "ServiceListResponse represents a list of running services on the node.",
  5304        "items": {
  5305          "$ref": "#/definitions/ServiceInfoDTO"
  5306        },
  5307        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5308      },
  5309      "ServiceLocationDTO": {
  5310        "type": "object",
  5311        "title": "ServiceLocationDTO holds service location metadata.",
  5312        "properties": {
  5313          "asn": {
  5314            "description": "Autonomous System Number",
  5315            "type": "integer",
  5316            "format": "int64",
  5317            "x-go-name": "ASN",
  5318            "example": 1
  5319          },
  5320          "city": {
  5321            "type": "string",
  5322            "x-go-name": "City",
  5323            "example": "Amsterdam"
  5324          },
  5325          "continent": {
  5326            "type": "string",
  5327            "x-go-name": "Continent",
  5328            "example": "EU"
  5329          },
  5330          "country": {
  5331            "type": "string",
  5332            "x-go-name": "Country",
  5333            "example": "NL"
  5334          },
  5335          "ip_type": {
  5336            "type": "string",
  5337            "x-go-name": "IPType",
  5338            "example": "residential"
  5339          },
  5340          "isp": {
  5341            "type": "string",
  5342            "x-go-name": "ISP",
  5343            "example": "Telia Lietuva, AB"
  5344          }
  5345        },
  5346        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5347      },
  5348      "ServiceStartRequestDTO": {
  5349        "type": "object",
  5350        "title": "ServiceStartRequest request used to start a service.",
  5351        "required": [
  5352          "provider_id",
  5353          "type"
  5354        ],
  5355        "properties": {
  5356          "access_policies": {
  5357            "$ref": "#/definitions/ServiceAccessPolicies"
  5358          },
  5359          "options": {
  5360            "description": "service options. Every service has a unique list of allowed options.",
  5361            "x-go-name": "Options",
  5362            "example": "{\"port\": 1123, \"protocol\": \"udp\"}"
  5363          },
  5364          "provider_id": {
  5365            "description": "provider identity",
  5366            "type": "string",
  5367            "x-go-name": "ProviderID",
  5368            "example": "0x0000000000000000000000000000000000000002"
  5369          },
  5370          "type": {
  5371            "description": "service type. Possible values are \"openvpn\", \"wireguard\" and \"noop\"",
  5372            "type": "string",
  5373            "x-go-name": "Type",
  5374            "example": "openvpn"
  5375          }
  5376        },
  5377        "x-go-name": "ServiceStartRequest",
  5378        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5379      },
  5380      "ServiceStatisticsDTO": {
  5381        "description": "ServiceStatisticsDTO shows the successful and attempted connection count",
  5382        "type": "object",
  5383        "properties": {
  5384          "attempted": {
  5385            "type": "integer",
  5386            "format": "int64",
  5387            "x-go-name": "Attempted"
  5388          },
  5389          "successful": {
  5390            "type": "integer",
  5391            "format": "int64",
  5392            "x-go-name": "Successful"
  5393          }
  5394        },
  5395        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5396      },
  5397      "SessionDTO": {
  5398        "type": "object",
  5399        "title": "SessionDTO represents the session object.",
  5400        "properties": {
  5401          "bytes_received": {
  5402            "type": "integer",
  5403            "format": "uint64",
  5404            "x-go-name": "BytesReceived",
  5405            "example": 1024
  5406          },
  5407          "bytes_sent": {
  5408            "type": "integer",
  5409            "format": "uint64",
  5410            "x-go-name": "BytesSent",
  5411            "example": 1024
  5412          },
  5413          "consumer_country": {
  5414            "type": "string",
  5415            "x-go-name": "ConsumerCountry",
  5416            "example": "NL"
  5417          },
  5418          "consumer_id": {
  5419            "type": "string",
  5420            "x-go-name": "ConsumerID",
  5421            "example": "0x0000000000000000000000000000000000000001"
  5422          },
  5423          "created_at": {
  5424            "type": "string",
  5425            "x-go-name": "CreatedAt",
  5426            "example": "2019-06-06T11:04:43.910035Z"
  5427          },
  5428          "direction": {
  5429            "type": "string",
  5430            "x-go-name": "Direction",
  5431            "example": "Consumed"
  5432          },
  5433          "duration": {
  5434            "description": "duration in seconds",
  5435            "type": "integer",
  5436            "format": "uint64",
  5437            "x-go-name": "Duration",
  5438            "example": 120
  5439          },
  5440          "hermes_id": {
  5441            "type": "string",
  5442            "x-go-name": "HermesID",
  5443            "example": "0x0000000000000000000000000000000000000001"
  5444          },
  5445          "id": {
  5446            "type": "string",
  5447            "x-go-name": "ID",
  5448            "example": "4cfb0324-daf6-4ad8-448b-e61fe0a1f918"
  5449          },
  5450          "ip_type": {
  5451            "type": "string",
  5452            "x-go-name": "IPType",
  5453            "example": "residential"
  5454          },
  5455          "provider_country": {
  5456            "type": "string",
  5457            "x-go-name": "ProviderCountry",
  5458            "example": "US"
  5459          },
  5460          "provider_id": {
  5461            "type": "string",
  5462            "x-go-name": "ProviderID",
  5463            "example": "0x0000000000000000000000000000000000000001"
  5464          },
  5465          "service_type": {
  5466            "type": "string",
  5467            "x-go-name": "ServiceType",
  5468            "example": "openvpn"
  5469          },
  5470          "status": {
  5471            "type": "string",
  5472            "x-go-name": "Status",
  5473            "example": "Completed"
  5474          },
  5475          "tokens": {
  5476            "type": "string",
  5477            "x-go-name": "Tokens",
  5478            "example": "500000"
  5479          }
  5480        },
  5481        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5482      },
  5483      "SessionListResponse": {
  5484        "type": "object",
  5485        "title": "SessionListResponse defines session list representable as json.",
  5486        "properties": {
  5487          "items": {
  5488            "type": "array",
  5489            "items": {
  5490              "$ref": "#/definitions/SessionDTO"
  5491            },
  5492            "x-go-name": "Items"
  5493          },
  5494          "page": {
  5495            "description": "The current page of the items.",
  5496            "type": "integer",
  5497            "format": "int64",
  5498            "x-go-name": "Page"
  5499          },
  5500          "page_size": {
  5501            "description": "Number of items per page.",
  5502            "type": "integer",
  5503            "format": "int64",
  5504            "x-go-name": "PageSize"
  5505          },
  5506          "total_items": {
  5507            "description": "The total items.",
  5508            "type": "integer",
  5509            "format": "int64",
  5510            "x-go-name": "TotalItems"
  5511          },
  5512          "total_pages": {
  5513            "description": "The last page of the items.",
  5514            "type": "integer",
  5515            "format": "int64",
  5516            "x-go-name": "TotalPages"
  5517          }
  5518        },
  5519        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5520      },
  5521      "SessionStatsAggregatedResponse": {
  5522        "type": "object",
  5523        "title": "SessionStatsAggregatedResponse defines aggregated sessions stats response as json.",
  5524        "properties": {
  5525          "stats": {
  5526            "$ref": "#/definitions/SessionStatsDTO"
  5527          }
  5528        },
  5529        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5530      },
  5531      "SessionStatsDTO": {
  5532        "type": "object",
  5533        "title": "SessionStatsDTO represents the session aggregated statistics.",
  5534        "properties": {
  5535          "count": {
  5536            "type": "integer",
  5537            "format": "int64",
  5538            "x-go-name": "Count"
  5539          },
  5540          "count_consumers": {
  5541            "type": "integer",
  5542            "format": "int64",
  5543            "x-go-name": "CountConsumers"
  5544          },
  5545          "sum_bytes_received": {
  5546            "type": "integer",
  5547            "format": "uint64",
  5548            "x-go-name": "SumBytesReceived"
  5549          },
  5550          "sum_bytes_sent": {
  5551            "type": "integer",
  5552            "format": "uint64",
  5553            "x-go-name": "SumBytesSent"
  5554          },
  5555          "sum_duration": {
  5556            "type": "integer",
  5557            "format": "uint64",
  5558            "x-go-name": "SumDuration"
  5559          },
  5560          "sum_tokens": {
  5561            "type": "string",
  5562            "x-go-name": "SumTokens"
  5563          }
  5564        },
  5565        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5566      },
  5567      "SessionStatsDailyResponse": {
  5568        "type": "object",
  5569        "title": "SessionStatsDailyResponse defines session stats representable as json.",
  5570        "properties": {
  5571          "items": {
  5572            "type": "object",
  5573            "additionalProperties": {
  5574              "$ref": "#/definitions/SessionStatsDTO"
  5575            },
  5576            "x-go-name": "Items"
  5577          },
  5578          "stats": {
  5579            "$ref": "#/definitions/SessionStatsDTO"
  5580          }
  5581        },
  5582        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5583      },
  5584      "SettleRequestDTO": {
  5585        "description": "SettleRequest represents the request to settle hermes promises",
  5586        "type": "object",
  5587        "properties": {
  5588          "hermes_id": {
  5589            "description": "Deprecated",
  5590            "type": "string",
  5591            "x-go-name": "HermesID"
  5592          },
  5593          "hermes_ids": {
  5594            "type": "array",
  5595            "items": {
  5596              "type": "string"
  5597            },
  5598            "x-go-name": "HermesIDs"
  5599          },
  5600          "provider_id": {
  5601            "type": "string",
  5602            "x-go-name": "ProviderID"
  5603          }
  5604        },
  5605        "x-go-name": "SettleRequest",
  5606        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5607      },
  5608      "SettleState": {
  5609        "description": "SettleState represents the state of settle with beneficiary transaction",
  5610        "type": "string",
  5611        "x-go-package": "github.com/mysteriumnetwork/node/core/beneficiary"
  5612      },
  5613      "SettlementDTO": {
  5614        "type": "object",
  5615        "title": "SettlementDTO represents the settlement object.",
  5616        "properties": {
  5617          "amount": {
  5618            "type": "string",
  5619            "x-go-name": "Amount",
  5620            "example": "500000"
  5621          },
  5622          "beneficiary": {
  5623            "type": "string",
  5624            "x-go-name": "Beneficiary",
  5625            "example": "0x0000000000000000000000000000000000000001"
  5626          },
  5627          "block_explorer_url": {
  5628            "type": "string",
  5629            "x-go-name": "BlockExplorerURL",
  5630            "example": "https://example.com"
  5631          },
  5632          "channel_address": {
  5633            "type": "string",
  5634            "x-go-name": "ChannelAddress",
  5635            "example": "0x0000000000000000000000000000000000000001"
  5636          },
  5637          "error": {
  5638            "type": "string",
  5639            "x-go-name": "Error",
  5640            "example": "internal server error"
  5641          },
  5642          "fees": {
  5643            "type": "string",
  5644            "x-go-name": "Fees",
  5645            "example": "500000"
  5646          },
  5647          "hermes_id": {
  5648            "type": "string",
  5649            "x-go-name": "HermesID",
  5650            "example": "0x0000000000000000000000000000000000000001"
  5651          },
  5652          "is_withdrawal": {
  5653            "type": "boolean",
  5654            "x-go-name": "IsWithdrawal",
  5655            "example": false
  5656          },
  5657          "provider_id": {
  5658            "type": "string",
  5659            "x-go-name": "ProviderID",
  5660            "example": "0x0000000000000000000000000000000000000001"
  5661          },
  5662          "settled_at": {
  5663            "type": "string",
  5664            "x-go-name": "SettledAt",
  5665            "example": "2019-06-06T11:04:43.910035Z"
  5666          },
  5667          "tx_hash": {
  5668            "type": "string",
  5669            "x-go-name": "TxHash",
  5670            "example": "0x20c070a9be65355adbd2ba479e095e2e8ed7e692596548734984eab75d3fdfa5"
  5671          }
  5672        },
  5673        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5674      },
  5675      "SettlementListResponse": {
  5676        "type": "object",
  5677        "title": "SettlementListResponse defines settlement list representable as json.",
  5678        "properties": {
  5679          "items": {
  5680            "type": "array",
  5681            "items": {
  5682              "$ref": "#/definitions/SettlementDTO"
  5683            },
  5684            "x-go-name": "Items"
  5685          },
  5686          "page": {
  5687            "description": "The current page of the items.",
  5688            "type": "integer",
  5689            "format": "int64",
  5690            "x-go-name": "Page"
  5691          },
  5692          "page_size": {
  5693            "description": "Number of items per page.",
  5694            "type": "integer",
  5695            "format": "int64",
  5696            "x-go-name": "PageSize"
  5697          },
  5698          "total_items": {
  5699            "description": "The total items.",
  5700            "type": "integer",
  5701            "format": "int64",
  5702            "x-go-name": "TotalItems"
  5703          },
  5704          "total_pages": {
  5705            "description": "The last page of the items.",
  5706            "type": "integer",
  5707            "format": "int64",
  5708            "x-go-name": "TotalPages"
  5709          },
  5710          "withdrawal_total": {
  5711            "type": "string",
  5712            "x-go-name": "WithdrawalTotal"
  5713          }
  5714        },
  5715        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5716      },
  5717      "Status": {
  5718        "description": "Status enum",
  5719        "type": "string",
  5720        "x-go-package": "github.com/mysteriumnetwork/node/core/monitoring"
  5721      },
  5722      "SwitchNodeUIRequest": {
  5723        "description": "SwitchNodeUIRequest request for switching NodeUI version",
  5724        "type": "object",
  5725        "properties": {
  5726          "version": {
  5727            "type": "string",
  5728            "x-go-name": "Version"
  5729          }
  5730        },
  5731        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5732      },
  5733      "TermsRequest": {
  5734        "type": "object",
  5735        "title": "TermsRequest object is accepted by terms endpoints.",
  5736        "properties": {
  5737          "agreed_consumer": {
  5738            "type": "boolean",
  5739            "x-go-name": "AgreedConsumer",
  5740            "example": false
  5741          },
  5742          "agreed_provider": {
  5743            "type": "boolean",
  5744            "x-go-name": "AgreedProvider",
  5745            "example": false
  5746          },
  5747          "agreed_version": {
  5748            "type": "string",
  5749            "x-go-name": "AgreedVersion",
  5750            "example": "0.0.27"
  5751          }
  5752        },
  5753        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5754      },
  5755      "TermsResponse": {
  5756        "type": "object",
  5757        "title": "TermsResponse object is returned by terms endpoints.",
  5758        "properties": {
  5759          "agreed_consumer": {
  5760            "type": "boolean",
  5761            "x-go-name": "AgreedConsumer",
  5762            "example": false
  5763          },
  5764          "agreed_provider": {
  5765            "type": "boolean",
  5766            "x-go-name": "AgreedProvider",
  5767            "example": false
  5768          },
  5769          "agreed_version": {
  5770            "type": "string",
  5771            "x-go-name": "AgreedVersion",
  5772            "example": "0.0.27"
  5773          },
  5774          "current_version": {
  5775            "type": "string",
  5776            "x-go-name": "CurrentVersion",
  5777            "example": "0.0.27"
  5778          }
  5779        },
  5780        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5781      },
  5782      "TokenRewardAmount": {
  5783        "type": "object",
  5784        "title": "TokenRewardAmount represents a response for token rewards.",
  5785        "properties": {
  5786          "amount": {
  5787            "type": "string",
  5788            "x-go-name": "Amount"
  5789          }
  5790        },
  5791        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5792      },
  5793      "Tokens": {
  5794        "description": "Tokens a common response for ethereum blockchain monetary amount",
  5795        "type": "object",
  5796        "properties": {
  5797          "ether": {
  5798            "type": "string",
  5799            "x-go-name": "Ether"
  5800          },
  5801          "human": {
  5802            "type": "string",
  5803            "x-go-name": "Human"
  5804          },
  5805          "wei": {
  5806            "type": "string",
  5807            "x-go-name": "Wei"
  5808          }
  5809        },
  5810        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5811      },
  5812      "TransactorFees": {
  5813        "type": "object",
  5814        "title": "TransactorFees represents transactor fees.",
  5815        "properties": {
  5816          "decrease_stake": {
  5817            "$ref": "#/definitions/Tokens"
  5818          },
  5819          "registration": {
  5820            "$ref": "#/definitions/Tokens"
  5821          },
  5822          "settlement": {
  5823            "$ref": "#/definitions/Tokens"
  5824          },
  5825          "valid_until": {
  5826            "type": "string",
  5827            "format": "date-time",
  5828            "x-go-name": "ValidUntil"
  5829          }
  5830        },
  5831        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5832      },
  5833      "UI": {
  5834        "description": "UI ui information",
  5835        "type": "object",
  5836        "properties": {
  5837          "bundled_version": {
  5838            "type": "string",
  5839            "x-go-name": "BundledVersion"
  5840          },
  5841          "used_version": {
  5842            "type": "string",
  5843            "x-go-name": "UsedVersion"
  5844          }
  5845        },
  5846        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5847      },
  5848      "UserReport": {
  5849        "description": "UserReport represents user input when submitting an issue report",
  5850        "type": "object",
  5851        "properties": {
  5852          "description": {
  5853            "type": "string",
  5854            "x-go-name": "Description"
  5855          },
  5856          "email": {
  5857            "type": "string",
  5858            "x-go-name": "Email"
  5859          },
  5860          "user_id": {
  5861            "type": "string",
  5862            "x-go-name": "UserId"
  5863          },
  5864          "user_type": {
  5865            "type": "string",
  5866            "x-go-name": "UserType"
  5867          }
  5868        },
  5869        "x-go-package": "github.com/mysteriumnetwork/node/feedback"
  5870      },
  5871      "WithdrawRequestDTO": {
  5872        "type": "object",
  5873        "title": "WithdrawRequest represents the request to withdraw earnings to l1.",
  5874        "properties": {
  5875          "amount": {
  5876            "type": "string",
  5877            "x-go-name": "Amount"
  5878          },
  5879          "beneficiary": {
  5880            "type": "string",
  5881            "x-go-name": "Beneficiary"
  5882          },
  5883          "from_chain_id": {
  5884            "type": "integer",
  5885            "format": "int64",
  5886            "x-go-name": "FromChainID"
  5887          },
  5888          "hermes_id": {
  5889            "type": "string",
  5890            "x-go-name": "HermesID"
  5891          },
  5892          "provider_id": {
  5893            "type": "string",
  5894            "x-go-name": "ProviderID"
  5895          },
  5896          "to_chain_id": {
  5897            "type": "integer",
  5898            "format": "int64",
  5899            "x-go-name": "ToChainID"
  5900          }
  5901        },
  5902        "x-go-name": "WithdrawRequest",
  5903        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5904      },
  5905      "accessPolicy": {
  5906        "type": "object",
  5907        "properties": {
  5908          "allow": {
  5909            "type": "array",
  5910            "items": {
  5911              "$ref": "#/definitions/accessRule"
  5912            },
  5913            "x-go-name": "Allow"
  5914          },
  5915          "description": {
  5916            "type": "string",
  5917            "x-go-name": "Description"
  5918          },
  5919          "id": {
  5920            "type": "string",
  5921            "x-go-name": "ID"
  5922          },
  5923          "title": {
  5924            "type": "string",
  5925            "x-go-name": "Title"
  5926          }
  5927        },
  5928        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/endpoints"
  5929      },
  5930      "accessRule": {
  5931        "type": "object",
  5932        "properties": {
  5933          "type": {
  5934            "type": "string",
  5935            "x-go-name": "Type"
  5936          },
  5937          "value": {
  5938            "type": "string",
  5939            "x-go-name": "Value"
  5940          }
  5941        },
  5942        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/endpoints"
  5943      },
  5944      "cipherparamsJSON": {
  5945        "type": "object",
  5946        "properties": {
  5947          "iv": {
  5948            "type": "string",
  5949            "x-go-name": "IV"
  5950          }
  5951        },
  5952        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  5953      },
  5954      "configPayload": {
  5955        "type": "object",
  5956        "properties": {
  5957          "data": {
  5958            "type": "object",
  5959            "additionalProperties": {},
  5960            "x-go-name": "Data",
  5961            "example": {
  5962              "data": {
  5963                "access-policy": {
  5964                  "list": "mysterium"
  5965                },
  5966                "openvpn": {
  5967                  "port": 5522
  5968                }
  5969              }
  5970            }
  5971          }
  5972        },
  5973        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/endpoints"
  5974      },
  5975      "cryptoJSON": {
  5976        "type": "object",
  5977        "properties": {
  5978          "cipher": {
  5979            "type": "string",
  5980            "x-go-name": "Cipher"
  5981          },
  5982          "cipherparams": {
  5983            "$ref": "#/definitions/cipherparamsJSON"
  5984          },
  5985          "ciphertext": {
  5986            "type": "string",
  5987            "x-go-name": "CipherText"
  5988          },
  5989          "kdf": {
  5990            "type": "string",
  5991            "x-go-name": "KDF"
  5992          },
  5993          "kdfparams": {
  5994            "type": "object",
  5995            "additionalProperties": {},
  5996            "x-go-name": "KDFParams"
  5997          },
  5998          "mac": {
  5999            "type": "string",
  6000            "x-go-name": "MAC"
  6001          }
  6002        },
  6003        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/contract"
  6004      },
  6005      "dlStatus": {
  6006        "type": "string",
  6007        "x-go-package": "github.com/mysteriumnetwork/node/ui/versionmanager"
  6008      },
  6009      "sessionConnectivityStatus": {
  6010        "type": "object",
  6011        "properties": {
  6012          "code": {
  6013            "type": "integer",
  6014            "format": "uint32",
  6015            "x-go-name": "Code"
  6016          },
  6017          "created_at_utc": {
  6018            "type": "string",
  6019            "format": "date-time",
  6020            "x-go-name": "CreatedAtUTC"
  6021          },
  6022          "message": {
  6023            "type": "string",
  6024            "x-go-name": "Message"
  6025          },
  6026          "peer_address": {
  6027            "type": "string",
  6028            "x-go-name": "PeerAddress"
  6029          },
  6030          "session_id": {
  6031            "type": "string",
  6032            "x-go-name": "SessionID"
  6033          }
  6034        },
  6035        "x-go-package": "github.com/mysteriumnetwork/node/tequilapi/endpoints"
  6036      }
  6037    }
  6038  }