> For the complete documentation index, see [llms.txt](https://docs.imerit.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.imerit.net/sdk/sdk-documentation/project-level-sdk-functions/clone_project.md).

# clone\_project

`imerit_ango.sdk.SDK.`

## clone\_project(project\_id, category\_schema, assigned\_to, batches, workflow, plugin\_presets, project\_general\_settings)

Creates a new project in the same organization by copying selected settings from an existing project.

The cloned project is named `<SOURCE PROJECT NAME> copy`. Assets, task records, and saved annotations are not copied. The project's category schema can be copied with the `category_schema` option.

{% hint style="info" %}
The API key must belong to a project manager for the source project.
{% endhint %}

### Parameters

* **project\_id:** string
  * The unique identifier for the project to clone. You can find the project ID in [the user interface](/sdk/sdk-documentation.md#project-ids) or retrieve it using the [`list_projects`](/sdk/sdk-documentation/project-level-sdk-functions/list_projects.md) function.
* **category\_schema:** bool, *Optional, default True*
  * Copies the project's tools, classifications, and relations.
* **assigned\_to:** bool, *Optional, default True*
  * Copies the project's assigned users.
* **batches:** bool, *Optional, default True*
  * Copies the project's batches.
* **workflow:** bool, *Optional, default True*
  * Copies the project's workflow.
* **plugin\_presets:** bool, *Optional, default True*
  * Copies the project's plugin presets.
* **project\_general\_settings:** bool, *Optional, default True*
  * Copies the project's general settings.

The optional settings are keyword-only parameters. Set a parameter to `False` to exclude that section from the cloned project.

Returns:

* **output:** dict
  * A dictionary containing the result of the operation.
  * Includes a `status` field indicating whether the request was successful and a `data` field containing the cloned project.

<details open>

<summary><strong>How to verify in Ango Hub?</strong></summary>

After successfully executing the `clone_project` function, navigate to **Projects** and confirm that the cloned project appears in the project list.

Open the cloned project and verify that the settings you selected were copied.

{% hint style="info" %}
Changes made via the SDK are reflected in Ango Hub in near real-time. If the cloned project is not immediately visible, please refresh the page.
{% endhint %}

</details>

### Example

Clone all supported project settings:

{% tabs %}
{% tab title="python" %}

```python
import os
from dotenv import load_dotenv
from imerit_ango.sdk import SDK

load_dotenv('variables.env')
api_key = os.getenv('API_KEY')
project_id = os.getenv('PROJECT_ID')

ango_sdk = SDK(api_key)

response = ango_sdk.clone_project(project_id=project_id)
```

{% endtab %}

{% tab title="curl" %}

```bash
curl -X POST "https://imeritapi.ango.ai/v2/project/$PROJECT_ID/clone" \
  -H "Content-Type: application/json" \
  -H "apikey: $ANGO_API_KEY" \
  -d '{
    "assignedTo": true,
    "batches": true,
    "categorySchema": true,
    "pluginPresets": true,
    "projectGeneralSettings": true,
    "workflow": true
  }'
```

{% endtab %}
{% endtabs %}

Clone a project with only its category schema and workflow:

{% tabs %}
{% tab title="python" %}

```python
import os
from dotenv import load_dotenv
from imerit_ango.sdk import SDK

load_dotenv('variables.env')
api_key = os.getenv('API_KEY')
project_id = os.getenv('PROJECT_ID')

ango_sdk = SDK(api_key)

response = ango_sdk.clone_project(
    project_id=project_id,
    category_schema=True,
    assigned_to=False,
    batches=False,
    workflow=True,
    plugin_presets=False,
    project_general_settings=False
)
```

{% endtab %}

{% tab title="curl" %}

```bash
curl -X POST "https://imeritapi.ango.ai/v2/project/$PROJECT_ID/clone" \
  -H "Content-Type: application/json" \
  -H "apikey: $ANGO_API_KEY" \
  -d '{
    "assignedTo": false,
    "batches": false,
    "categorySchema": true,
    "pluginPresets": false,
    "projectGeneralSettings": false,
    "workflow": true
  }'
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
**See also**

[create\_project](/sdk/sdk-documentation/project-level-sdk-functions/create_project.md), [get\_project](/sdk/sdk-documentation/project-level-sdk-functions/get_project.md), [Projects](/core-concepts/projects.md)
{% endhint %}
