Skip to content

Clone Object in Background

Run a bulk operation that clones an Object in the background. Returns a bulk operation ID.

Request

HTTP Request

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

Permissions

create-objects | 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

Response contains the ID of the bulk operation and its status:

Field Type Description
bulkId String The ID of a bulk operation.
finished Boolean Whether the bulk operation is finished.

Note

Nested objects and links are cloned, but not returned in the response.

You can check the operation status with the Get Bulk Operation Status request.

You can also receive a notification about operation completion using the Bulk Operation Finished WebSocket Event.

Example

Request

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

curl -X POST $url -u $login:$password
let login = <...>
let password = <...>
let saymonHostname = <...>
let objectId = <...>
let path = "/node/api/objects/" + objectId + "/clone-bulk";
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-bulk";
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-bulk"

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

Response

{
    "bulkId": "12aa5120-d8ee-4940-b53d-022d212cf3eb",
    "finished": false
}

See Also