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.elastic.snaplogic.com
  • emea.snaplogic.com

Query parameters

None.

Request header

Basic authentication

In the request header, specify Basic for authorization, add your credentials (Login and password of your SnapLogic user or service account), and specify application/json for content type. For more details on accounts refer to Manage accounts.


Authorization: Basic {base64_encoded <email>:<password>}
Content-Type: application/json
          

Example of Basic authenthication using Postman

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.