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"