4.1 – HTTP API
You can use HTTP request to create a server, symlink dynamically if you don't want to write a plug-in for the gateway.
To use the HTTP server, you’ll need to configure a password in gateway.conf:
Password = yourPassword
Then you can use MD5 hash of this password with the HTTP API.
Create servers on gateway:
http://gatewayAddress/SERVER?id=serverId&displayName=Name&server=hostName&gatewayPwd=passwordInGateway.conf&...
gatewayPwd is hexadecimal MD5 hash of the password which is configured in gateway.conf.
To delete a server add "&action=delete" to the URL; to update a server, add "&action=update" to the URL.
List servers:
http://w-think/SERVER?action=list&gatewayPwd=21232f297a57a5a743894a0e4a801fc3&id=ATPlus
It returns the asked server if id is specified:
{"id":"ATPlus","displayName":"ATPlus","server":"cloud.thinrdp.net","shadowing":false,"protocols":"rdp","icon":"kbd.png","rdp":{"username":"demo","password":"demo"}}
It returns all servers if id is not specified:
{
"display" : true,
"type" : "NORMALLIST",
"cols" : [
{"name" : "id"},
{"name" : "displayName"},
{"name" : "server"},
{"name" : "remoteProgram"},
{"name" : "command"}
],
"rows" : [
["ATPlus", "ATPlus", "192.168.12.117", "", ""],
["WordPad", "WordPad", "192.168.0.118", "", "wordpad.exe"]
]
}
Create symlink on gateway:
http://gatewayAddress/SYMLINK?symlink=symlinkId&server=existingServerId&validTime=20m&gatewayPwd=passwordInGateway.conf&...
You can also use "validFrom", "validTo" parameters. Please check http://www.remotespark.com/view/doc/com/toremote/gateway/connection/SymLink.html for more information.
To delete a symlink, add "&action=delete" to the URL; to update a symlink, add "&action=update" to the URL.
List symlinks:
http://w-think/SYMLINK?action=list&gatewayPwd=21232f297a57a5a743894a0e4a801fc3&symlink=212a155ee951-40db-95ea-177183174fa7
It returns the asked symlink if symlink is specified:
{"id":"212a155e-e951-40db-95ea-177183174fa7","resourceId":"169.254.146.243","validFrom":"Aug 26, 2015 12:00:00 AM","parameters":""}
It returns all the symlinks if symlink is not specified:
{
"cols":[
{"name":"id"},
{"name":"resourceId"},
{"name":"password"},
{"name":"validFrom"},
{"name":"validTime"},
{"name":"validTo"},
{"name":"parameters"},
{"name":"comment"}
],
"rows":[
["212a155e-e951-40db-95ea-177183174fa7", "169.254.146.243", "", 1440568800000, "", 0, "", ""],
["c5c6bc9d-f8a7-42ca-af9c-bd28c86adab4", "169.254.146.243", "", 1452544860000, "", 0, "", ""]
]
}
List sessions:
http://w-think/SESSION?action=list&gatewayPwd=21232f297a57a5a743894a0e4a801fc3&id=a29575a9-08c2-4162-9bfb-4876820953db
It returns the single session information if session id is specified:
{"id":"a29575a9-08c2-4162-9bfb4876820953db","server":"192.168.12.118","clientIp":"169.254.84.132","clientAgent":"Mozilla\/5.0 (Windows NT 10.0; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/47.0.2526.111 Safari\/537.36","thumbnail":"","startTime":"Tue Jan 26 15:38:55 MST 2016","numericId":621779525,"user":"","domain":"","rdpId":1,"startTime2":1453847935826}
It returns all sessions if session id is not specified:
{
"cols":[
{"name":"id"},
{"name":"server"},
{"name":"clientIp"},
{"name":"clientAgent"},
{"name":"startTime"},
{"name":"numericId"},
{"name":"user"},
{"name":"domain"},
{"name":"join"},
{"name":"protocol"},
{"name":"symlink"},
{"name":"thumbnail"}
],
"size":1,
"rows":[
["a29575a9-08c2-4162-9bfb-4876820953db","192.168.12.118","169.254.84.132","Mozilla\/5.0 (Windows NT 10.0; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/47.0.2526.111 Safari\/537.36","Tue Jan 26 15:38:55 MST 2016",621779525,"","","","RDP","",""]
]
}
It returns multiple session information if ids parameter is used:
http://w-think/SESSION?action=list&gatewayPwd=21232f297a57a5a743894a0e4a801fc3&id=a29575a9-08c2-4162-9bfb-4876820953db&ids=sessinId1,sessionId2
[{session1}, {session2}]
Upload license file:
http://wthink/CONTROL?licenseFile=base64encodedLicenseFile&gatewayPwd=21232f297a57a5a743894a0e4a801fc3
Please make sure you encode the value of licenseFile. For example:
encodeURIComponent(base64encodedLicenseFile)
The new license file information will be returned in JSON format if the license file was uploaded successfully.
To query the current license file information, you can use:
http://w-think/CONTROL?licenseFile=.&gatewayPwd=21232f297a57a5a743894a0e4a801fc3
Get gateway information
http://w-think/CONTROL?target=gateway
{"version":"5.8.0","buildNumber":"941","buildTime":"2020_03_04_10","startTime":1583342850085}
Password is not needed for this gateway information request.
Reset Two Factor Authentication
http://w-think/CONTROL?target=twofa&user=Username
Error handling:
HTTP request will return HTTP Status code 500 and {"error:": "error information"} in JSON if there is an error. For example, server or symlink with specified id was not found when you try to get a server or symlink.
HTTP request will return status code 200 if operation succeeded.