> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.itential.com/itential-platform/2023-2/api-reference/operations-manager/clone-automation/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.itential.com/_mcp/server. # Clone automation POST http://localhost:3000/operations-manager/automations/clone Content-Type: application/json Clone an Automation. Reference: https://docs.itential.com/itential-platform/6/api-reference/operations-manager/clone-automation ## Authentication - `Authorization` header (basic auth, required) — Basic authentication of the form `Basic `. ## Request ### Body (application/json) This endpoint expects an object. - `id` (string, optional) — A string which is formatted like an ObjectId, Distinct from an actual ObjectId. - `name` (string, optional, nullable) — An optional name to use for the clone. ## Response ### 200 The result of the clone operation. - `message` (string, required) — A human-readable message summarizing the result of the operation - `data` (any or any or any, required) — Any successfully retrieved information related to the request. - `metadata` (object, required) — Any structured, wordy or machine-readable information related to the result of the operation. For success responses, this may contain information like pagination values from a search operation. - `automaticChanges` (list of string, optional) - `triggerCloneResults` (object, optional) - `message` (string, optional) - `metadata` (object, optional) - `data` (list of object, optional) - `success` (boolean, optional) - `data` (object or object or object or object, optional) - Endpoint Trigger - `name` (string, required) — The name of the document - `description` (string, required) — The description of the document - `enabled` (boolean, required) — A flag to determine if this Trigger is enabled or not. - `actionType` (enum, required) — The type of component this Trigger will invoke. - Allowed values: `automations` - `actionId` (string, required) — A string which is formatted like an ObjectId, Distinct from an actual ObjectId. - `lastExecuted` (integer, required, nullable) — A timestamp in milliseconds of the time this Trigger was last executed. - `createdBy` (string, required, nullable) - `created` (string, required) — An ISO 8601 date string - `lastUpdatedBy` (string, required, nullable) - `lastUpdated` (string, required) — An ISO 8601 date string - `type` (any, required) - `verb` (any, required) - `routeName` (string, required) — User defined route name. - `schema` (object, required, nullable) — POST body filter schema. - `_id` (string, required) — A string which is formatted like an ObjectId, Distinct from an actual ObjectId. - `jst` (string, required, nullable) - `migrationVersion` (integer, optional) — The current document version of this document. - EventSystem Trigger - `name` (string, required) — The name of the document - `description` (string, required) — The description of the document - `enabled` (boolean, required) — A flag to determine if this Trigger is enabled or not. - `actionType` (enum, required) — The type of component this Trigger will invoke. - Allowed values: `automations` - `actionId` (string, required) — A string which is formatted like an ObjectId, Distinct from an actual ObjectId. - `lastExecuted` (integer, required, nullable) — A timestamp in milliseconds of the time this Trigger was last executed. - `type` (any, required) - `source` (string, required) — The source of the event. - `topic` (string, required) — The event topic. - `schema` (object, required, nullable) — Event payload filter schema. - `legacyWrapper` (boolean, required) — A boolean determining whether payload data is wrapped in a 'payload' property - `createdBy` (string, required, nullable) - `created` (string, required) — An ISO 8601 date string - `lastUpdatedBy` (string, required, nullable) - `lastUpdated` (string, required) — An ISO 8601 date string - `_id` (string, required) — A string which is formatted like an ObjectId, Distinct from an actual ObjectId. - `jst` (string, required, nullable) - `migrationVersion` (integer, optional) — The current document version of this document. - Manual Trigger - `name` (string, required) — The name of the document - `description` (string, required) — The description of the document - `enabled` (boolean, required) — A flag to determine if this Trigger is enabled or not. - `actionType` (enum, required) — The type of component this Trigger will invoke. - Allowed values: `automations` - `actionId` (string, required) — A string which is formatted like an ObjectId, Distinct from an actual ObjectId. - `lastExecuted` (integer, required, nullable) — A timestamp in milliseconds of the time this Trigger was last executed. - `createdBy` (string, required, nullable) - `created` (string, required) — An ISO 8601 date string - `lastUpdatedBy` (string, required, nullable) - `lastUpdated` (string, required) — An ISO 8601 date string - `type` (any, required) - `formData` (object, required, nullable) — A JSON object created by filling out the associated JSON Form. - `legacyWrapper` (boolean, required) — A boolean determining whether form data is wrapped in a 'formData' property - `_id` (string, required) — A string which is formatted like an ObjectId, Distinct from an actual ObjectId. - `formId` (string, required, nullable) — The id of a JSON Form used to provide inputs to a job from this trigger. - `migrationVersion` (integer, optional) — The current document version of this document. - `formSchemaHash` (string, optional, nullable) - Schedule Trigger - `name` (string, required) — The name of the document - `description` (string, required) — The description of the document - `enabled` (boolean, required) — A flag to determine if this Trigger is enabled or not. - `actionType` (enum, required) — The type of component this Trigger will invoke. - Allowed values: `automations` - `actionId` (string, required) — A string which is formatted like an ObjectId, Distinct from an actual ObjectId. - `lastExecuted` (integer, required, nullable) — A timestamp in milliseconds of the time this Trigger was last executed. - `createdBy` (string, required, nullable) - `created` (string, required) — An ISO 8601 date string - `lastUpdatedBy` (string, required, nullable) - `lastUpdated` (string, required) — An ISO 8601 date string - `type` (any, required) - `formData` (object, required, nullable) — A JSON object created by filling out the associated JSON Form. - `legacyWrapper` (boolean, required) — A boolean determining whether form data is wrapped in a 'formData' property - `firstRunAt` (integer, required) — A timestamp in milliseconds for the first scheduled run of this Trigger. - `nextRunAt` (integer, required, nullable) — A timestamp in milliseconds for the next scheduled run of this Trigger. - `processMissedRuns` (enum, required) — Describes how any missed job runs should be processed. A missed run is a job that was supposed to be ran at least 'n' seconds ago, but did not due to some issue with IAP (busy process, IAP was down, etc). 'none' means do not run any missed jobs. 'last' means only run the last missed job. - Allowed values: `none`, `last` - `locked` (boolean, required) — backend use only - `repeatInterval` (integer, required, nullable) — The interval between repeated jobs in milliseconds. This is calculated from repeatUnit and repeatFrequency. - `_id` (string, required) — A string which is formatted like an ObjectId, Distinct from an actual ObjectId. - `formId` (string, required, nullable) — The id of a JSON Form used to provide inputs to a job from this trigger. - `migrationVersion` (integer, optional) — The current document version of this document. - `formSchemaHash` (string, optional, nullable) - `stopRunningAt` (integer, optional, nullable) — A millisecond resolution timestamp denoting when to stop this schedule. This is calculated using repeatEnd and lastIntervalStart. - `lastIntervalStart` (integer, optional, nullable) — A millisecond resolution timestamp denoting when the current run interval started. This is calculated using repeatEnd. - `waitFlag` (boolean, optional) — Deprecated, backend use only - `repeat` (object or object or object, optional, nullable) — A repetition pattern expressed as a tree of parent and child interval definitions. - object - object - object - `repeatUnit` (any, optional) - `repeatFrequency` (any, optional) - `automaticChanges` (list of string, optional) ## Errors ### 500 Internal Server Error Error response from API - `any` ## Examples **Request** ```json {} ``` **Response** ```json { "message": "Successfully created the requested item", "data": { "_id": "string", "componentId": "string", "componentName": "string", "componentType": null, "created": "2024-01-15T09:30:00Z", "createdBy": "string", "description": "Some helpful information about the document", "gbac": { "read": [ "string" ], "write": [ "string" ] }, "lastUpdated": "2024-01-15T09:30:00Z", "lastUpdatedBy": "string", "name": "myCoolDocumentName" }, "metadata": { "automaticChanges": [ "Disabled trigger 628672e8f677b67b3b0f20d7" ], "triggerCloneResults": { "message": "string", "metadata": {}, "data": [ { "success": true, "data": { "_id": "string", "actionId": "string", "actionType": "automations", "created": "2024-01-15T09:30:00Z", "createdBy": "string", "description": "Some helpful information about the document", "enabled": true, "jst": "string", "lastExecuted": 1, "lastUpdated": "2024-01-15T09:30:00Z", "lastUpdatedBy": "string", "migrationVersion": 1, "name": "myCoolDocumentName", "routeName": "string", "schema": {}, "type": null, "verb": null }, "automaticChanges": [ "Disabled trigger 628672e8f677b67b3b0f20d7" ] } ] } } } ``` **SDK Code** ```python import requests url = "http://localhost:3000/operations-manager/automations/clone" payload = {} headers = {"Content-Type": "application/json"} response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` ```javascript const url = 'http://localhost:3000/operations-manager/automations/clone'; const options = {method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{}'}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "http://localhost:3000/operations-manager/automations/clone" payload := strings.NewReader("{}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("http://localhost:3000/operations-manager/automations/clone") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Post.new(url) request["Content-Type"] = 'application/json' request.body = "{}" response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("http://localhost:3000/operations-manager/automations/clone") .header("Content-Type", "application/json") .body("{}") .asString(); ``` ```php request('POST', 'http://localhost:3000/operations-manager/automations/clone', [ 'body' => '{}', 'headers' => [ 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("http://localhost:3000/operations-manager/automations/clone"); var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Content-Type": "application/json"] let parameters = [] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/operations-manager/automations/clone")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```