Skip to content

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

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"
        ]
    }
}

See Also