Copy assets between projects

POST /project/copy_assets

Overview

This API copies a list of assets from one or more projects to a single project. The source projects and the destination project can be within the same Environment/Org or in different Environments/Orgs.

Important:
If you are migrating or copying accounts or policies to a different Environment/Org,
  • The source Environment/Org must recognize the destination Environment/Org as a Trusted Environment/Org.
  • The destination Environment/Org must have at least the same security level as the source Environment/Org.
Learn how to add a trusted Environment/Org.

If the destination project does not exist, it will be created.

If an asset with the same name already exists in the destination project, the asset in the destination is overwritten.

A Task remains enabled when copied to the destination, only if the following conditions are met; otherwise, the Task is disabled.
  • Its associated pipeline is also copied in the same transaction.
  • The runtime path of the Task is also valid in the destination Project.
  • The Snaplex associated with the Task is defined in the Environment/Org's shared folder, the destination Project's shared folder, or the destination Project's folder.

Prerequisites

  • Read access to the source project
  • Write access to the destination project

Request

 POST https://{controlplane_path}/api/1/rest/public/project/copy_assets

Path parameters

Key Description
controlplane_path Required. The path to the SnapLogic Control Plane: elastic.snaplogic.com
For the UAT or EMEA control plane, substitute the name for elastic. For example:
  • uat.snaplogic.com
  • emea.snaplogic.com

Query parameters

None.

Request header

In the request header, specify Basic for authorization, add your credentials, and specify application/json for content type:


Authorization: Basic {your_encoded_security_credentials}
Content-Type: application/json
          

Request body

 {
  "dest_path" : "...",
  "asset_path_list" : [ ... ]
}
Key Type Description
dest_path string
Required. The path to the destination SnapLogic project.

Format: /{env_org}/{project_space}/{project_name}

Important: The path comparison is case-sensitive.
asset_path_list array Required. A list containing the paths to the assets to copy.

Format: /{env_org}/{project_space}/{project_name}/{asset_name}

Response

Response body

 {
  "copied_assets_new_path" : [ ... ],
  "skipped_assets" : [ ... ]
}
Key Type Description
copied_assets_new_path array A list containing the paths of the newly copied assets in the destination project.
skipped_assets array A list containing the paths of assets that were not copied from the source project.