{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":508,"path":"api-reference/rest-apis/editor-api.md","title":"CdmEditorApi","bundle":null,"doc_type":null,"release":"australia","body":"\n# CdmEditorApi\n\nThe CdmEditorApi provides endpoints that enable you to create nodes, update nodes, include existing nodes under other nodes, delete nodes, and retrieve nodes and node includes.\n\nYou must have one of the following roles to access this API:\n\n-   Scripted REST CDM View ACL \\(sn\\_cdm.cdm.viewer\\)\n-   Scripted REST CDM Editor ACL \\(sn\\_cdm.cdm\\_editor\\)\n\nTo view fields that have been encrypted, you must have the CDM Secret role.\n\nIn addition, the Configuration Data Management \\(CDM\\) plugin must be activated for this API to be available in an instance.\n\n**Note:** The CdmEditorApi API cannot be used to modify any files. Only file deletion is allowed currently.\n\n**Parent Topic:**[REST API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-apis/api-rest.md)\n\n## CdmEditorApi - DELETE /sn\\_cdm/editor/nodes\n\nDeletes a specified node.\n\nThe caller of this endpoint must have the CDM Editor role.\n\n### URL format\n\nVersioned URL: `/api/sn_cdm/{api_version}/editor/nodes`\n\nDefault URL: `/api/sn_cdm/editor/nodes`\n\n**Note:** Available versions are specified in the [REST API Explorer](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/use-REST-API-Explorer.md). For scripted REST APIs there is additional version information on the [Scripted REST Service form](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_CustomWebServices.md).\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String\n\n</td></tr></tbody>\n</table><table class=\"rest_api_query_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nchangesetNumber\n\n</td><td id=\"changesetNumber-changeset-entry\">\n\nRequired. Unique identifier of the associated changeset, such as \"Chset-10\".\n\nData type: String\n\nTable: CDM Changeset \\[sn\\_cdm\\_changeset\\]\n\n</td></tr><tr><td>\n\nfullNamePath\n\n</td><td id=\"fullNamePath-node-editor-entry\">\n\nRequired. Path name of the node to delete. You can pass the name path in any of the following formats. For example, to delete the following node `testApp/deployables/Development1/cdi1`:\n\n-   Backslash format: `testApp/deployables/Development1/cdi1`\n\n**Note:** If your node name contains a backslash \\(\"/\"\\), you can’t use this format.\n\n-   Backend name path with replacement characters: `testApp�deployables�​Development1​�​cdi1`\n-   Array: `['testApp','deployables','Development1','cdi1']`\n\nData type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters\n\n|Name|Description|\n|----|-----------|\n|None||\n\n### cURL request\n\nThe following code example shows how to delete the node \"cdi88\".\n\n```\ncurl \"http://instance.servicenow.com/api/sn_cdm/editor/nodes?changesetNumber=Chset783&fullNamePath=%2FtestApp%2Fdeployables%2FDevelopment-1%2Fcdi88\" \\\n--request DELETE \\\n--header \"Accept:application/json\" \\\n--user 'username':'password'\n```\n\nReturn result:\n\n```\nNone - just the associated HTTP status code\n```\n\n## CdmEditorApi - GET /sn\\_cdm/editor/includes\n\nReturns the list of nodes that were include within a specified node path.\n\nThe caller of this endpoint must have the CDM Viewer role.\n\n### URL format\n\nVersioned URL: `/api/sn_cdm/{api_version}/editor/includes`\n\nDefault URL: `/api/sn_cdm/editor/includes`\n\n**Note:** Available versions are specified in the [REST API Explorer](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/use-REST-API-Explorer.md). For scripted REST APIs there is additional version information on the [Scripted REST Service form](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_CustomWebServices.md).\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n<table class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nchangesetNumber\n\n</td><td>\n\nUnique identifier of the associated changeset, such as \"Chset-10\".\n\nData type: String\n\nTable: CDM Changeset \\[sn\\_cdm\\_changeset\\]\n\n</td></tr><tr><td>\n\nreturnFields\n\n</td><td id=\"cdm_apps-returnFields-entry\">\n\nList of fields to return as part of the response. Pass the record column names such as sys\\_id, sys\\_updated\\_by, or state.Data type: Array\n\nDefault: All fields as determined by the endpoint\n\n</td></tr><tr><td>\n\nsourceFullNamePath\n\n</td><td>\n\nRequired. Path name of the source node for which to return the included nodes.You can pass the name path in any of the following formats. For example, to return the includes for the `collectionA` node in the `testApp/collections` directory:\n\n-   Backslash format: `testApp/collections/collectionA`\n\n**Note:** If your node name contains a backslash \\(\"/\"\\), you can't use this format.\n\n-   Backend name path with replacement characters: `testApp�collections�​collectionA`\n-   Array: `['testApp','collections','collectionA']`\n\nData type: String\n\n</td></tr></tbody>\n</table>### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters\n\n<table id=\"id_jpm_rxl_c5b\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nchangeset\\_id\n\n</td><td>\n\nUnique identifier of the associated changeset, such as \"Chset-10\".\n\nData type: String\n\nTable: CDM Changeset \\[sn\\_cdm\\_changeset\\]\n\n</td></tr><tr><td>\n\nconflict\n\n</td><td id=\"conflict-node-editor-entry\">\n\nFlag that indicates whether there was a conflict when processing the node.Possible values:\n\n-   true: Conflict detected.\n-   false: No conflict was detected.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nconflict\\_type\n\n</td><td id=\"conflict_type-node-editor-entry\">\n\nIf the **conflict** parameter is true, the type of conflict detected. Null if no conflict is detected.Possible values:\n\n-   corrupted\\_node\n-   deleted\\_node\n-   duplicated\\_node\n-   incomplete\\_deleted\\_parent\n-   incomplete\\_deleted\\_ref\n-   incomplete\\_renamed\\_ref\n-   invalid\\_include\n-   orphaned\\_descendant\n-   related\\_conflict\n-   unlinked\\_include\n-   unrenamed\\_include\n-   updated\\_node\n\nData type: String\n\n</td></tr><tr><td>\n\ndescription\n\n</td><td id=\"description-node-editor-entry\">\n\nShort description of the purpose of the node.Data type: String\n\n</td></tr><tr><td>\n\neffective\\_from\n\n</td><td id=\"effective_from-node-editor-entry\">\n\nTimestamp \\(converted to a long integer\\) when the node was committed as part of the changeset. If the node hasn't been committed, this value is \"null\".Data type: Number \\(Integer\\)\n\n</td></tr><tr><td>\n\neffective\\_to\n\n</td><td id=\"effective_to-node-editor-entry\">\n\nTimestamp \\(converted to a long integer\\) of the node when it was either deleted or superseded by another node, otherwise \"null\".Data type: Number \\(Integer\\)\n\n</td></tr><tr><td>\n\nerror\n\n</td><td>\n\nIf an error occurred during processing, the details about the error.Data type: Object\n\n```\n\"error\": {\n  \"detail\": \"String\",\n  \"message\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nerror.detail\n\n</td><td>\n\nAdditional information about the error.Data type: String\n\n</td></tr><tr><td>\n\nerror.message\n\n</td><td>\n\nError message that was generated while trying to process the request.Data type: String\n\n</td></tr><tr><td>\n\nlevel\n\n</td><td id=\"level-node-editor-entry\">\n\nLevel of the node, starting from the root node, which is always 0. For example, the node `/AppA/components/compA` has two levels.Data type: String\n\n</td></tr><tr><td>\n\nlinked\\_to\n\n</td><td id=\"linked_to-node-editor-entry\">\n\nThe **main\\_id** parameter of the referenced node to which this node is linked.If this node isn't linked to a reference node, the value is \"null\".\n\nData type: String\n\n</td></tr><tr><td>\n\nmain\\_id\n\n</td><td id=\"main_id-node-editor-entry\">\n\nPrimary identifier for the node. You can use this value in the CdmQuery\\(\\) script include to retrieve a JSON tree. For example: `CdmQuery().mainId(‘123’)/query().getTree();` Data type: String\n\n</td></tr><tr><td>\n\nmain\\_id\\_encoded\n\n</td><td id=\"main_id_encoded-node-editor-entry\">\n\nRADIX 57 string representation of the node's **main\\_id** parameter.Data type: String\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the node that was included under the target path.Data type: String\n\n</td></tr><tr><td>\n\nnode\\_classifier\n\n</td><td id=\"node_classifier-node-editor-entry\">\n\nClassifier hierarchy of the node. Use this information to locate a node within the folder hierarchy.For example, a deployable would have a hierarchy of `/application/deployables/env:Development`\n\nWhile a collection would have a hierarchy of `/applications/collections`\n\nData type: String\n\n</td></tr><tr><td>\n\nnode\\_path\n\n</td><td>\n\nFull path name of the node that was included in the target path, such as `/Production/deployables/Development1/cdi1`. Data type: String\n\n</td></tr><tr><td>\n\nposition\n\n</td><td>\n\nNode position.For example: If you upload the following array:\n\n```\narrayNode1: [\n  \"literal1\", \n  {\"cdi1\": 1},\n  \"literal3\"\n]\n```\n\nThe position values are set as follows:\n\n-   arrayNode1.literal1 = 1000\n-   arrayNode1.2000 = 2000\n-   arrayNode1.literal3 = 3000\n\nIf a complex object is uploaded under an array, in this case `{\"cdi1\": 1}`, the endpoint creates a new virtual node with the name equal to its position. In the example above, this is 2000. For includes, the position is always empty.\n\nData type: String\n\n</td></tr><tr><td>\n\nprevious\\_version\n\n</td><td id=\"previous_version-node-editor-entry\">\n\nDetails of the previous version of the node record. **Note:** If a new node was created, the endpoint returns `\"previous_version\" = null` for this parameter.\n\nData type: Object\n\n```\n\"previous_version\": {\n  \"link\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nrestricted\\_to\n\n</td><td id=\"restricted_to-node-editor-entry\">\n\nDetails of the group that has access the associated the node. Data type: Object\n\n```\n\"restricted_to\": {\n  \"link\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nsecure\\_value\n\n</td><td>\n\nIf this value was flagged to be secured, the encrypted field \\(returned masked\\).A user must have the sn\\_cdm.cdm\\_secrets role to decrypt this information. You can direct the endpoint not to return these fields by setting the **returnFields** query parameter field.\n\nData type: String\n\n</td></tr><tr><td>\n\nstatus\n\n</td><td>\n\nNode status.Possible values:\n\n-   DELETED\n-   NEW\n-   SUPERSEDED\n-   UPDATED\n-   VALID\n\nData type: String\n\n</td></tr><tr><td>\n\nsys\\_id\n\n</td><td>\n\nSys\\_id of the node.Data type: String\n\nTable: CDM Node \\[sn\\_cdm\\_node\\]\n\n</td></tr><tr><td>\n\nsystem\\_folder\n\n</td><td id=\"system_folder-node-editor-entry\">\n\nFlag that indicates whether the associated node is a system folder.Possible values:\n\n-   true: Node is a system folder.\n-   false: Node isn't a system folder.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\ntype\n\n</td><td>\n\nNode type.\n\nPossible values:\n\n-   sn\\_cdm\\_node\\_cdi\n-   sn\\_cdm\\_node\\_collection\n-   sn\\_cdm\\_node\\_component\n-   sn\\_cdm\\_node\\_folder\n-   sn\\_cdm\\_node\\_variable\n\nData type: String\n\n</td></tr><tr><td>\n\nvalue\n\n</td><td>\n\nNode value.Data type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis code example shows how retrieve the includes in the source path `/testApp/collections/collA`.\n\n```\ncurl \"http://instance.servicenow.com/api/sn_cdm/editor/includes?changesetNumber=Chset5&sourceFullNamePath=%2FtestApp%2Fcollections%2FcollA\" \\\n--request GET \\\n--header \"Accept:application/json\" \\\n--user 'username':'password'\n```\n\nReturn result:\n\n```\n{ \n  \"result\": [ \n    { \n      \"sys_id\": \"a1c517a953b70110a1d3ddeeff7b129b\", \n      \"type\": \"sn_cdm_node_deployable\", \n      \"main_id\": \"6\", \n      \"main_id_encoded\": \",\", \n      \"node_path\": \"!$!+!,\", \n      \"level\": 2, \n      \"status\": \"valid\", \n      \"node_classifier\": \"/application/deployables/env:Development\", \n      \"position\": null, \n      \"restricted_to\": null, \n      \"changeset_id\": \"e9c517a953b70110a1d3ddeeff7b1299\", \n      \"previous_version\": null, \n      \"effective_from\": \"1654002206866\", \n      \"effective_to\": null, \n      \"name\": \"Development_1\", \n      \"description\": null, \n      \"value\": null, \n      \"secure_value\": null, \n      \"system_folder\": \"0\", \n      \"linked_to\": null, \n      \"conflict\": \"0\", \n      \"conflict_type\": null \n    } \n  ] \n}\n```\n\n## CdmEditorApi - GET /sn\\_cdm/editor/nodes\n\nReturns the details of a specified node or a list of child Configuration Data Management \\(CDM\\) nodes for a specified parent node.\n\nThe caller of this endpoint must have the CDM Viewer role.\n\n### URL format\n\nVersioned URL: `/api/sn_cdm/{api_version}/editor/nodes`\n\nDefault URL: `/api/sn_cdm/editor/nodes`\n\n**Note:** Available versions are specified in the [REST API Explorer](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/use-REST-API-Explorer.md). For scripted REST APIs there is additional version information on the [Scripted REST Service form](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_CustomWebServices.md).\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String\n\n</td></tr></tbody>\n</table><table class=\"rest_api_query_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nchangesetNumber\n\n</td><td>\n\nUnique identifier of the associated changeset, such as \"Chset-10\".\n\nData type: String\n\nTable: CDM Changeset \\[sn\\_cdm\\_changeset\\]\n\n</td></tr><tr><td>\n\ndecryptPassword\n\n</td><td>\n\nFlag that indicates whether the value should be encrypted for the leaf nodes.Valid values:\n\n-   true: Encrypted\n-   false: Not encrypted\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nNode name. If you pass this parameter, only the results for the specified node are returned.Data type: String\n\nDefault: All nodes within the parent node\n\n</td></tr><tr><td>\n\nparentFullNamePath\n\n</td><td>\n\nRequired. Path name of the parent node for which to return the child nodes or to which the node specified in the **name** parameter resides.You can pass the name path in any of the following formats. For example, to return the nodes for the `collectionA` node in the `testApp/collections` directory:\n\n-   Backslash format: `testApp/collections/collectionA`\n\n**Note:** If your node name contains a backslash \\(\"/\"\\), you can't use this format.\n\n-   Backend name path with replacement characters: `testApp�collections�​collectionA`\n-   Array: `['testApp','collections','collectionA']`\n\nData type: String\n\n</td></tr><tr><td>\n\nreturnFields\n\n</td><td id=\"cdm_apps-returnFields-entry\">\n\nList of fields to return as part of the response. Pass the record column names such as sys\\_id, sys\\_updated\\_by, or state.Data type: Array\n\nDefault: All fields as determined by the endpoint\n\n</td></tr><tr><td>\n\ntype\n\n</td><td id=\"type-node-editor-entry\">\n\nNode type.\n\nPossible values:\n\n-   sn\\_cdm\\_node\\_cdi OR cdi\n-   sn\\_cdm\\_node\\_collection OR collection\n-   sn\\_cdm\\_node\\_component OR component\n-   sn\\_cdm\\_node\\_folder OR folder\n-   sn\\_cdm\\_node\\_variable OR variable\n\nData type: String\n\n Default: All\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters\n\n<table id=\"id_nwg_5jl_c5b\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr id=\"changeset-node-editor-row\"><td>\n\nchangeset\\_id\n\n</td><td id=\"changeset-node-editor-entry\">\n\nDetails of the changeset record associated with the node. Data type: Object\n\n```\n\"changeset_id\": {\n  \"link\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr id=\"changeset_link-node-editor-row\"><td>\n\nchangeset\\_id.link\n\n</td><td id=\"changeset_link-node-editor-entry\">\n\nCall syntax for querying this changeset record using the Table REST API.Data type: String\n\n</td></tr><tr id=\"changeset_value-node-editor-row\"><td>\n\nchangeset\\_id.value\n\n</td><td id=\"changeset_value-node-editor-entry\">\n\nUnique identifier of the changeset record.Data type: String\n\nTable: CDM Changeset \\[sn\\_cdm\\_changeset\\]\n\n</td></tr><tr id=\"conflict-node-editor-row\"><td>\n\nconflict\n\n</td><td id=\"conflict-node-editor-entry\">\n\nFlag that indicates whether there was a conflict when processing the node.Possible values:\n\n-   true: Conflict detected.\n-   false: No conflict was detected.\n\nData type: Boolean\n\n</td></tr><tr id=\"conflict_type-node-editor-row\"><td>\n\nconflict\\_type\n\n</td><td id=\"conflict_type-node-editor-entry\">\n\nIf the **conflict** parameter is true, the type of conflict detected. Null if no conflict is detected.Possible values:\n\n-   corrupted\\_node\n-   deleted\\_node\n-   duplicated\\_node\n-   incomplete\\_deleted\\_parent\n-   incomplete\\_deleted\\_ref\n-   incomplete\\_renamed\\_ref\n-   invalid\\_include\n-   orphaned\\_descendant\n-   related\\_conflict\n-   unlinked\\_include\n-   unrenamed\\_include\n-   updated\\_node\n\nData type: String\n\n</td></tr><tr id=\"description-node-editor-row\"><td>\n\ndescription\n\n</td><td id=\"description-node-editor-entry\">\n\nShort description of the purpose of the node.Data type: String\n\n</td></tr><tr id=\"effective_from-node-editor-row\"><td>\n\neffective\\_from\n\n</td><td id=\"effective_from-node-editor-entry\">\n\nTimestamp \\(converted to a long integer\\) when the node was committed as part of the changeset. If the node hasn't been committed, this value is \"null\".Data type: Number \\(Integer\\)\n\n</td></tr><tr id=\"effective_to-node-editor-row\"><td>\n\neffective\\_to\n\n</td><td id=\"effective_to-node-editor-entry\">\n\nTimestamp \\(converted to a long integer\\) of the node when it was either deleted or superseded by another node, otherwise \"null\".Data type: Number \\(Integer\\)\n\n</td></tr><tr><td>\n\nerror\n\n</td><td>\n\nIf an error occurred during processing, the details about the error.Data type: Object\n\n```\n\"error\": {\n  \"detail\": \"String\",\n  \"message\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nerror.detail\n\n</td><td>\n\nAdditional information about the error.Data type: String\n\n</td></tr><tr><td>\n\nerror.message\n\n</td><td>\n\nError message that was generated while trying to process the request.Data type: String\n\n</td></tr><tr id=\"level-node-editor-row\"><td>\n\nlevel\n\n</td><td id=\"level-node-editor-entry\">\n\nLevel of the node, starting from the root node, which is always 0. For example, the node `/AppA/components/compA` has two levels.Data type: String\n\n</td></tr><tr id=\"linked_to-node-editor-row\"><td>\n\nlinked\\_to\n\n</td><td id=\"linked_to-node-editor-entry\">\n\nThe **main\\_id** parameter of the referenced node to which this node is linked.If this node isn't linked to a reference node, the value is \"null\".\n\nData type: String\n\n</td></tr><tr id=\"main_id-node-editor-row\"><td>\n\nmain\\_id\n\n</td><td id=\"main_id-node-editor-entry\">\n\nPrimary identifier for the node. You can use this value in the CdmQuery\\(\\) script include to retrieve a JSON tree. For example: `CdmQuery().mainId(‘123’)/query().getTree();` Data type: String\n\n</td></tr><tr id=\"main_id_encoded-node-editor-row\"><td>\n\nmain\\_id\\_encoded\n\n</td><td id=\"main_id_encoded-node-editor-entry\">\n\nRADIX 57 string representation of the node's **main\\_id** parameter.Data type: String\n\n</td></tr><tr id=\"name-node-editor-row\"><td>\n\nname\n\n</td><td id=\"name-node-editor-entry\">\n\nName of the node.Data type: String\n\n</td></tr><tr id=\"node_classifier-node-editor-row\"><td>\n\nnode\\_classifier\n\n</td><td id=\"node_classifier-node-editor-entry\">\n\nClassifier hierarchy of the node. Use this information to locate a node within the folder hierarchy.For example, a deployable would have a hierarchy of `/application/deployables/env:Development`\n\nWhile a collection would have a hierarchy of `/applications/collections`\n\nData type: String\n\n</td></tr><tr id=\"name_path-node-editor-row\"><td>\n\nnode\\_path\n\n</td><td id=\"name_path-node-editor-entry\">\n\nFull node path name. Data type: String\n\n</td></tr><tr id=\"position-node-editor-row\"><td>\n\nposition\n\n</td><td id=\"position-node-editor-entry\">\n\nNode position.For example: If you upload the following array:\n\n```\narrayNode1: [\n  \"literal1\", \n  {\"cdi1\": 1},\n  \"literal3\"\n]\n```\n\nThe position values are set as follows:\n\n-   arrayNode1.literal1 = 1000\n-   arrayNode1.2000 = 2000\n-   arrayNode1.literal3 = 3000\n\nIf a complex object is uploaded under an array, in this case `{\"cdi1\": 1}`, the endpoint creates a new virtual node with the name equal to its position. In the example above, this is 2000. For includes, the position is always empty.\n\nData type: String\n\n</td></tr><tr id=\"previous_version-node-editor-row\"><td>\n\nprevious\\_version\n\n</td><td id=\"previous_version-node-editor-entry\">\n\nDetails of the previous version of the node record. **Note:** If a new node was created, the endpoint returns `\"previous_version\" = null` for this parameter.\n\nData type: Object\n\n```\n\"previous_version\": {\n  \"link\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr id=\"previous_version_link-node-editor-row\"><td>\n\nprevious\\_version.link\n\n</td><td id=\"previous_version_link-node-editor-entry\">\n\nCall syntax for querying this node record using the Table REST API.Data type: String\n\n</td></tr><tr id=\"previous_version_value-node-editor-row\"><td>\n\nprevious\\_version.value\n\n</td><td id=\"previous_version_value-node-editor-entry\">\n\nSys\\_id of the node record.Data type: String\n\nTable: CDM Node \\[sn\\_cdm\\_node\\]\n\n</td></tr><tr><td>\n\nreason\\_for\\_conflict\n\n</td><td>\n\nDetailed explanation of the conflict.Data type: String\n\n</td></tr><tr id=\"restricted_to-node-editor-row\"><td>\n\nrestricted\\_to\n\n</td><td id=\"restricted_to-node-editor-entry\">\n\nDetails of the group that has access the associated the node. Data type: Object\n\n```\n\"restricted_to\": {\n  \"link\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr id=\"restricted_to_link-node-editor-row\"><td>\n\nrestricted\\_to.link\n\n</td><td id=\"restricted_to_link-node-editor-entry\">\n\nCall syntax for querying this group record using the Table REST API.Data type: String\n\n</td></tr><tr id=\"restricted_to_value-node-editor-row\"><td>\n\nrestricted\\_to.value\n\n</td><td id=\"restricted_to_value-node-editor-entry\">\n\nSys\\_id of the group record.Data type: String\n\nTable: CDM Group \\[sys\\_user\\_group\\]\n\n</td></tr><tr id=\"secure_value-node-editor-row\"><td>\n\nsecure\\_value\n\n</td><td id=\"secure_value-node-editor-entry\">\n\nIf this value was flagged to be secured, the encrypted field \\(returned masked\\).A user must have the sn\\_cdm.cdm\\_secrets role to decrypt this information. You can direct the endpoint not to return these fields by setting the **returnFields** query parameter field.\n\nData type: String\n\n</td></tr><tr id=\"status-node-editor-row\"><td>\n\nstatus\n\n</td><td id=\"status-node-editor-entry\">\n\nNode status.Possible values:\n\n-   DELETED\n-   NEW\n-   SUPERSEDED\n-   UPDATED\n-   VALID\n\nData type: String\n\n</td></tr><tr id=\"system_folder-node-editor-row\"><td>\n\nsystem\\_folder\n\n</td><td id=\"system_folder-node-editor-entry\">\n\nFlag that indicates whether the associated node is a system folder.Possible values:\n\n-   true: Node is a system folder.\n-   false: Node isn't a system folder.\n\nData type: Boolean\n\n</td></tr><tr id=\"sys_class_name-node-editor-row\"><td>\n\nsys\\_class\\_name\n\n</td><td id=\"sys_class_name-node-editor-entry\">\n\nTable in which the node resides.Data type: String\n\n</td></tr><tr id=\"sys_created_by-node-editor-row\"><td>\n\nsys\\_created\\_by\n\n</td><td id=\"sys_created_by-node-editor-entry\">\n\nName of the user that created the node.Data type: String\n\n</td></tr><tr id=\"sys_created_on-node-editor-row\"><td>\n\nsys\\_created\\_on\n\n</td><td id=\"sys_created_on-node-editor-entry\">\n\nDate and time when the node was created.Data type: String\n\nFormat: yyyy-mm-dd hh:mm:ss\n\n</td></tr><tr id=\"sys_id-node-editor-row\"><td>\n\nsys\\_id\n\n</td><td id=\"sys_id-node-editor-entry\">\n\nSys\\_id of the node.Data type: String\n\nTable: CDM Node \\[sn\\_cdm\\_node\\]\n\n</td></tr><tr id=\"sys_updated_by-node-editor-row\"><td>\n\nsys\\_updated\\_by\n\n</td><td id=\"sys_updated_by-node-editor-entry\">\n\nName of the user that updated the node.Data type: String\n\n</td></tr><tr id=\"sys_updated_on-node-editor-row\"><td>\n\nsys\\_updated\\_on\n\n</td><td id=\"sys_updated_on-node-editor-entry\">\n\nDate and time when the node was last updated.Data type: String\n\nFormat: yyyy-mm-dd hh:mm:ss\n\n</td></tr><tr id=\"type-node-editor-row\"><td>\n\ntype\n\n</td><td id=\"d3158e3625\">\n\nNode type.\n\nPossible values:\n\n-   sn\\_cdm\\_node\\_cdi\n-   sn\\_cdm\\_node\\_collection\n-   sn\\_cdm\\_node\\_component\n-   sn\\_cdm\\_node\\_folder\n-   sn\\_cdm\\_node\\_variable\n\nData type: String\n\n Default: All\n\n</td></tr><tr id=\"value-node-editor-row\"><td>\n\nvalue\n\n</td><td id=\"value-node-editor-entry\">\n\nNode value.Data type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThis code example shows how to retrieve the child nodes of type sn\\_cdm\\_node\\_cdi under the `/testApp/Fdeployables/Development_1` parent node.\n\n```\ncurl \"http://instance.servicenow.com/api/sn_cdm/editor/nodes?decryptPassword=true&name=cdi45&changesetNumber=Chset3&parentFullNamePath=%2FtestApp%2Fdeployables%2FDevelopment_1&type=sn_cdm_node_cdi\" \\\n--request GET \\\n--header \"Accept:application/json\" \\\n--user 'username':'password'\n```\n\nReturn result:\n\n```\n{ \n  \"result\": [ \n    { \n      \"changeset_id\": { \n        \"value\": \"d403648653b70110a1d3ddeeff7b12c5\", \n        \"link\": \"http://instance.servicenow.com/api/now/table/sn_cdm_changeset/d403648653b70110a1d3ddeeff7b12c5\" \n      }, \n      \"node_path\": \"!$!+!,![:\", \n      \"description\": null, \n      \"sys_updated_on\": \"2022-06-30 09:24:07\", \n      \"type\": \"sn_cdm_node_cdi\", \n      \"sys_class_name\": \"sn_cdm_node\", \n      \"sys_id\": \"c93c7c1753981110a1d3ddeeff7b12c7\", \n      \"sys_updated_by\": \"admin\", \n      \"previous_version\": null, \n      \"sys_created_on\": \"2022-06-30 08:53:13\", \n      \"value\": \"cdcdc\", \n      \"effective_from\": null, \n      \"linked_to\": null, \n      \"sys_created_by\": \"admin\", \n      \"restricted_to\": null, \n      \"level\": \"3\", \n      \"conflict_type\": null, \n      \"main_id\": \"2869\", \n      \"effective_to\": null, \n      \"secure_value\": null, \n      \"node_classifier\": \"/application/deployables/env:Development\", \n      \"main_id_encoded\": \"[:\", \n      \"name\": \"cdi45\", \n      \"position\": null, \n      \"reason_for_conflict\": null, \n      \"system_folder\": false, \n      \"status\": \"new\", \n      \"conflict\": false \n    } \n  ] \n}\n```\n\n## CdmEditorApi - POST /sn\\_cdm/editor/includes\n\nIncludes an existing node into another node, such as a component node into a collection node or a collection node into a deployable node. After including a node, the new node has its own unique sys\\_id and main\\_Id.\n\nThe caller of this endpoint must have the CDM Editor role.\n\n### URL format\n\nVersioned URL: `/api/sn_cdm/{api_version}/editor/includes`\n\nDefault URL: `/api/sn_cdm/editor/includes`\n\n**Note:** Available versions are specified in the [REST API Explorer](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/use-REST-API-Explorer.md). For scripted REST APIs there is additional version information on the [Scripted REST Service form](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_CustomWebServices.md).\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String\n\n</td></tr></tbody>\n</table><table class=\"rest_api_query_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nchangesetNumber\n\n</td><td>\n\nRequired. Unique number of the open changeset to include in the target node.Data type: String\n\nTable: CDM Changeset \\[sn\\_cdm\\_changeset\\]\n\n</td></tr><tr><td>\n\nreturnFields\n\n</td><td id=\"cdm_apps-returnFields-entry\">\n\nList of fields to return as part of the response. Pass the record column names such as sys\\_id, sys\\_updated\\_by, or state.Data type: Array\n\nDefault: All fields as determined by the endpoint\n\n</td></tr><tr><td>\n\nsourceFullNamePath\n\n</td><td>\n\nRequired. Path name of the node to include in the target node.You can pass the name path in any of the following formats. For example, to include the following node `Staging/deployables/Development1/cdi1`:\n\n-   Backslash format: `Staging/deployables/Development1/cdi1`\n\n**Note:** If your node name contains a backslash \\(\"/\"\\), you can't use this format.\n\n-   Backend name path with replacement characters: `Staging�deployables�​Development1​�​cdi1`\n-   Array: `['Staging','deployables','Development1','cdi1']`\n\nData type: String\n\n</td></tr><tr><td>\n\ntargetFullNamePath\n\n</td><td>\n\nRequired. Path name of the node under which the source node is to be included. You can pass the name path in any of the following formats. For example, to include the following node `Production/deployables/Development1`:\n\n-   Backslash format: `Production/deployables/Development1/cdi1`\n\n**Note:** If your node name contains a backslash \\(\"/\"\\), you can't use this format.\n\n-   Backend name path with replacement characters: `Production�deployables�​Development1​�​cdi1`\n-   Array: `['Production','deployables','Development1','cdi1']`\n\nData type: String\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n|Content-Type|Data format of the request body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters\n\n<table id=\"id_cvv_pxl_c5b\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nchangeset\\_id\n\n</td><td>\n\nUnique identifier of the associated changeset, such as \"Chset-10\".\n\nData type: String\n\nTable: CDM Changeset \\[sn\\_cdm\\_changeset\\]\n\n</td></tr><tr><td>\n\nconflict\n\n</td><td id=\"conflict-node-editor-entry\">\n\nFlag that indicates whether there was a conflict when processing the node.Possible values:\n\n-   true: Conflict detected.\n-   false: No conflict was detected.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nconflict\\_type\n\n</td><td id=\"conflict_type-node-editor-entry\">\n\nIf the **conflict** parameter is true, the type of conflict detected. Null if no conflict is detected.Possible values:\n\n-   corrupted\\_node\n-   deleted\\_node\n-   duplicated\\_node\n-   incomplete\\_deleted\\_parent\n-   incomplete\\_deleted\\_ref\n-   incomplete\\_renamed\\_ref\n-   invalid\\_include\n-   orphaned\\_descendant\n-   related\\_conflict\n-   unlinked\\_include\n-   unrenamed\\_include\n-   updated\\_node\n\nData type: String\n\n</td></tr><tr><td>\n\ndescription\n\n</td><td id=\"description-node-editor-entry\">\n\nShort description of the purpose of the node.Data type: String\n\n</td></tr><tr><td>\n\neffective\\_from\n\n</td><td id=\"effective_from-node-editor-entry\">\n\nTimestamp \\(converted to a long integer\\) when the node was committed as part of the changeset. If the node hasn't been committed, this value is \"null\".Data type: Number \\(Integer\\)\n\n</td></tr><tr><td>\n\neffective\\_to\n\n</td><td id=\"effective_to-node-editor-entry\">\n\nTimestamp \\(converted to a long integer\\) of the node when it was either deleted or superseded by another node, otherwise \"null\".Data type: Number \\(Integer\\)\n\n</td></tr><tr><td>\n\nerror\n\n</td><td>\n\nIf an error occurred during processing, the details about the error.Data type: Object\n\n```\n\"error\": {\n  \"detail\": \"String\",\n  \"message\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nerror.detail\n\n</td><td>\n\nAdditional information about the error.Data type: String\n\n</td></tr><tr><td>\n\nerror.message\n\n</td><td>\n\nError message that was generated while trying to process the request.Data type: String\n\n</td></tr><tr><td>\n\nlevel\n\n</td><td id=\"level-node-editor-entry\">\n\nLevel of the node, starting from the root node, which is always 0. For example, the node `/AppA/components/compA` has two levels.Data type: String\n\n</td></tr><tr><td>\n\nlinked\\_to\n\n</td><td id=\"linked_to-node-editor-entry\">\n\nThe **main\\_id** parameter of the referenced node to which this node is linked.If this node isn't linked to a reference node, the value is \"null\".\n\nData type: String\n\n</td></tr><tr><td>\n\nmain\\_id\n\n</td><td id=\"main_id-node-editor-entry\">\n\nPrimary identifier for the node. You can use this value in the CdmQuery\\(\\) script include to retrieve a JSON tree. For example: `CdmQuery().mainId(‘123’)/query().getTree();` Data type: String\n\n</td></tr><tr><td>\n\nmain\\_id\\_encoded\n\n</td><td id=\"main_id_encoded-node-editor-entry\">\n\nRADIX 57 string representation of the node's **main\\_id** parameter.Data type: String\n\n</td></tr><tr><td>\n\nname\n\n</td><td>\n\nName of the node that was included under the target path.Data type: String\n\n</td></tr><tr><td>\n\nnode\\_classifier\n\n</td><td id=\"node_classifier-node-editor-entry\">\n\nClassifier hierarchy of the node. Use this information to locate a node within the folder hierarchy.For example, a deployable would have a hierarchy of `/application/deployables/env:Development`\n\nWhile a collection would have a hierarchy of `/applications/collections`\n\nData type: String\n\n</td></tr><tr><td>\n\nnode\\_path\n\n</td><td>\n\nFull path name of the node that was included in the target path, such as `/Production/deployables/Development1/cdi1`. Data type: String\n\n</td></tr><tr><td>\n\nposition\n\n</td><td>\n\nNode position.For example: If you upload the following array:\n\n```\narrayNode1: [\n  \"literal1\", \n  {\"cdi1\": 1},\n  \"literal3\"\n]\n```\n\nThe position values are set as follows:\n\n-   arrayNode1.literal1 = 1000\n-   arrayNode1.2000 = 2000\n-   arrayNode1.literal3 = 3000\n\nIf a complex object is uploaded under an array, in this case `{\"cdi1\": 1}`, the endpoint creates a new virtual node with the name equal to its position. In the example above, this is 2000. For includes, the position is always empty.\n\nData type: String\n\n</td></tr><tr><td>\n\nprevious\\_version\n\n</td><td id=\"previous_version-node-editor-entry\">\n\nDetails of the previous version of the node record. **Note:** If a new node was created, the endpoint returns `\"previous_version\" = null` for this parameter.\n\nData type: Object\n\n```\n\"previous_version\": {\n  \"link\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nrestricted\\_to\n\n</td><td id=\"restricted_to-node-editor-entry\">\n\nDetails of the group that has access the associated the node. Data type: Object\n\n```\n\"restricted_to\": {\n  \"link\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nsecure\\_value\n\n</td><td>\n\nIf this value was flagged to be secured, the encrypted field \\(returned masked\\).A user must have the sn\\_cdm.cdm\\_secrets role to decrypt this information. You can direct the endpoint not to return these fields by setting the **returnFields** query parameter field.\n\nData type: String\n\n</td></tr><tr><td>\n\nstatus\n\n</td><td>\n\nNode status.Possible values:\n\n-   DELETED\n-   NEW\n-   SUPERSEDED\n-   UPDATED\n-   VALID\n\nData type: String\n\n</td></tr><tr><td>\n\nsys\\_id\n\n</td><td>\n\nSys\\_id of the node.Data type: String\n\nTable: CDM Node \\[sn\\_cdm\\_node\\]\n\n</td></tr><tr><td>\n\nsystem\\_folder\n\n</td><td id=\"system_folder-node-editor-entry\">\n\nFlag that indicates whether the associated node is a system folder.Possible values:\n\n-   true: Node is a system folder.\n-   false: Node isn't a system folder.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\ntype\n\n</td><td>\n\nNode type.\n\nPossible values:\n\n-   sn\\_cdm\\_node\\_cdi\n-   sn\\_cdm\\_node\\_collection\n-   sn\\_cdm\\_node\\_component\n-   sn\\_cdm\\_node\\_folder\n-   sn\\_cdm\\_node\\_variable\n\nData type: String\n\n</td></tr><tr><td>\n\nvalue\n\n</td><td>\n\nNode value.Data type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following code example shows how to include the node `/testApp/collections/collA` under `/testApp/deployables/Development_1`.\n\n```\ncurl \"http://instance.servicenow.com/api/sn_cdm/editor/includes?changesetNumber=Chset5&targetFullNamePath=%2FtestApp%2Fdeployables%2FDevelopment_1&sourceFullNamePath=%2FtestApp%2Fcollecti\nons%2FcollA\" \\\n--request POST \\\n--header \"Accept:application/json\" \\\n--user 'username':'password'\n```\n\nReturn result:\n\n```\n{ \n  \"result\": { \n    \"changeset_id\": { \n      \"value\": \"d403648653b70110a1d3ddeeff7b12c5\", \n      \"link\": \"http://192.168.0.233:8080/api/now/table/sn_cdm_changeset/d403648653b70110a1d3ddeeff7b12c5\" \n    }, \n    \"node_path\": \"!$!+!,![?\", \n    \"description\": null, \n    \"sys_updated_on\": \"2022-06-30 09:19:47\", \n    \"type\": \"sn_cdm_node_linked\", \n    \"sys_class_name\": \"sn_cdm_node\", \n    \"sys_id\": \"1642015b53981110a1d3ddeeff7b1232\", \n    \"sys_updated_by\": \"admin\", \n    \"previous_version\": null, \n    \"sys_created_on\": \"2022-06-30 09:19:47\", \n    \"value\": null, \n    \"effective_from\": null, \n    \"linked_to\": \"2870\", \n    \"sys_created_by\": \"admin\", \n    \"restricted_to\": null, \n    \"level\": \"3\", \n    \"conflict_type\": null, \n    \"main_id\": \"2872\", \n    \"effective_to\": null, \n    \"secure_value\": null, \n    \"node_classifier\": \"/application/deployables/env:Development\", \n    \"main_id_encoded\": \"[?\", \n    \"name\": \"collA\", \n    \"position\": null, \n    \"reason_for_conflict\": null, \n    \"system_folder\": false, \n    \"status\": \"new\", \n    \"conflict\": false \n  } \n}\n```\n\n## CdmEditorApi - POST /sn\\_cdm/editor/nodes\n\nCreates a specific type of node, such as component, collection, folder, configuration data item \\(CDI\\), or variable.\n\nYou can also specify whether to automatically generate any parent nodes that are not currently defined.\n\nThe caller of this endpoint must have either the CDM Editor or CDM Secret role.\n\n### URL format\n\nVersioned URL: `/api/sn_cdm/{api_version}/editor/nodes`\n\nDefault URL: `/api/sn_cdm/editor/nodes`\n\n**Note:** Available versions are specified in the [REST API Explorer](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/use-REST-API-Explorer.md). For scripted REST APIs there is additional version information on the [Scripted REST Service form](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_CustomWebServices.md).\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String\n\n</td></tr></tbody>\n</table><table class=\"rest_api_query_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nautoCreateParents\n\n</td><td>\n\nFlag that indicates whether to automatically create the non-existent parents in the name path as components. Exceptions to this are the app, deployable, and collection. If you do not set this flag and the parents do not already exist, the endpoint fails.Valid values:\n\n-   true: Automatically create the non-existent parents.\n-   false: Don't automatically create the non-existent parents.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nchangesetNumber\n\n</td><td id=\"changesetNumber-changeset-entry\">\n\nRequired. Unique identifier of the associated changeset, such as \"Chset-10\".\n\nData type: String\n\nTable: CDM Changeset \\[sn\\_cdm\\_changeset\\]\n\n</td></tr><tr><td>\n\nfullNamePath\n\n</td><td id=\"fullNamePath-node-editor-entry\">\n\nRequired. Path name of the node. You can pass the name path in any of the following formats. For example, to define the name path for the node `testApp/deployables/Development1/cdi1`:\n\n-   Backslash format: `testApp/deployables/Development1/cdi1`\n\n**Note:** If your node name contains a backslash \\(\"/\"\\), you can’t use this format.\n\n-   Backend name path with replacement characters: `testApp�deployables�​Development1​�​cdi1`\n-   Array: `['testApp','deployables','Development1','cdi1']`\n\nData type: String\n\n</td></tr><tr><td>\n\nreturnFields\n\n</td><td id=\"cdm_apps-returnFields-entry\">\n\nList of fields to return as part of the response. Pass the record column names such as sys\\_id, sys\\_updated\\_by, or state.Data type: Array\n\nDefault: All fields as determined by the endpoint\n\n</td></tr><tr><td>\n\nsecure\n\n</td><td id=\"secure-node-editor-entry\">\n\nFlag that indicates whether the value should be encrypted for the leaf nodes.Valid values:\n\n-   true: Encrypted\n-   false: Not encrypted\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\ntype\n\n</td><td>\n\nRequired. Type of new node.Valid values:\n\n-   sn\\_cdm\\_node\\_collection OR collection\n-   sn\\_cdm\\_node\\_component OR component\n-   sn\\_cdm\\_node\\_folder OR folder\n-   sn\\_cdm\\_node\\_cdi OR cdi\n-   sn\\_cdm\\_node\\_variable or variable\n\nData type: String\n\n</td></tr><tr><td>\n\nvalue\n\n</td><td>\n\nValue of the new node.Data type: String\n\n Default: Equivalent of \"null\"\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n|Content-Type|Data format of the request body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters\n\n<table id=\"id_nwg_5jl_c5b\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr id=\"changeset-node-editor-row\"><td>\n\nchangeset\\_id\n\n</td><td id=\"changeset-node-editor-entry\">\n\nDetails of the changeset record associated with the node. Data type: Object\n\n```\n\"changeset_id\": {\n  \"link\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr id=\"changeset_link-node-editor-row\"><td>\n\nchangeset\\_id.link\n\n</td><td id=\"changeset_link-node-editor-entry\">\n\nCall syntax for querying this changeset record using the Table REST API.Data type: String\n\n</td></tr><tr id=\"changeset_value-node-editor-row\"><td>\n\nchangeset\\_id.value\n\n</td><td id=\"changeset_value-node-editor-entry\">\n\nUnique identifier of the changeset record.Data type: String\n\nTable: CDM Changeset \\[sn\\_cdm\\_changeset\\]\n\n</td></tr><tr id=\"conflict-node-editor-row\"><td>\n\nconflict\n\n</td><td id=\"conflict-node-editor-entry\">\n\nFlag that indicates whether there was a conflict when processing the node.Possible values:\n\n-   true: Conflict detected.\n-   false: No conflict was detected.\n\nData type: Boolean\n\n</td></tr><tr id=\"conflict_type-node-editor-row\"><td>\n\nconflict\\_type\n\n</td><td id=\"conflict_type-node-editor-entry\">\n\nIf the **conflict** parameter is true, the type of conflict detected. Null if no conflict is detected.Possible values:\n\n-   corrupted\\_node\n-   deleted\\_node\n-   duplicated\\_node\n-   incomplete\\_deleted\\_parent\n-   incomplete\\_deleted\\_ref\n-   incomplete\\_renamed\\_ref\n-   invalid\\_include\n-   orphaned\\_descendant\n-   related\\_conflict\n-   unlinked\\_include\n-   unrenamed\\_include\n-   updated\\_node\n\nData type: String\n\n</td></tr><tr id=\"description-node-editor-row\"><td>\n\ndescription\n\n</td><td id=\"description-node-editor-entry\">\n\nShort description of the purpose of the node.Data type: String\n\n</td></tr><tr id=\"effective_from-node-editor-row\"><td>\n\neffective\\_from\n\n</td><td id=\"effective_from-node-editor-entry\">\n\nTimestamp \\(converted to a long integer\\) when the node was committed as part of the changeset. If the node hasn't been committed, this value is \"null\".Data type: Number \\(Integer\\)\n\n</td></tr><tr id=\"effective_to-node-editor-row\"><td>\n\neffective\\_to\n\n</td><td id=\"effective_to-node-editor-entry\">\n\nTimestamp \\(converted to a long integer\\) of the node when it was either deleted or superseded by another node, otherwise \"null\".Data type: Number \\(Integer\\)\n\n</td></tr><tr><td>\n\nerror\n\n</td><td>\n\nIf an error occurred during processing, the details about the error.Data type: Object\n\n```\n\"error\": {\n  \"detail\": \"String\",\n  \"message\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nerror.detail\n\n</td><td>\n\nAdditional information about the error.Data type: String\n\n</td></tr><tr><td>\n\nerror.message\n\n</td><td>\n\nError message that was generated while trying to process the request.Data type: String\n\n</td></tr><tr id=\"level-node-editor-row\"><td>\n\nlevel\n\n</td><td id=\"level-node-editor-entry\">\n\nLevel of the node, starting from the root node, which is always 0. For example, the node `/AppA/components/compA` has two levels.Data type: String\n\n</td></tr><tr id=\"linked_to-node-editor-row\"><td>\n\nlinked\\_to\n\n</td><td id=\"linked_to-node-editor-entry\">\n\nThe **main\\_id** parameter of the referenced node to which this node is linked.If this node isn't linked to a reference node, the value is \"null\".\n\nData type: String\n\n</td></tr><tr id=\"main_id-node-editor-row\"><td>\n\nmain\\_id\n\n</td><td id=\"main_id-node-editor-entry\">\n\nPrimary identifier for the node. You can use this value in the CdmQuery\\(\\) script include to retrieve a JSON tree. For example: `CdmQuery().mainId(‘123’)/query().getTree();` Data type: String\n\n</td></tr><tr id=\"main_id_encoded-node-editor-row\"><td>\n\nmain\\_id\\_encoded\n\n</td><td id=\"main_id_encoded-node-editor-entry\">\n\nRADIX 57 string representation of the node's **main\\_id** parameter.Data type: String\n\n</td></tr><tr id=\"name-node-editor-row\"><td>\n\nname\n\n</td><td id=\"name-node-editor-entry\">\n\nName of the node.Data type: String\n\n</td></tr><tr id=\"node_classifier-node-editor-row\"><td>\n\nnode\\_classifier\n\n</td><td id=\"node_classifier-node-editor-entry\">\n\nClassifier hierarchy of the node. Use this information to locate a node within the folder hierarchy.For example, a deployable would have a hierarchy of `/application/deployables/env:Development`\n\nWhile a collection would have a hierarchy of `/applications/collections`\n\nData type: String\n\n</td></tr><tr id=\"name_path-node-editor-row\"><td>\n\nnode\\_path\n\n</td><td id=\"name_path-node-editor-entry\">\n\nFull node path name. Data type: String\n\n</td></tr><tr id=\"position-node-editor-row\"><td>\n\nposition\n\n</td><td id=\"position-node-editor-entry\">\n\nNode position.For example: If you upload the following array:\n\n```\narrayNode1: [\n  \"literal1\", \n  {\"cdi1\": 1},\n  \"literal3\"\n]\n```\n\nThe position values are set as follows:\n\n-   arrayNode1.literal1 = 1000\n-   arrayNode1.2000 = 2000\n-   arrayNode1.literal3 = 3000\n\nIf a complex object is uploaded under an array, in this case `{\"cdi1\": 1}`, the endpoint creates a new virtual node with the name equal to its position. In the example above, this is 2000. For includes, the position is always empty.\n\nData type: String\n\n</td></tr><tr id=\"previous_version-node-editor-row\"><td>\n\nprevious\\_version\n\n</td><td id=\"previous_version-node-editor-entry\">\n\nDetails of the previous version of the node record. **Note:** If a new node was created, the endpoint returns `\"previous_version\" = null` for this parameter.\n\nData type: Object\n\n```\n\"previous_version\": {\n  \"link\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr id=\"previous_version_link-node-editor-row\"><td>\n\nprevious\\_version.link\n\n</td><td id=\"previous_version_link-node-editor-entry\">\n\nCall syntax for querying this node record using the Table REST API.Data type: String\n\n</td></tr><tr id=\"previous_version_value-node-editor-row\"><td>\n\nprevious\\_version.value\n\n</td><td id=\"previous_version_value-node-editor-entry\">\n\nSys\\_id of the node record.Data type: String\n\nTable: CDM Node \\[sn\\_cdm\\_node\\]\n\n</td></tr><tr><td>\n\nreason\\_for\\_conflict\n\n</td><td>\n\nDetailed explanation of the conflict.Data type: String\n\n</td></tr><tr id=\"restricted_to-node-editor-row\"><td>\n\nrestricted\\_to\n\n</td><td id=\"restricted_to-node-editor-entry\">\n\nDetails of the group that has access the associated the node. Data type: Object\n\n```\n\"restricted_to\": {\n  \"link\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr id=\"restricted_to_link-node-editor-row\"><td>\n\nrestricted\\_to.link\n\n</td><td id=\"restricted_to_link-node-editor-entry\">\n\nCall syntax for querying this group record using the Table REST API.Data type: String\n\n</td></tr><tr id=\"restricted_to_value-node-editor-row\"><td>\n\nrestricted\\_to.value\n\n</td><td id=\"restricted_to_value-node-editor-entry\">\n\nSys\\_id of the group record.Data type: String\n\nTable: CDM Group \\[sys\\_user\\_group\\]\n\n</td></tr><tr id=\"secure_value-node-editor-row\"><td>\n\nsecure\\_value\n\n</td><td id=\"secure_value-node-editor-entry\">\n\nIf this value was flagged to be secured, the encrypted field \\(returned masked\\).A user must have the sn\\_cdm.cdm\\_secrets role to decrypt this information. You can direct the endpoint not to return these fields by setting the **returnFields** query parameter field.\n\nData type: String\n\n</td></tr><tr id=\"status-node-editor-row\"><td>\n\nstatus\n\n</td><td id=\"status-node-editor-entry\">\n\nNode status.Possible values:\n\n-   DELETED\n-   NEW\n-   SUPERSEDED\n-   UPDATED\n-   VALID\n\nData type: String\n\n</td></tr><tr id=\"system_folder-node-editor-row\"><td>\n\nsystem\\_folder\n\n</td><td id=\"system_folder-node-editor-entry\">\n\nFlag that indicates whether the associated node is a system folder.Possible values:\n\n-   true: Node is a system folder.\n-   false: Node isn't a system folder.\n\nData type: Boolean\n\n</td></tr><tr id=\"sys_class_name-node-editor-row\"><td>\n\nsys\\_class\\_name\n\n</td><td id=\"sys_class_name-node-editor-entry\">\n\nTable in which the node resides.Data type: String\n\n</td></tr><tr id=\"sys_created_by-node-editor-row\"><td>\n\nsys\\_created\\_by\n\n</td><td id=\"sys_created_by-node-editor-entry\">\n\nName of the user that created the node.Data type: String\n\n</td></tr><tr id=\"sys_created_on-node-editor-row\"><td>\n\nsys\\_created\\_on\n\n</td><td id=\"sys_created_on-node-editor-entry\">\n\nDate and time when the node was created.Data type: String\n\nFormat: yyyy-mm-dd hh:mm:ss\n\n</td></tr><tr id=\"sys_id-node-editor-row\"><td>\n\nsys\\_id\n\n</td><td id=\"sys_id-node-editor-entry\">\n\nSys\\_id of the node.Data type: String\n\nTable: CDM Node \\[sn\\_cdm\\_node\\]\n\n</td></tr><tr id=\"sys_updated_by-node-editor-row\"><td>\n\nsys\\_updated\\_by\n\n</td><td id=\"sys_updated_by-node-editor-entry\">\n\nName of the user that updated the node.Data type: String\n\n</td></tr><tr id=\"sys_updated_on-node-editor-row\"><td>\n\nsys\\_updated\\_on\n\n</td><td id=\"sys_updated_on-node-editor-entry\">\n\nDate and time when the node was last updated.Data type: String\n\nFormat: yyyy-mm-dd hh:mm:ss\n\n</td></tr><tr id=\"type-node-editor-row\"><td>\n\ntype\n\n</td><td id=\"type-node-editor-entry\">\n\nNode type.\n\nPossible values:\n\n-   sn\\_cdm\\_node\\_cdi\n-   sn\\_cdm\\_node\\_collection\n-   sn\\_cdm\\_node\\_component\n-   sn\\_cdm\\_node\\_folder\n-   sn\\_cdm\\_node\\_variable\n\nData type: String\n\n Default: All\n\n</td></tr><tr id=\"value-node-editor-row\"><td>\n\nvalue\n\n</td><td id=\"value-node-editor-entry\">\n\nNode value.Data type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following code example shows how to create a node using this endpoint.\n\n```\ncurl \"http://instance.servicenow.com/api/sn_cdm/editor/nodes?fullNamePath=%2FtestApp%2Fdeployables%2FDevelopment1%2Fcdi1&secure=true&value=someVal&type=cdi&changesetNumber=Chset-760\" \\\n--request POST \\\n--header \"Accept:application/json\" \\\n--user 'username':'password'\n```\n\nReturn result:\n\n```\n{ \n  \"result\": { \n    \"changeset_id\": { \n      \"value\": \"d403648653b70110a1d3ddeeff7b12c5\", \n      \"link\": \"http://instance.servicenow.com/api/now/table/sn_cdm_changeset/d403648653b70110a1d3ddeeff7b12c5\" \n    }, \n    \"node_path\": \"!$!+!,![:\", \n    \"description\": null, \n    \"sys_updated_on\": \"2022-06-30 08:53:13\", \n    \"type\": \"sn_cdm_node_cdi\", \n    \"sys_class_name\": \"sn_cdm_node\", \n    \"sys_id\": \"c93c7c1753981110a1d3ddeeff7b12c7\", \n    \"sys_updated_by\": \"admin\", \n    \"previous_version\": null, \n    \"sys_created_on\": \"2022-06-30 08:53:13\", \n    \"value\": null, \n    \"effective_from\": null, \n    \"linked_to\": null, \n    \"sys_created_by\": \"admin\", \n    \"restricted_to\": null, \n    \"level\": \"3\", \n    \"conflict_type\": null, \n    \"main_id\": \"2869\", \n    \"effective_to\": null, \n    \"secure_value\": \"﷞﷟﷒113a0c6e53001110a1d3ddeeff7b121d﷬﷔1﷬﷭bAUA1wj-fxofbSrMyF-BAg==6qiho5f_9DhnuHT2Km5SLf0Ck4XNX_w=﷮﷯\", \n    \"node_classifier\": \"/application/deployables/env:Development\", \n    \"main_id_encoded\": \"[:\", \n    \"name\": \"cdi45\", \n    \"position\": null, \n    \"reason_for_conflict\": null, \n    \"system_folder\": false, \n    \"status\": \"new\", \n    \"conflict\": false \n  } \n}\n```\n\n## CdmEditorApi - PUT /sn\\_cdm/editor/nodes\n\nUpdates the name and/or value of a specified node.\n\nThe caller of this endpoint must have either the CDM Editor or CDM Secret role.\n\n### URL format\n\nVersioned URL: `/api/sn_cdm/{api_version}/editor/nodes`\n\nDefault URL: `/api/sn_cdm/editor/nodes`\n\n**Note:** Available versions are specified in the [REST API Explorer](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/use-REST-API-Explorer.md). For scripted REST APIs there is additional version information on the [Scripted REST Service form](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_CustomWebServices.md).\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String\n\n</td></tr></tbody>\n</table><table class=\"rest_api_query_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nchangesetNumber\n\n</td><td id=\"changesetNumber-changeset-entry\">\n\nRequired. Unique identifier of the associated changeset, such as \"Chset-10\".\n\nData type: String\n\nTable: CDM Changeset \\[sn\\_cdm\\_changeset\\]\n\n</td></tr><tr><td>\n\nfullNamePath\n\n</td><td id=\"fullNamePath-node-editor-entry\">\n\nRequired. Path name of the node. You can pass the name path in any of the following formats. For example, to define the name path for the node `testApp/deployables/Development1/cdi1`:\n\n-   Backslash format: `testApp/deployables/Development1/cdi1`\n\n**Note:** If your node name contains a backslash \\(\"/\"\\), you can’t use this format.\n\n-   Backend name path with replacement characters: `testApp�deployables�​Development1​�​cdi1`\n-   Array: `['testApp','deployables','Development1','cdi1']`\n\nData type: String\n\n</td></tr><tr><td>\n\nnewName\n\n</td><td>\n\nNew name for the associated node.Data type: String\n\n</td></tr><tr><td>\n\nnewValue\n\n</td><td>\n\nNew value for the associated node.Data type: String\n\n</td></tr><tr><td>\n\nsecure\n\n</td><td id=\"secure-node-editor-entry\">\n\nFlag that indicates whether the value should be encrypted for the leaf nodes.Valid values:\n\n-   true: Encrypted\n-   false: Not encrypted\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nreturnFields\n\n</td><td id=\"cdm_apps-returnFields-entry\">\n\nList of fields to return as part of the response. Pass the record column names such as sys\\_id, sys\\_updated\\_by, or state.Data type: Array\n\nDefault: All fields as determined by the endpoint\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Only supports **application/json**.|\n|Content-Type|Data format of the request body. Only supports **application/json**.|\n\n|Header|Description|\n|------|-----------|\n|None| |\n\n### Status codes\n\nThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. A bad request type or malformed request was detected.|\n|500|Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error.|\n\n### Response body parameters\n\n<table id=\"id_nwg_5jl_c5b\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr id=\"changeset-node-editor-row\"><td>\n\nchangeset\\_id\n\n</td><td id=\"changeset-node-editor-entry\">\n\nDetails of the changeset record associated with the node. Data type: Object\n\n```\n\"changeset_id\": {\n  \"link\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr id=\"changeset_link-node-editor-row\"><td>\n\nchangeset\\_id.link\n\n</td><td id=\"changeset_link-node-editor-entry\">\n\nCall syntax for querying this changeset record using the Table REST API.Data type: String\n\n</td></tr><tr id=\"changeset_value-node-editor-row\"><td>\n\nchangeset\\_id.value\n\n</td><td id=\"changeset_value-node-editor-entry\">\n\nUnique identifier of the changeset record.Data type: String\n\nTable: CDM Changeset \\[sn\\_cdm\\_changeset\\]\n\n</td></tr><tr id=\"conflict-node-editor-row\"><td>\n\nconflict\n\n</td><td id=\"conflict-node-editor-entry\">\n\nFlag that indicates whether there was a conflict when processing the node.Possible values:\n\n-   true: Conflict detected.\n-   false: No conflict was detected.\n\nData type: Boolean\n\n</td></tr><tr id=\"conflict_type-node-editor-row\"><td>\n\nconflict\\_type\n\n</td><td id=\"conflict_type-node-editor-entry\">\n\nIf the **conflict** parameter is true, the type of conflict detected. Null if no conflict is detected.Possible values:\n\n-   corrupted\\_node\n-   deleted\\_node\n-   duplicated\\_node\n-   incomplete\\_deleted\\_parent\n-   incomplete\\_deleted\\_ref\n-   incomplete\\_renamed\\_ref\n-   invalid\\_include\n-   orphaned\\_descendant\n-   related\\_conflict\n-   unlinked\\_include\n-   unrenamed\\_include\n-   updated\\_node\n\nData type: String\n\n</td></tr><tr id=\"description-node-editor-row\"><td>\n\ndescription\n\n</td><td id=\"description-node-editor-entry\">\n\nShort description of the purpose of the node.Data type: String\n\n</td></tr><tr id=\"effective_from-node-editor-row\"><td>\n\neffective\\_from\n\n</td><td id=\"effective_from-node-editor-entry\">\n\nTimestamp \\(converted to a long integer\\) when the node was committed as part of the changeset. If the node hasn't been committed, this value is \"null\".Data type: Number \\(Integer\\)\n\n</td></tr><tr id=\"effective_to-node-editor-row\"><td>\n\neffective\\_to\n\n</td><td id=\"effective_to-node-editor-entry\">\n\nTimestamp \\(converted to a long integer\\) of the node when it was either deleted or superseded by another node, otherwise \"null\".Data type: Number \\(Integer\\)\n\n</td></tr><tr><td>\n\nerror\n\n</td><td>\n\nIf an error occurred during processing, the details about the error.Data type: Object\n\n```\n\"error\": {\n  \"detail\": \"String\",\n  \"message\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nerror.detail\n\n</td><td>\n\nAdditional information about the error.Data type: String\n\n</td></tr><tr><td>\n\nerror.message\n\n</td><td>\n\nError message that was generated while trying to process the request.Data type: String\n\n</td></tr><tr id=\"level-node-editor-row\"><td>\n\nlevel\n\n</td><td id=\"level-node-editor-entry\">\n\nLevel of the node, starting from the root node, which is always 0. For example, the node `/AppA/components/compA` has two levels.Data type: String\n\n</td></tr><tr id=\"linked_to-node-editor-row\"><td>\n\nlinked\\_to\n\n</td><td id=\"linked_to-node-editor-entry\">\n\nThe **main\\_id** parameter of the referenced node to which this node is linked.If this node isn't linked to a reference node, the value is \"null\".\n\nData type: String\n\n</td></tr><tr id=\"main_id-node-editor-row\"><td>\n\nmain\\_id\n\n</td><td id=\"main_id-node-editor-entry\">\n\nPrimary identifier for the node. You can use this value in the CdmQuery\\(\\) script include to retrieve a JSON tree. For example: `CdmQuery().mainId(‘123’)/query().getTree();` Data type: String\n\n</td></tr><tr id=\"main_id_encoded-node-editor-row\"><td>\n\nmain\\_id\\_encoded\n\n</td><td id=\"main_id_encoded-node-editor-entry\">\n\nRADIX 57 string representation of the node's **main\\_id** parameter.Data type: String\n\n</td></tr><tr id=\"name-node-editor-row\"><td>\n\nname\n\n</td><td id=\"name-node-editor-entry\">\n\nName of the node.Data type: String\n\n</td></tr><tr id=\"node_classifier-node-editor-row\"><td>\n\nnode\\_classifier\n\n</td><td id=\"node_classifier-node-editor-entry\">\n\nClassifier hierarchy of the node. Use this information to locate a node within the folder hierarchy.For example, a deployable would have a hierarchy of `/application/deployables/env:Development`\n\nWhile a collection would have a hierarchy of `/applications/collections`\n\nData type: String\n\n</td></tr><tr id=\"name_path-node-editor-row\"><td>\n\nnode\\_path\n\n</td><td id=\"name_path-node-editor-entry\">\n\nFull node path name. Data type: String\n\n</td></tr><tr id=\"position-node-editor-row\"><td>\n\nposition\n\n</td><td id=\"position-node-editor-entry\">\n\nNode position.For example: If you upload the following array:\n\n```\narrayNode1: [\n  \"literal1\", \n  {\"cdi1\": 1},\n  \"literal3\"\n]\n```\n\nThe position values are set as follows:\n\n-   arrayNode1.literal1 = 1000\n-   arrayNode1.2000 = 2000\n-   arrayNode1.literal3 = 3000\n\nIf a complex object is uploaded under an array, in this case `{\"cdi1\": 1}`, the endpoint creates a new virtual node with the name equal to its position. In the example above, this is 2000. For includes, the position is always empty.\n\nData type: String\n\n</td></tr><tr id=\"previous_version-node-editor-row\"><td>\n\nprevious\\_version\n\n</td><td id=\"previous_version-node-editor-entry\">\n\nDetails of the previous version of the node record. **Note:** If a new node was created, the endpoint returns `\"previous_version\" = null` for this parameter.\n\nData type: Object\n\n```\n\"previous_version\": {\n  \"link\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr id=\"previous_version_link-node-editor-row\"><td>\n\nprevious\\_version.link\n\n</td><td id=\"previous_version_link-node-editor-entry\">\n\nCall syntax for querying this node record using the Table REST API.Data type: String\n\n</td></tr><tr id=\"previous_version_value-node-editor-row\"><td>\n\nprevious\\_version.value\n\n</td><td id=\"previous_version_value-node-editor-entry\">\n\nSys\\_id of the node record.Data type: String\n\nTable: CDM Node \\[sn\\_cdm\\_node\\]\n\n</td></tr><tr><td>\n\nreason\\_for\\_conflict\n\n</td><td>\n\nDetailed explanation of the conflict.Data type: String\n\n</td></tr><tr id=\"restricted_to-node-editor-row\"><td>\n\nrestricted\\_to\n\n</td><td id=\"restricted_to-node-editor-entry\">\n\nDetails of the group that has access the associated the node. Data type: Object\n\n```\n\"restricted_to\": {\n  \"link\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr id=\"restricted_to_link-node-editor-row\"><td>\n\nrestricted\\_to.link\n\n</td><td id=\"restricted_to_link-node-editor-entry\">\n\nCall syntax for querying this group record using the Table REST API.Data type: String\n\n</td></tr><tr id=\"restricted_to_value-node-editor-row\"><td>\n\nrestricted\\_to.value\n\n</td><td id=\"restricted_to_value-node-editor-entry\">\n\nSys\\_id of the group record.Data type: String\n\nTable: CDM Group \\[sys\\_user\\_group\\]\n\n</td></tr><tr id=\"secure_value-node-editor-row\"><td>\n\nsecure\\_value\n\n</td><td id=\"secure_value-node-editor-entry\">\n\nIf this value was flagged to be secured, the encrypted field \\(returned masked\\).A user must have the sn\\_cdm.cdm\\_secrets role to decrypt this information. You can direct the endpoint not to return these fields by setting the **returnFields** query parameter field.\n\nData type: String\n\n</td></tr><tr id=\"status-node-editor-row\"><td>\n\nstatus\n\n</td><td id=\"status-node-editor-entry\">\n\nNode status.Possible values:\n\n-   DELETED\n-   NEW\n-   SUPERSEDED\n-   UPDATED\n-   VALID\n\nData type: String\n\n</td></tr><tr id=\"system_folder-node-editor-row\"><td>\n\nsystem\\_folder\n\n</td><td id=\"system_folder-node-editor-entry\">\n\nFlag that indicates whether the associated node is a system folder.Possible values:\n\n-   true: Node is a system folder.\n-   false: Node isn't a system folder.\n\nData type: Boolean\n\n</td></tr><tr id=\"sys_class_name-node-editor-row\"><td>\n\nsys\\_class\\_name\n\n</td><td id=\"sys_class_name-node-editor-entry\">\n\nTable in which the node resides.Data type: String\n\n</td></tr><tr id=\"sys_created_by-node-editor-row\"><td>\n\nsys\\_created\\_by\n\n</td><td id=\"sys_created_by-node-editor-entry\">\n\nName of the user that created the node.Data type: String\n\n</td></tr><tr id=\"sys_created_on-node-editor-row\"><td>\n\nsys\\_created\\_on\n\n</td><td id=\"sys_created_on-node-editor-entry\">\n\nDate and time when the node was created.Data type: String\n\nFormat: yyyy-mm-dd hh:mm:ss\n\n</td></tr><tr id=\"sys_id-node-editor-row\"><td>\n\nsys\\_id\n\n</td><td id=\"sys_id-node-editor-entry\">\n\nSys\\_id of the node.Data type: String\n\nTable: CDM Node \\[sn\\_cdm\\_node\\]\n\n</td></tr><tr id=\"sys_updated_by-node-editor-row\"><td>\n\nsys\\_updated\\_by\n\n</td><td id=\"sys_updated_by-node-editor-entry\">\n\nName of the user that updated the node.Data type: String\n\n</td></tr><tr id=\"sys_updated_on-node-editor-row\"><td>\n\nsys\\_updated\\_on\n\n</td><td id=\"sys_updated_on-node-editor-entry\">\n\nDate and time when the node was last updated.Data type: String\n\nFormat: yyyy-mm-dd hh:mm:ss\n\n</td></tr><tr id=\"type-node-editor-row\"><td>\n\ntype\n\n</td><td id=\"type-node-editor-entry\">\n\nNode type.\n\nPossible values:\n\n-   sn\\_cdm\\_node\\_cdi\n-   sn\\_cdm\\_node\\_collection\n-   sn\\_cdm\\_node\\_component\n-   sn\\_cdm\\_node\\_folder\n-   sn\\_cdm\\_node\\_variable\n\nData type: String\n\n Default: All\n\n</td></tr><tr id=\"value-node-editor-row\"><td>\n\nvalue\n\n</td><td id=\"value-node-editor-entry\">\n\nNode value.Data type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following code example shows how to update the value of a node.\n\n```\ncurl \"http://instance.servicenow.com/api/sn_cdm/editor/nodes?newValue=cdcdc&fullNamePath=%2FtestApp%2Fdeployables%2FDe\nvelopment-1%2Fcdi45&changesetNumber=Chset-5\" \\\n--request PUT \\\n--header \"Accept:application/json\" \\\n--user 'username':'password'\n```\n\nReturn result:\n\n```\n{ \n  \"result\": { \n    \"changeset_id\": { \n      \"value\": \"d403648653b70110a1d3ddeeff7b12c5\", \n      \"link\": \"http://instance.servicenow.com/api/now/table/sn_cdm_changeset/d403648653b70110a1d3ddeeff7b12c5\" \n    }, \n    \"node_path\": \"!$!+!,![:\", \n    \"description\": null, \n    \"sys_updated_on\": \"2022-06-30 08:53:13\", \n    \"type\": \"sn_cdm_node_cdi\", \n    \"sys_class_name\": \"sn_cdm_node\", \n    \"sys_id\": \"c93c7c1753981110a1d3ddeeff7b12c7\", \n    \"sys_updated_by\": \"admin\", \n    \"previous_version\": null, \n    \"sys_created_on\": \"2022-06-30 08:53:13\", \n    \"value\": null, \n    \"effective_from\": null, \n    \"linked_to\": null, \n    \"sys_created_by\": \"admin\", \n    \"restricted_to\": null, \n    \"level\": \"3\", \n    \"conflict_type\": null, \n    \"main_id\": \"2869\", \n    \"effective_to\": null, \n    \"secure_value\": \"﷞﷟﷒113a0c6e53001110a1d3ddeeff7b121d﷬﷔1﷬﷭bAUA1wj-fxofbSrMyF-BAg==6qiho5f_9DhnuHT2Km5SLf0Ck4XNX_w=﷮﷯\", \n    \"node_classifier\": \"/application/deployables/env:Development\", \n    \"main_id_encoded\": \"[:\", \n    \"name\": \"cdi45\", \n    \"position\": null, \n    \"reason_for_conflict\": null, \n    \"system_folder\": false, \n    \"status\": \"new\", \n    \"conflict\": false \n  } \n}\n```\n\n"}}