Get All Incidents

Returns a list of all incidents available to a current user.

Request

HTTP Request

GET /node/api/incidents

Path parameters

No parameters required.

Query parameters

Parameter Type Description

filter

Incident Filter

A set of filters. See the filters section for more information.

parentFilter

String

ID of the incident’s parent object.

limit

Integer

The maximum number of records to be outputted.

owner

Boolean

Whether to include information about an owner. If set to "true", such information for each record will be provided.

skip

Integer

The number of the first records to be skipped.

sortDirection

String

A sorting direction. asc for ascending order, desc for descending.

sortField

String

The name of a field to sort by.

ownerFilter

String

Additional filter for owner’s data.

Request body

Request body is empty.

Filters

To filter by the incident’s parent, use the parentFilter query parameter instead.

You can filter the incidents with the filter parameter.

body = {
    "filter": [
      [
        // filter
      ]
    ],
...
}

You can also use logical operations $and and $or to combine the filters:

body = {
    "filter": [
  [
    "$and",
    [
      [
        "$or",
        [
          [
            // filter
          ],
          [
            // filter
          ]
        ]
      ],
      [
        // filter
      ],
      [
        // filter
      ]
    ]
  ]
],
...
}

See the Incident Filters article for more information and a list of all available filters.

Response

Returns a list of current incidents. Can return either the entire list or be customized with request parameters. See Incident model for more information.

Example

Request

  • Bash

  • JavaScript

  • NodeJS

  • Python

login=<...>
password=<...>
saymon_hostname=<...>
url=https://$saymon_hostname/node/api/incidents

curl -X GET $url -u $login:$password
let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/incidents";
let auth = "Basic " + btoa(login + ":" + password);

let headers = new Headers();
headers.append("Authorization", auth);

let requestOptions = {
    method: "GET",
    headers: headers
};

fetch(saymonHostname + path, requestOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log("error", error));
const http = require("http");

let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/incidents/";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");

let options = {
    "method": "GET",
    "hostname": saymonHostname,
    "headers": {
        "Authorization": auth
    },
    "path": path
};

let req = http.request(options, function (res) {
    let chunks = [];

    res.on("data", function (chunk) {
        chunks.push(chunk);
    });

    res.on("end", function (chunk) {
        let body = Buffer.concat(chunks);
        console.log(body.toString());
    });

    res.on("error", function (error) {
        console.error(error);
    });
});

req.end();
import requests

login = <...>
password = <...>
saymon_hostname = <...>
url = "https://" + saymon_hostname + "/node/api/incidents"

response = requests.request("GET", url, auth=(login, password))
print(response.text)

Response

[
    {
        "id": "58f9fe155be7187c551f1c5f",
        "entityId": 10,
        "entityType": 1,
        "type": 1,
        "state": 1,
        "localTimestamp": 0,
        "data": "{...}",
        "timestamp": 1493884332909,
        "text": "No data"
    },
    ...
]