Skip to main content
Version: v4 (Stable)

General API Specification

The REST API provides programmatic access to read, write and command the system data and functionality. The API identifies users using OAuth (RFC 6749); responses are available in JSON (RFC 4627).

HTTP Methods

Following REST principles, one can call the following HTTP methods on the API resources: GET, POST, PUT, and DELETE.

Method (HTTP Verb)Description
GETRetrieves a list of resources, or a specific resource.
POSTCreates a resource, passes in a parameter, or performs an action on a resource.
PUTUpdates an existing resource.
DELETEDeletes an existing resource or subscription.

Resources

The Web Service Interface API follows REST principles and therefore exposes data and functionality as resources.

Every resource is represented as a URI. As a summary a resource looks like the following:

scheme://domain:port/path?query
PartDescription
schemeUsually HTTPS; HTTP should only be used for testing.
domainHostname of host where the manager is running.
portUsually 80 for HTTP and 443 for HTTPS.
pathStarts with api followed by the service-identifier and optional sub-paths (e.g. api/languages/en-us); see sections below.
queryOptional; depends on resource (see sections below).

Examples:

https://computer1:443/alertws/api/v1/alarms?offset=0&limit=20
https://www.example.com/alertws/api/v1/alarms?offset=0&limit=20

Therefore, the general format of a URL is:

{entry-point}/api{resource-address}

Where entry-point is http://[hostname]:[port] by default or dependent on the deployment, and resource-address in EBNF is:

resource-address = path [ "?" query ]
path = /root-resource | path "/" sub-resource
query = parameter { "&" parameter }
parameter = key [ "=" value ]

Status Codes

HTTP Status Codes

Status CodeMeaningDescription
200OKRequest processed.
400Bad RequestRequest rejected by application.
401UnauthorizedInvalid or expired token presented (User needs to login).
403ForbiddenRequest is not permitted (Access right).
404Not FoundResource couldn't be found for the provided URL and query parameters.
408TimeoutRequest didn't be managed in allotted timeout period.
500Internal ErrorUnexpected error appeared.

Encoding

Data is encoded in UTF-8.

Array in Query Parameter

In case a query parameter represents an array, the array is passed as a JSON array.

Example:

someurl?Ids=[1,2,3]