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.

Example

Request

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

{
    "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": []
}

See Also