Update dictionary

Updates dictionary for monitoring with the data specified in the request body.

Request

HTTP Request

PATCH /node/api/dictionaries-monitoring/:id

Path parameters

Parameter Type Description

id

String
required

ID of the updated dictionary.

Body parameters

Request body contains updated fields for specified dictionary for monitoring.

Dictionary model
Field Type Description

columns

Object

Names of key and values of a dictionary. Only included in the dictionaries with named columns.

Defined as a JSON object in the following format:

"columns": {
    "0": {
        "name": "key_name"
    },
    "1": {
        "name": "value 1 name"
    },
    "2": {
        "name": "value 2 name"
    },
    ...
},
You can skip values in this parameter and leave columns unnamed.

content

String

Dictionary’s key-value or key-array pair in the JSON format.

contentType

String

String containing data type of dictionary’s value. In the current implementation, always contains object.

comment

String

User-defined note about the dictionary.

description

String

Dictionary’s description.

id

String

Dictionary’s ID.

name

String

Dictionary’s name.

Request body

{
    "name": "Door state",
    "content": {
        "1": "Closed",
        "2": "Opened"
    }
}

Response

Returns updated dictionary for monitoring.

This request will explicitly add all missing fields to the dictionary and will fill it with default values.

Example

Request

  • Bash

  • JavaScript

  • NodeJS

  • Python

login=<...>
password=<...>
saymon_hostname=<...>
dictionary_id=<...>
url=https://$saymon_hostname/node/api/dictionaries-monitoring/$dictionary_id

curl -X PATCH $url -u $login:$password \
    -H "Content-Type: application/json" \
    -d @- <<EOF
{
    "name": "Door state",
    "content": {
        "0": "Closed,
        "1": "Opened"
    }
}
EOF
let login = <...>
let password = <...>
let saymonHostname = <...>
let dictionaryId = <...>
let path = "/node/api/dictionaries-monitoring/" + dictionaryId;
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": "Door state",
    "content": {
        "1": "Closed",
        "2": "Opened"
    }
});

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 dictionaryId = <...>
let path = "/node/api/dictionaries-monitoring/" + dictionaryId;
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": "Door state",
    "content": {
        "1": "Closed",
        "2": "Opened"
    }
});

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

login = <...>
password = <...>
saymon_hostname = <...>
dictionary_id = <...>
url = "https://" + saymon_hostname + "/node/api/dictionaries-monitoring/" + dictionary_id

body = {
    "name": "Door status",
    "content": {
        "1": "Closed",
        "2": "Opened"
    }
}

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

Response

{
    "name": "Door state",
    "content": "{\"1\":\"Closed\",\"2\":\"Opened\"}",
    "columns": {},
    "contentType": "object",
    "description": "",
    "group": "67f79f61e2687d00131816a7",
    "id": "5e9eb1bf10b1f754077f3f03"
}