Skip to content

Clone Object

Clones an object and returns its JSON representation.

Request

HTTP Request

POST /node/api/objects/:id/clone

Permissions

create-object | manage-objects

Path parameters

Parameter Type Description
id

String

required

The ID or discovery ID of the object to be cloned.

Request body

The request body is empty.

Response

See the Object model.

Examples

Request examples

login=<...>
password=<...>
saymon_hostname=<...>
object_id=<...>
url=https://$saymon_hostname/node/api/objects/$object_id/clone

curl -X POST $url -u $login:$password
let login = <...>
let password = <...>
let saymonHostname = <...>
let objectId = <...>
let path = "/node/api/objects/" + objectId + "/clone";
let auth = "Basic " + btoa(login + ":" + password);

let headers = new Headers();
headers.append("Content-Type", "application/json");
headers.append("Authorization", auth);

let requestOptions = {
    method: "POST",
    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 objectId = <...>
let path = "/node/api/objects/" + objectId + "/clone";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");

let options = {
    "method": "POST",
    "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 = <...>
object_id = <...>
url = "https://" + saymon_hostname + "/node/api/objects/" + \
    object_id + "/clone"

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

Response example

{
    "id": "5e79baae6ec5ea28e5105caa",
    "name": "Updated Object",
    "owner_id": "5e21b752308c3c66d64e072c",
    "client_data": "{...}",
    "object_groups": [],
    "geoposition": [],
    "child_ref_ids": [],
    "child_link_ids": [],
    "child_ids": [],
    "parent_id": "1",
    "weight": 1,
    "tags": [],
    "last_state_update": 1585035950051,
    "updated": 1585035950051,
    "created": 1585035085802,
    "state_id": 1,
    "class_id": 13,
    "_stateConditionRefs": [],
    "operations": [],
    "properties": []
}