Create Session ID

POST /node/api/users/session

Creates a new session ID.

Request parameters

Body parameters

Parameter

Type

Description

login

String

required

User's login.

password

String

required

User's password.

Response description

The response body contains the only string that corresponds to a session ID.

Examples

Request examples

Here is how you can create a session id:

Bash
JavaScript
NodeJS
Python
Bash
login=<...>
password=<...>
saymon_hostname=<...>
url=https://$saymon_hostname/node/api/users/session
curl -X POST $url \
-H "Content-Type: application/json" \
-d @- <<EOF
{
"login": "$login",
"password": "$password"
}
EOF
JavaScript
let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/users/session";
let headers = new Headers();
headers.append("Content-Type", "application/json");
let data = JSON.stringify({
"login": login,
"password": password
});
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));
NodeJS
const http = require("http");
let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/users/session";
let options = {
"method": "POST",
"hostname": saymonHostname,
"headers": {
"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({
login: login,
password: password
});
req.write(data);
req.end();
Python
import requests
login = <...>
password = <...>
saymon_hostname = <...>
url = "https://" + saymon_hostname + "/node/api/users/session"
body = {"login": login, "password": password}
response = requests.request("POST", url, json=body)
session_id = response.text
print(session_id)

After a new session ID is created, you need to provide it in the Cookie header to authenticate in the subsequent requests. The examples below show how this can be done for the Get Current User method:

Bash
JavaScript
NodeJS
Python
Bash
session_id=<...>
saymon_hostname=<...>
url=https://$saymon_hostname/node/api/users/current
curl -X GET $url -H "Cookie: sid=$session_id"
JavaScript
let sessionId = <...>
let saymonHostname = <...>
let path = "/node/api/users/current";
let headers = new Headers();
headers.append("Cookie", "sid=" + sessionId);
let requestOptions = {
method: "GET",
headers: headers
};
fetch(saymonHostname + path, requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log("error", error));
NodeJS
const http = require("http");
let sessionId = <...>
let saymonHostname = <...>
let path = "/node/api/users/current";
let options = {
"method": "GET",
"hostname": saymonHostname,
"headers": {
"Cookie": "sid=" + sessionId
},
"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);
});
});
req.end();
Python
import requests
session_id = <...>
saymon_hostname = <...>
url = "https://" + saymon_hostname + "/node/api/users/current"
headers = {"Cookie": "sid=" + session_id}
response = requests.request("GET", url, headers=headers)
print(response.text)

Response example

"a5f946dc-4c21-4ccd-b78b-f0a5fce94f4d"