Web service API
This Wiki is deprecated and we are are currrently migrating remaining pages into product documentation (Admin Guide, NXSL Guide) |
Web service API provides access to NetXMS via HTTP/HTTPS. API calls are REST-like (although not purely RESTful) and uses JSON for data exchange.
Session Management
Login
POST /sessions
Create new session. Input object fields:
login password
On success server will set cookie session_handle which should be passed on each subsequent request.
Logout
DELETE /session/sid
Logout (delete session) with given session ID.
Object Management
Get Objects
GET /objects GET /objects?filter
Get all objects visible to logged in user. Optional filter can define additional criteria for object selection:
area=geographical_area
class=class_list
name=pattern
Examples
Get all objects with name starting with "T":
GET /objects?name=T*
Get all nodes around Riga:
GET /objects?class=node&area=57.0592,23.1647,56.8270,24.6025
Get all nodes and containers:
GET /objects?class=container,node
Get DCI Summary adHoc
POST /summaryTable/adHoc
Post payload:
{ "baseObject":"ContainerName", "multiInstance":false, "columns": [ { "columnName":"Free form name that will be used in return table for this column", "dciName":"Name of DCI, that will be used for filtering" }, { "columnName":"Name2", "dciName":"DCIName2" } ] }
Get Specific Object
GET /objects/id
Get Last Values for Object
GET objects/id/lastvalues
CURL Test
Test API with Curl
$ curl -X POST --data '{"login":"user","password":"pass"}' "http://localhost:8080/netxms-websvc/sessions" { "sessionHandle": "8338e7f3-ba99-46c5-9fd6-84b38cc5d715", "session": { "server": { "address": "127.0.0.1", "version": "2.2.8", "color": "", "id": 3283229296059149299, "timeZone": "CET+02CEST" }, "user": { "name": "user", "id": 8, "globalAccessRights": 825439032336 }, "encrypted": false, "objectsSynchronized": false, "passwordExpired": false, "zoningEnabled": false } } $ curl -X GET --cookie "session_handle=8338e7f3-ba99-46c5-9fd6-84b38cc5d715" "http://localhost:8080/netxms-websvc/objects?class=container,node" .. prints some data ..
Java 10
If curl test works but grafana returns "Internal error" ({"description":"Internal error","error":46}")
Add "--add-modules java.xml.bind" to JAVA_OPTS in /etc/default/tomcat8