QUESTION
What are the various Trvaerse web services?
RESOLUTION
To review the list of available Web Services endpoints, navigate to https://traverse_ip/api, replacing 'traverse_ip' with the actual IP address or domain name of the Traverse Web Application. There are 3 different versions of Web Services grouped under the headings:
- Services
- Legacy Services
- Legacy Services - Deprecated
We recommend using the latest version, or (1) in the above list, however Engineering has indicated that Legacy Services (2) is also fully supported but might be deprecated in a future release. 'Legacy Services - Deprecated' (3) will eventually be removed and should not be used.
Note that the Web Application also uses many of the Web Services endpoints (1) and that most web service requests/responses are recorded in $TRAVERSE_HOME\logs\service.log in JSON format, where $TRAVERSE_HOME is the installation folder on the server with the Web Application.
Below is a sample SOAP request using the login operation (https://traverse/api/soap/login/login) to authenticate with Traverse:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:log="http://traverse.zyrion.com/05/06/login">
<soapenv:Header/>
<soapenv:Body>
<log:login>
<loginRequest>
<!--Optional:-->
<password>my_password</password>
<!--Optional:-->
<username>my_user</username>
</loginRequest>
</log:login>
</soapenv:Body>
</soapenv:Envelope>
The response contains information about the user's account and a session ID upon successfully authenticating:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:loginResponse xmlns:ns1="http://traverse.zyrion.com/05/06/login">
<loginResponse>
<success>true</success>
<timestamp>1438027917937</timestamp>
<timestampStr>Monday, July 27, 2015 1:11:57 PM PDT</timestampStr>
<result>
<adminUser>true</adminUser>
<department>SuperUsers</department>
<filterEnabled>true</filterEnabled>
<firstName>kaseya</firstName>
<lastName>support</lastName>
<permissions>
<category>device</category>
<createPermission>true</createPermission>
<deletePermission>true</deletePermission>
<readPermission>true</readPermission>
<resumePermission>false</resumePermission>
<suspendPermission>true</suspendPermission>
<updatePermission>true</updatePermission>
</permissions>
<permissions>
<category>test</category>
<createPermission>true</createPermission>
<deletePermission>true</deletePermission>
<readPermission>true</readPermission>
<resumePermission>false</resumePermission>
<suspendPermission>true</suspendPermission>
<updatePermission>true</updatePermission>
</permissions>
<permissions>
<category>action</category>
<createPermission>true</createPermission>
<deletePermission>true</deletePermission>
<readPermission>true</readPermission>
<resumePermission>false</resumePermission>
<suspendPermission>true</suspendPermission>
<updatePermission>true</updatePermission>
</permissions>
<permissions>
<category>container</category>
<createPermission>true</createPermission>
<deletePermission>true</deletePermission>
<readPermission>true</readPermission>
<resumePermission>false</resumePermission>
<suspendPermission>true</suspendPermission>
<updatePermission>true</updatePermission>
</permissions>
<permissions>
<category>report</category>
<createPermission>true</createPermission>
<deletePermission>true</deletePermission>
<readPermission>true</readPermission>
<resumePermission>false</resumePermission>
<suspendPermission>true</suspendPermission>
<updatePermission>true</updatePermission>
</permissions>
<permissions>
<category>map</category>
<createPermission>true</createPermission>
<deletePermission>true</deletePermission>
<readPermission>true</readPermission>
<resumePermission>false</resumePermission>
<suspendPermission>true</suspendPermission>
<updatePermission>true</updatePermission>
</permissions>
<permissions>
<category>configmgmt</category>
<createPermission>true</createPermission>
<deletePermission>true</deletePermission>
<readPermission>true</readPermission>
<resumePermission>false</resumePermission>
<suspendPermission>true</suspendPermission>
<updatePermission>true</updatePermission>
</permissions>
<permissions>
<category>cloud</category>
<createPermission>true</createPermission>
<deletePermission>true</deletePermission>
<readPermission>true</readPermission>
<resumePermission>false</resumePermission>
<suspendPermission>true</suspendPermission>
<updatePermission>true</updatePermission>
</permissions>
<permissions>
<category>account</category>
<createPermission>true</createPermission>
<deletePermission>true</deletePermission>
<readPermission>true</readPermission>
<resumePermission>false</resumePermission>
<suspendPermission>true</suspendPermission>
<updatePermission>true</updatePermission>
</permissions>
<permissions>
<category>user</category>
<createPermission>true</createPermission>
<deletePermission>true</deletePermission>
<readPermission>true</readPermission>
<resumePermission>false</resumePermission>
<suspendPermission>true</suspendPermission>
<updatePermission>true</updatePermission>
</permissions>
<permissions>
<category>serviceclass</category>
<createPermission>true</createPermission>
<deletePermission>true</deletePermission>
<readPermission>true</readPermission>
<resumePermission>false</resumePermission>
<suspendPermission>true</suspendPermission>
<updatePermission>true</updatePermission>
</permissions>
<permissions>
<category>limit</category>
<createPermission>true</createPermission>
<deletePermission>true</deletePermission>
<readPermission>true</readPermission>
<resumePermission>false</resumePermission>
<suspendPermission>true</suspendPermission>
<updatePermission>true</updatePermission>
</permissions>
<refreshInterval>180</refreshInterval>
<sessionId>BC4A6E1AD7ED0351DE1703E9693D01D9</sessionId>
</result>
</loginResponse>
</ns1:loginResponse>
</soap:Body>
</soap:Envelope>
The session ID may then be used to initiate other queries, for example to obtain a list of all devices with the SOAP 'device/getStatuses' operation (https://traverse/api/soap/device/getStatuses)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dev="http://traverse.zyrion.com/05/06/device">
<soapenv:Header/>
<soapenv:Body>
<dev:getStatuses>
<deviceStatusesRequest>
<sessionId>BC4A6E1AD7ED0351DE1703E9693D01D9</sessionId>
</deviceStatusesRequest>
</dev:getStatuses>
</soapenv:Body>
</soapenv:Envelope>
It is also possible to specify user credentials (username and password) with most Web Services operations, instead of using a session ID. For example:
<soapenv:Envelope <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dev="http://traverse.zyrion.com/05/06/device">
<soapenv:Header/>
<soapenv:Body>
<dev:getStatuses>
<deviceStatusesRequest>
<password>my_password</password>
<username>my_user</username>
</deviceStatusesRequest>
</dev:getStatuses>
</soapenv:Body>
</soapenv:Envelope>
APPLIES TO
All Traverse versions
REFERENCE
-
REFERENCE