Get Link’s Audit Log

Returns a link’s audit log.

Request

HTTP Request

GET /node/api/links/:id/audit-log

Path parameters

Parameter Type Description

id

String
required

The ID of a link whose audit log should be retrieved.

Query parameters

Query parameter can be used to limit the amount of records returned. If you don’t specify any parameters, this request returns all records.

Parameter Type Description

from

Integer

A lower-bound timestamp for audit records.

to

Integer

An upper-bound timestamp for audit records.

skip

String

The number of the first records to be skipped.

limit

String

The maximum number of records to be retrieved.

Request body

The request body is empty.

Response

Returns the change log for the specified link. Each change is represented by the previous and the new value of a link’s field, and the type of field that was changed. See the Audit Log model for more information.

Example

Request

  • Bash

  • JavaScript

  • NodeJS

  • Python

login=<...>
password=<...>
saymon_hostname=<...>
link_id=<...>
url=https://$saymon_hostname/node/api/links/$link_id/audit-log

curl -X GET $url -u $login:$password
let login = <...>
let password = <...>
let saymonHostname = <...>
let linkId = <...>
let path = "/node/api/links/" + linkId + "/audit-log";
let auth = "Basic " + btoa(login + ":" + password);

let headers = new Headers();
headers.append("Authorization", auth);

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));
const http = require("http");

let login = <...>
let password = <...>
let saymonHostname = <...>
let linkId = <...>
let path = "/node/api/links/" + linkId + "/audit-log";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");

let options = {
    "method": "GET",
    "hostname": saymonHostname,
    "headers": {
        "Authorization": auth
    },
    "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();
import requests

login = <...>
password = <...>
saymon_hostname = <...>
link_id = <...>
url = "https://" + saymon_hostname + "/node/api/links/" + \
    link_id + "/audit-log";

response = requests.request("GET", url, auth=(login, password))
print(response.text)

Response

[
    {
        "entityType": 2,
        "entityId": "5e79fddb6ec5ea28e5105f65",
        "newBody": [
            {
                "states": [
                    3,
                    4
                ],
                "payload": {
                    "cc": "recepient@example.com",
                    "to": "recepient@example.com"
                },
                "type": "e-mail"
            }
        ],
        "oldBody": [
            {
                "states": [
                    3,
                    4
                ],
                "payload": {
                    "cc": "",
                    "to": "recepient@example.com"
                },
                "type": "e-mail"
            }
        ],
        "userId": "5e21b752308c3c66d64e072c",
        "kind": 7,
        "timestamp": 1585056962504
    },
    ...
]

See Also