Create Preset

Creates a new preset.

Request

HTTP Request

POST /node/api/presets

Path parameters

No parameters required.

Body parameters

Field Type Description

name

String

Name of the preset.

key

String

Preset key. Used to filter presets. See the list of all pre-defined keys in the Preset Data section.

data

Object

Preset data. See the Preset Data for more information.

Request body

{
    "name": "New preset",
    "key": "preset-key",
    "data": {
        // Preset data
    }
}

Response

Response contains the created preset. The following fields are included in the response:

Field Type Description

id

String

ID of the preset.

name

String

Name of the preset.

key

String

Preset key. Used to filter presets. See the list of all pre-defined keys in the Preset Data section.

data

Object

Preset data. See the Preset Data for more information.

Example

This example creates the new preset of the incident table layout.

Request

  • Bash

  • JavaScript

  • NodeJS

  • Python

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

curl -X POST $url -u $login:$password \
    -H "Content-Type: application/json" \
    -d @- <<EOF
{
        "name": "New preset",
"key": "incident-page-preset-picker",
        "data": {
            "sortData": {
                "column": "entity",
                "direction": "asc"
            },
            "visibleHeaderIds": [
                [
                    "severity",
                    false
                ],
                [
                    "occurredTime",
                    false
                ],
                [
                    "clearedTime",
                    false
                ],
                [
                    "registeredTime",
                    false
                ]
            ],
            "columnOrder": [
                "clearedTime",
                "entity",
                "registeredTime",
                "text",
                "acknowledgedBy",
                "comment",
                "data.mediaUrl"
            ]
        }
    }
EOF
let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/presets";
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": "New preset",
"key": "incident-page-preset-picker",
        "data": {
            "sortData": {
                "column": "entity",
                "direction": "asc"
            },
            "visibleHeaderIds": [
                [
                    "severity",
                    false
                ],
                [
                    "occurredTime",
                    false
                ],
                [
                    "clearedTime",
                    false
                ],
                [
                    "registeredTime",
                    false
                ]
            ],
            "columnOrder": [
                "clearedTime",
                "entity",
                "registeredTime",
                "text",
                "acknowledgedBy",
                "comment",
                "data.mediaUrl"
            ]
        }
    });

let requestOptions = {
    method: "POST",
    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 path = "/node/api/presets";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");

let options = {
    "method": "POST",
    "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": "New preset",
"key": "incident-page-preset-picker",
        "data": {
            "sortData": {
                "column": "entity",
                "direction": "asc"
            },
            "visibleHeaderIds": [
                [
                    "severity",
                    false
                ],
                [
                    "occurredTime",
                    false
                ],
                [
                    "clearedTime",
                    false
                ],
                [
                    "registeredTime",
                    false
                ]
            ],
            "columnOrder": [
                "clearedTime",
                "entity",
                "registeredTime",
                "text",
                "acknowledgedBy",
                "comment",
                "data.mediaUrl"
            ]
        }
    });

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

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

body = {
        "name": "New preset",
"key": "incident-page-preset-picker",
        "data": {
            "sortData": {
                "column": "entity",
                "direction": "asc"
            },
            "visibleHeaderIds": [
                [
                    "severity",
                    False
                ],
                [
                    "occurredTime",
                    False
                ],
                [
                    "clearedTime",
                    False
                ],
                [
                    "registeredTime",
                    False
                ]
            ],
            "columnOrder": [
                "clearedTime",
                "entity",
                "registeredTime",
                "text",
                "acknowledgedBy",
                "comment",
                "data.mediaUrl"
            ]
        }
    }

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

Response

{
        "name": "New preset",
        "id": "5a05c1978c606c2edca6296c",
"key": "incident-page-preset-picker",
        "data": {
            "sortData": {
                "column": "entity",
                "direction": "asc"
            },
            "visibleHeaderIds": [
                [
                    "severity",
                    false
                ],
                [
                    "occurredTime",
                    false
                ],
                [
                    "clearedTime",
                    false
                ],
                [
                    "registeredTime",
                    false
                ]
            ],
            "columnOrder": [
                "clearedTime",
                "entity",
                "registeredTime",
                "text",
                "acknowledgedBy",
                "comment",
                "data.mediaUrl"
            ]
        }
    }