> For the complete documentation index, see [llms.txt](https://docs.annolab.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.annolab.ai/projects-directories-and-sources/projects.md).

# Projects

Projects are the highest level abstraction in the Annotation Lab platform. They contain directories, source files, schemas, and annotation layers. They are also the scope at which work can be shared.

## Create Project

<mark style="color:green;">`POST`</mark> `https://api.annolab.ai/v1/project/create`

Create a new project within your group

#### Headers

| Name          | Type   | Description                                                                                                                                                             |
| ------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Authorization | string | <p>Where you put your api key. Creating a project requires a key with "Write" permissions.<br><br><code>{"Authorization": "Api-key XXXXXXX-XXXXXXX-XXXXXXX"}</code></p> |

#### Request Body

| Name | Type   | Description                                                                                                                  |
| ---- | ------ | ---------------------------------------------------------------------------------------------------------------------------- |
| name | string | <p>Name of the project you wish to create. Must be unique for your group<br><br><code>{"name": "New NER Project"}</code></p> |

{% tabs %}
{% tab title="201 Project was successfully created" %}

```
{
    "name": "New NER Project",
    "id": 22,
    "groupId": 14
}
```

{% endtab %}

{% tab title="400 Project creation failed" %}

```
{
    "message": "Information about why creation failed"
}
```

{% endtab %}
{% endtabs %}

Examples of how to make a project create request

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

```python
import requests

ANNO_LAB_API_KEY = 'XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX'

project = {
  'name': 'New NER Project'
}

headers = {
  'Authorization': 'Api-Key '+ANNO_LAB_API_KEY,
}

url = 'https://api.annolab.ai/v1/project/create'

response = requests.post(url, headers=headers, json=project)

print(response.json())
```

{% endtab %}
{% endtabs %}

## Get Project

<mark style="color:blue;">`GET`</mark> `https://api.annolab.ai/v1/project/{identifier}`

Return details of a project given an identifier

#### Path Parameters

| Name       | Type   | Description                                                                                                                                                                                          |
| ---------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| identifier | string | <p>Either the name or the id of a project<br><br><code>url = "<https://api.annolab.ai/v1/project/New%20NER%20Project>"</code><br><br><code>url = "<https://api.annolab.ai/v1/project/12>"</code></p> |

#### Headers

| Name          | Type   | Description                                                                                                                                                           |
| ------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Authorization | string | <p>Where you put your api key. Getting a project requires an key with "Read" permissions<br><br><code>{"Authorization": "Api-Key XXXXXXX-XXXXXXX-XXXXXXX"}</code></p> |

{% tabs %}
{% tab title="200 Project successfully retrieved" %}

```
{
    "name": "New NER Project",
    "id": 22,
    "groupId": 14
}
```

{% endtab %}

{% tab title="404 Could not find a project matching the information" %}

```
{}
```

{% endtab %}
{% endtabs %}
