Copy Cascade Asset
cascade_copyCopy an asset to a different folder or site with a new name, creating an independent duplicate. The original asset remains unchanged.
Instructions
Copy an asset to a new container with a new name.
Creates a fresh, independent copy of an asset. Unlike cascade_move, the original stays in place and the copy gets its own ID. destinationContainerIdentifier and newName are both required. For copying an entire site, use cascade_site_copy instead.
Args:
identifier (object, required): The source asset to copy
id (string, optional): Asset ID (preferred)
path (object, optional): { path, siteId OR siteName }
type (string, required): Entity type of the source
copyParameters (object, required):
destinationContainerIdentifier (object, required): The container (folder/site) that will receive the copy
doWorkflow (boolean, required): Whether to run workflow on the copy
newName (string, required): Name for the new asset (must be unique within destination)
workflowConfiguration (object, optional, shape varies — see Cascade docs): Workflow step assignments
Returns: Cascade OperationResult: { success: true } On failure: { success: false, message: "" }
Examples:
Use when: "Duplicate /templates/basic as /templates/basic-v2" -> { identifier: { type: "page", path: { path: "/templates/basic", siteName: "www" } }, copyParameters: { destinationContainerIdentifier: { type: "folder", path: { path: "/templates", siteName: "www" } }, newName: "basic-v2", doWorkflow: false } }
Don't use when: You want to rename in place — use cascade_move.
Don't use when: You want to copy an entire site — use cascade_site_copy.
Error Handling:
"Asset not found" when the source identifier doesn't resolve
"Destination not found" when destinationContainerIdentifier is invalid
"Name collision" when newName already exists in destination
"Permission denied" when credentials lack read on source or create on destination. Responses are JSON text; structuredContent is authoritative when the response fits. Oversized responses return bounded _cache metadata for cascade_read_response. For cascade_read, read_mode controls preview versus raw Cascade payload shape.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | No | The asset to copy. | |
| copyParameters | No | Copy parameters: destination, new name, and workflow flag. | |
| workflowConfiguration | No | Optional workflow configuration applied when doWorkflow=true. |