Create State
Creates a new state.
Request
HTTP Request
Permissions
Path parameters
No parameters required.
Body parameters
Body contains the settings of the new state. See the State model for all parameters.
Default values
If the ui.colors.main
field isn't set, it defaults to rgb(40 173 250)
.
If the priority
field isn't set, it defaults to 0
.
Request body
{
"name": "Custom state",
"ui": {
"colors": {
"main": "#1189d2",
"shadow": "#ffffff",
"light": "#cccccc",
"background": "",
"svgBackground": [
"#2e89e1",
"#9c28cd"
]
}
},
"priority": 10
}
Response
Returns the created state. See the State model for more information.
Example
Request
login=<...>
password=<...>
saymon_hostname=<...>
url=https://$saymon_hostname/node/api/states
curl -X POST $url -u $login:$password \
-H "Content-Type: application/json" \
-d @- <<EOF
{
"id": "631610a396e30e10c6052db0",
"name": "Test State",
"ui": {
"colors": {
"main": "#1189d2",
"shadow": "#ffffff",
"light": "#cccccc",
"background": "",
"svgBackground": [
"#2e89e1",
"#9c28cd"
]
}
},
"priority": 0
}
EOF
let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/dictionaries";
let auth = "Basic " + btoa(login + ":" + password);
let headers = new Headers();
headers.append("Content-Type", "application/json");
headers.append("Authorization", auth);
let data = JSON.stringify({
"id": "631610a396e30e10c6052db0",
"name": "Test State",
"ui": {
"colors": {
"main": "#1189d2",
"shadow": "#ffffff",
"light": "#cccccc",
"background": "",
"svgBackground": [
"#2e89e1",
"#9c28cd"
]
}
},
"priority": 0
});
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/dictionaries";
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({
"id": "631610a396e30e10c6052db0",
"name": "Test State",
"ui": {
"colors": {
"main": "#1189d2",
"shadow": "#ffffff",
"light": "#cccccc",
"background": "",
"svgBackground": [
"#2e89e1",
"#9c28cd"
]
}
},
"priority": 0
});
req.write(data);
req.end();
import requests
login = <...>
password = <...>
saymon_hostname = <...>
url = "https://" + saymon_hostname + "/node/api/dictionaries"
body = {
"id": "631610a396e30e10c6052db0",
"name": "Test State",
"ui": {
"colors": {
"main": "#1189d2",
"shadow": "#ffffff",
"light": "#cccccc",
"background": "",
"svgBackground": [
"#2e89e1",
"#9c28cd"
]
}
},
"priority": 0
}
response = requests.request("POST", url, json=body, auth=(login, password))
print(response.text)