Update Incident Level

Updates an incident level according to data provided in a request body.

Request

HTTP Request

PATCH /node/api/incident-levels/:id

Permissions

manage-configuration

Path parameters

Parameter Type Description

id

String
required

The ID of an incident level to be updated.

Query parameters

Parameter Type Description

recalcPriority

Integer

Recalculate priorities of all alarm levels. After you send this request with this parameter, the priority field of all alarms will be updated in such a way that it starts at 0 and doesn’t have gaps between them.

Body parameters

See the Incident Level model.

Request body

{
    "name": "Updated",
    "ui": {
        "colors": {
            "main": "#808080"
        }
    }
}

Response

Response contains an updated incident level. See the Incident Level model for more information.

Examples

Update multiple parameters

Request

  • Bash

  • JavaScript

  • NodeJS

  • Python

login=<...>
password=<...>
saymon_hostname=<...>
incident_level_id=<...>
url=https://$saymon_hostname/node/api/incident-levels/$incident_level_id

curl -X PATCH $url -u $login:$password \
    -H "Content-Type: application/json" \
    -d @- <<EOF
{
    "name": "Updated",
    "ui": {
        "colors": {
            "main": "#808080"
        }
    }
}
EOF
let login = <...>
let password = <...>
let saymonHostname = <...>
let incidentLevelId = <...>
let path = "/node/api/incident-levels/" + incidentLevelId;
let auth = "Basic " + btoa(login + ":" + password);

let headers = new Headers();
headers.append("Content-Type", "application/json");
headers.append("Authorization", auth);

let data = JSON.stringify({
    "name": "Updated",
    "ui": {
        "colors": {
            "main": "#808080"
        }
    }
});

let requestOptions = {
    method: "PATCH",
    headers: headers,
    body: data
};

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 incidentLevelId = <...>
let path = "/node/api/incident-levels/" + incidentLevelId;
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");

let options = {
    "method": "PATCH",
    "hostname": saymonHostname,
    "headers": {
        "Authorization": auth,
        "Content-Type": "application/json"
    },
    "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);
    });
});

let data = JSON.stringify({
    "name": "Updated",
    "ui": {
        "colors": {
            "main": "#808080"
        }
    }
});

req.write(data);
req.end();
import requests

login = <...>
password = <...>
saymon_hostname = <...>
incident_level_id = <...>
url = "https://" + saymon_hostname + "/node/api/incident-levels/" + \
    incident_level_id

json = {
    "name": "Updated",
    "ui": {
        "colors": {
            "main": "#808080"
        }
    }
}

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

Response

{
    "id": "5e5e595ce3100b256bfcdf05",
    "name": "Updated",
    "ui": {
        "colors": {
            "main": "#808080"
        }
    }
}

Update incident level priority

You cannot change the alarm level priority through the standard SAYMON web interface. To change alarm level priority, update the priority field with this request.

If the system already has another incident level with the same priority, every other incident level with the same priority or higher will have its priority field increased by 1.

Request

  • Bash

  • JavaScript

  • NodeJS

  • Python

login=<...>
password=<...>
saymon_hostname=<...>
incident_level_id=<...>
url=https://$saymon_hostname/node/api/incident-levels/$incident_level_id

curl -X PATCH $url -u $login:$password \
    -H "Content-Type: application/json" \
    -d @- <<EOF
{
    "priority": 10
}
EOF
let login = <...>
let password = <...>
let saymonHostname = <...>
let incidentLevelId = <...>
let path = "/node/api/incident-levels/" + incidentLevelId;
let auth = "Basic " + btoa(login + ":" + password);

let headers = new Headers();
headers.append("Content-Type", "application/json");
headers.append("Authorization", auth);

let data = JSON.stringify({
    "priority": 10
});

let requestOptions = {
    method: "PATCH",
    headers: headers,
    body: data
};

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 incidentLevelId = <...>
let path = "/node/api/incident-levels/" + incidentLevelId;
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");

let options = {
    "method": "PATCH",
    "hostname": saymonHostname,
    "headers": {
        "Authorization": auth,
        "Content-Type": "application/json"
    },
    "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);
    });
});

let data = JSON.stringify({
    "priority": 10
});

req.write(data);
req.end();
import requests

login = <...>
password = <...>
saymon_hostname = <...>
incident_level_id = <...>
url = "https://" + saymon_hostname + "/node/api/incident-levels/" + \
    incident_level_id

json = {
    "priority": 10
}

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

Response

{
    "priority": 10
}