# Fork a Universe Project

You can fork a public project from [Roboflow Universe](https://universe.roboflow.com/) into your Workspace by making a POST request to the `/:workspace/projects/fork` endpoint. Replace `:workspace` with the target Workspace that should receive the new Project.

Forking runs asynchronously. The fork request returns a task ID and a polling URL. Poll the async task until it completes, then read the forked Project details from the task result.

Forking copies the source images and annotations into a new Project in your Workspace. The fork starts with fresh versions and export settings, so you can generate dataset versions with your own preprocessing and augmentation choices.

This endpoint requires an API key with the `project:create` scope.

**Example Request**

```bash
$ curl --location "https://api.roboflow.com/my-workspace/projects/fork?api_key=$ROBOFLOW_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "url": "https://universe.roboflow.com/roboflow-jvuqo/football-players-detection-3zvbc/browse?queryText=&pageSize=50&startingIndex=0&browseQuery=true"
}'
```

You can also provide the source Project slug directly:

```bash
$ curl --location "https://api.roboflow.com/my-workspace/projects/fork?api_key=$ROBOFLOW_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "source_project": "football-players-detection-3zvbc"
}'
```

**Parameters**

```
- url (string) - Full Universe project URL. Required unless source_project is provided. URLs may include additional paths such as /browse and query parameters.
- source_project (string) - Source Universe project slug. Required unless url is provided.
```

**Example Response**

The fork request returns `202 Accepted` with an async task ID and polling URL:

```json
{
    "taskId": "abc123",
    "url": "https://api.roboflow.com/my-workspace/asynctasks/abc123"
}
```

**Check Fork Status**

Poll the returned `url`, or call `GET /:workspace/asynctasks/:id` with the `taskId` from the fork response:

```bash
$ curl --location "https://api.roboflow.com/my-workspace/asynctasks/abc123?api_key=$ROBOFLOW_API_KEY"
```

For response formats and async task error behavior, see [Async Tasks](/developer/rest-api/async-tasks.md).

**Fork Request Errors**

```
- 402 - The target Workspace does not have enough credits or image quota to fork the Project.
- 403 - The source Project is not public.
- 404 - The source Project could not be found, the API key is missing the required scope, or the API key does not belong to the target Workspace.
- 409 - The target Workspace already owns the source project.
- 422 - Required parameters are missing or the URL does not contain a Project slug.
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.roboflow.com/developer/rest-api/fork-a-universe-project.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
