> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/developer/rest-api/create-a-project.md).

# Create a Project

<mark style="color:green;">`POST`</mark> `/:workspace/projects`

Create a project in a workspace.

**Example Request**

```bash
curl -X POST "https://api.roboflow.com/my-workspace/projects?api_key=$ROBOFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Sharks Dataset",
    "type": "object-detection",
    "annotation": "sharks",
    "license": "MIT"
  }'
```

**Body**

<table><thead><tr><th width="160">Name</th><th width="120">Type</th><th>Description</th><th data-type="checkbox">Required</th></tr></thead><tbody><tr><td><code>name</code></td><td>string</td><td>Display name for the project. The URL slug is auto-generated from this.</td><td>true</td></tr><tr><td><code>type</code></td><td>string</td><td>Project type. One of <code>object-detection</code>, <code>single-label-classification</code>, <code>multi-label-classification</code>, <code>instance-segmentation</code>, <code>semantic-segmentation</code>, <code>keypoint-detection</code>.</td><td>true</td></tr><tr><td><code>annotation</code></td><td>string</td><td>Annotation group - a noun describing what's being labeled (ex: <code>"sharks"</code>, <code>"defects"</code>). Spaces and other non-alphanumeric characters are normalized to dashes, so <code>"hard hats"</code> is stored as <code>hard-hats</code>. Must contain at least one letter or number and be 256 characters or fewer.</td><td>true</td></tr><tr><td><code>license</code></td><td>string</td><td>License for the project. Required for workspaces that aren't already public. Accepted values: <code>Public Domain</code>, <code>MIT</code>, <code>CC BY 4.0</code>, <code>BY-NC-SA 4.0</code>, <code>OBdL v1.0</code>, <code>Private</code> (paid plans only).</td><td>false</td></tr><tr><td><code>group</code></td><td>string</td><td>Id of a project folder to place this project in. See <a href="/pages/Z7DMp1y26Cub2TUTr4v3">Manage Project Folders</a>.</td><td>false</td></tr></tbody></table>

**Example Response**

```json
{
    "id": "my-workspace/sharks-dataset",
    "type": "object-detection",
    "name": "Sharks Dataset",
    "created": 1688739471567,
    "updated": 1688739471567,
    "images": 0,
    "unannotated": 0,
    "annotation": "sharks",
    "versions": 0,
    "public": false,
    "splits": {},
    "colors": {},
    "classes": {},
    "icon": null
}
```

Required scope: `project:create`.

## Project limits

Projects count against your plan's project limit. When a workspace is at its hard limit, this endpoint returns `429` with `reason: "project_limit_reached"`:

Upgrade the plan, contact sales or delete an existing project to create more. See [Errors and Status Codes](/developer/errors-and-status-codes.md) for the full status reference.

## SDK and CLI equivalents

* SDK: see [Create a Project (SDK)](/developer/python-sdk/create-a-project.md).
* CLI: see [Create a Project (CLI)](/developer/command-line-interface/create-a-project.md).
