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