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.

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

  • Bash

  • JavaScript

  • NodeJS

  • Python

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
}