> AI agents: this is one page from Mammoth Analytics documentation. The index of all pages as Markdown is https://docs.mammoth.io/llms.txt. Append `.md` to any docs URL, or send `Accept: text/markdown`, to get Markdown.

# Cloning and moving datasets

> Clone a Mammoth dataset into an independent copy, including into another project through the API, or move datasets and folders within a project. Covers clone options, permissions, and known limitations.

This guide is for anyone who organizes a project's Data Library. Start with [Cloning a dataset](#cloning-a-dataset) or [Moving datasets and folders](#moving-datasets-and-folders).

Two actions let you restructure your Data Library without starting from scratch: **Clone** duplicates a dataset into a fully independent copy, and **Move** relocates a dataset or folder to a different place in your folder hierarchy.

## Cloning a dataset

Cloning creates a new, independent dataset that starts as an exact copy of the original. The clone has its own name, its own batches, and its own Views. Changes to the clone do not affect the source, and changes to the source do not affect the clone.

### When to clone

- You want to experiment with a dataset's transformation pipeline without touching the version your team relies on.
- You need a snapshot of a dataset at a point in time as a reference copy.
- You want to build a variant of an existing pipeline that starts from the same raw data but diverges from there.

### How to clone a dataset

**Prerequisite**: You have access to the dataset.

1. In the Data Library, click the dataset you want to clone. The dataset panel opens on the right.

2. In the panel header, click the **Clone dataset** icon (the copy/duplicate icon). You can also open the dataset's **⋯** menu and choose **Clone dataset**.

   ![Dataset panel header for store_transaction with a Clone dataset tooltip over the copy icon next to the Open button](https://docs.mammoth.io/api/v1/images/20260505_060803_Screenshot2026-04-301553481.jpg)

3. The clone dialog opens, titled **Clone {dataset name}**. The name field is pre-filled as `{original name} 2`. Edit it if you want a different name.

4. Under **Include in the clone**, choose what to copy:

   | Option | Default | What it does |
   | --- | --- | --- |
   | **Batches** | On | Copies all rows from every batch in the source dataset into the clone. Uncheck this to create an empty dataset with the same schema but no data. |
   | **Views** | On | Copies Views and their transformation pipelines into the clone. If the dataset has more than one View, a dropdown lets you choose **Clone all views** or **Clone selected views**; the selected list shows each View's task count. Each View in the clone is independent—editing it does not change the source View. This option is not available in every workspace. |

5. Click **Clone dataset**. The dialog closes immediately. The button is disabled while the name is empty.

**Expected result**: The clone appears in the file list while Mammoth copies the data in the background.

![Clone store_transaction dialog with the name store_transaction 2, Batches and Views checked, and Cancel and Clone dataset buttons](https://docs.mammoth.io/api/v1/images/20260505_060956_Screenshot2026-04-301553231.jpg)

### What happens after you click Clone dataset

The clone appears in the file list **straight away**, so you don't wait for a confirmation before you can keep working. It shows:

- The name you entered
- **0 bytes**: this is expected. The dataset record is created instantly, but the actual data is copied by a background job. The size updates once that job finishes (usually within seconds to a few minutes depending on dataset size).
- The same row and column count as the source, once the copy is complete.

A **"Clone completed"** toast notification appears at the bottom of the screen when the background job finishes.

![Data Library with store_transaction 2 shown as Duplicating store_transaction at 0 bytes, and a Clone completed message at the bottom](https://docs.mammoth.io/api/v1/images/20260505_061219_Screenshot2026-04-301554321.jpg)

> **Why 0 bytes at first?** Mammoth registers the clone in the library immediately so it appears in your file list without delay. The actual data copy runs as an async background job. The 0-byte state is temporary—refresh after a moment if the size hasn't updated.

### What the clone includes

| Item | Copied? | Notes |
| --- | --- | --- |
| Column schema | Yes | All columns with their names and data types |
| Row data | Yes (default) | All batches—uncheck **Batches** to skip |
| Display properties | Yes | Column display settings carry over |
| Views and pipelines | Yes (default) | Each View is a fully independent copy—uncheck **Views** to skip |
| Dataset name | Customizable | Pre-filled as `{name} 2`, edit before cloning |
| Folder location | Same folder | The clone appears in the same folder as the source. A clone made into another project through the API lands at that project's root. |
| Append history (batch order) | Yes | All batches are copied in their original order |

### Cloning via the API

Send a create-dataset request with `ds_creation_type: "clone"` and a `dataset_spec`. The same request is what the dialog sends.

| Field in `dataset_spec` | What it does |
| --- | --- |
| `source_ds_id` | The dataset to copy |
| `ds_name` | Name of the clone. If you omit it, the name is `{original name} copy` (note: *copy*, not *2*). The `" 2"` suffix is added by the UI. Pass a `ds_name` if you want a predictable name. |
| `clone_dataview_ids` | IDs of the Views to copy. Defaults to none. |
| `exclude_data` | Set to `true` to skip the batches. Defaults to `false`. |
| `target_project_id` | Optional. Clones into another project of the same workspace. Defaults to the source dataset's own project. |

With `target_project_id`:

- The target project must be in the same workspace as the source.
- You need permission to create datasets in the target project and to read the source dataset. Otherwise the request fails with "You cannot create datasets in the target project, or it is not in this workspace" or "You do not have permission to read the dataset being copied".
- The clone lands at the project root, not in a folder.
- If the source was already copied into that project, the request returns the existing copy instead of creating another.

The Mammoth app has no option to pick another project in the clone dialog.

---

## Moving datasets and folders

The Move feature lets you reorganize datasets and folders anywhere within your current project. You can move a single item, a folder (with all its contents), or multiple items at once.

> **Note:** Move works within the current project. To get a dataset into another project, clone it there through the API (see [Cloning via the API](#cloning-via-the-api)).

### How to move a single dataset

**Prerequisite**: You have Update permission on the dataset.

1. In the Data Library file list, hover over the dataset row and click the `···` **(more options)** menu that appears on the right.

2. Click **Move to**. The dataset panel also has a **Move to** icon button.

![Dataset panel header for store_transaction with a Move to tooltip over the folder-arrow icon](https://docs.mammoth.io/api/v1/images/20260505_061243_Screenshot2026-04-301555341.jpg)

3. The **Move File** dialog opens. It shows a multi-column folder browser with a search box in the header and a breadcrumb. Only folders in the current project are listed.

   ![Move File dialog with a three-column folder browser, a Search box, breadcrumb, Destination F2, and a Move to F2 button](https://docs.mammoth.io/api/v1/images/20260505_061402_Screenshot2026-04-301556131.jpg)

4. Click through the folder columns to navigate to your destination. Each click on a folder:

   - Opens that folder's contents in the column to the right
   - Updates the breadcrumb at the top
   - Updates the **Destination:** bar at the bottom with the selected folder name

5. When the **Destination:** bar shows the right folder, click the **Move to "[Folder Name]"** button. The button is only active when a valid destination is selected.

**Expected result**: A toast, **Item moved successfully**, appears with an **Undo** action for about five seconds. The dataset disappears from its current location and appears in the destination folder. The folder's file count in the parent list updates immediately. For example, a folder that showed `(1 File)` now shows `(2 Files)`.

### How to move a folder

Moving a folder moves the folder itself *and everything inside it*, including all datasets and any nested sub-folders.

1. Hover over the folder row and click the `···` menu.
2. Click **Move to**.
3. The **Move Folder** dialog opens with the same column-browser UI as Move File.
4. Navigate to the destination and click **Move to "[Folder Name]"**.

   ![Folder F1 selected in the Data Library with a Move to tooltip in its panel, which lists a dataset and the F2 subfolder](https://docs.mammoth.io/api/v1/images/20260505_061616_Screenshot2026-04-301557261.jpg)

> **Circular move prevention:** You cannot move a folder into itself or into any of its own sub-folders. Those destinations are disabled in the column browser.

### Moving multiple items at once

To move several datasets, folders, or both in one operation:

1. Select items using the checkboxes in the file list (click the checkbox column on the left of each row).
2. A multi-selection panel appears showing how many items are selected.
3. Click **Move to** in the panel.
4. The same column-browser dialog opens. Navigate to the destination and confirm.

All selected items move to the same destination folder in a single operation. The toast reads "N items moved successfully" and also offers **Undo**.

### Moving items by drag and drop

Select one or more rows and drag them onto a folder row. A "Moving N items to {folder}" message appears with an **Undo** action. If you click it, the message **Action undone** confirms the items are back.

![Multiple items selected panel for two datasets with Delete and Move to buttons](https://docs.mammoth.io/api/v1/images/20260505_061705_Screenshot2026-04-301558141.jpg)

### Moving an item to the root level

To move a dataset or folder out of all folders and back to the project root:

1. Open the `···` menu and click **Move to**.
2. In the column browser, navigate back to the root level using the breadcrumb at the top.
3. When no folder is actively selected (you're at the root), the **Destination:** bar reflects the root, and you can confirm the move.

### Creating a new folder during a move

If you want to move an item into a folder that doesn't exist yet, you don't have to close the dialog and create the folder separately. The browser has a **+ New Folder** button. Click it, enter a name in the **Create Folder** dialog, and the new folder is created. Then click into it to set it as the destination before confirming the move.

![Create Folder dialog with a New Folder name field and a disabled Create Folder button over the Move Files dialog](https://docs.mammoth.io/api/v1/images/20260505_061808_Screenshot2026-04-301558431.jpg)

### Searching for a destination folder

A **search bar** sits in the dialog header. Type part of a folder name to filter the visible folders across all levels. This is useful when your Data Library has many nested folders and navigating column by column would take too long.

## Permissions and background processing

### Permissions

To move a dataset or folder you must have **Update** permission on each item being moved. If you lack permission on any selected item in a bulk move, the entire operation is blocked and an error is shown.

### Move runs in the background

Like clone, move is an async operation. Mammoth accepts the request immediately and returns a job ID. A background job performs the actual data and metadata update. For most moves, this completes in under a second and the UI updates without any visible delay. For very large bulk moves, there may be a brief moment before all folder counts update.

## Limitations

| Limitation | Details |
| --- | --- |
| Move is project-scoped | You cannot move datasets or folders to a different project. To copy a dataset into another project of the same workspace, use the API clone with `target_project_id`. |
| Folder cannot move into itself or its own descendant | These destinations are disabled in the column browser, and so is the item's current folder. |
| Views are not independently movable | Views belong to their parent dataset. Moving the dataset moves its Views with it. |
| Clone location in the app | A new clone made in the app appears in the same folder as the source. Move it after cloning if needed. |
| Clone with metric-based Views | If a source dataset has Views whose transformation rules reference metrics, the cloned Views may not behave correctly. This is a known limitation. Review cloned View pipelines before relying on them. |

## Related articles

- [The dataset panel](https://docs.mammoth.io/learn/data-library/dataset-panel/): Full reference for the dataset side panel, including all action buttons
- [Add or replace data](https://docs.mammoth.io/learn/data-library/add-or-replace-data/): Append or replace data in a dataset after it's been created

---
Source: https://docs.mammoth.io/learn/data-library/clone-move-data.md · Updated: 2026-10-13