> ## Documentation Index
> Fetch the complete documentation index at: https://developers.essal.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Projects

> API reference for Essal Project projects — create, archive, apply templates, and manage members.

## List Projects

`GET /v1/project/projects`

**Query Parameters**

| Parameter   | Type   | Description                                              |
| ----------- | ------ | -------------------------------------------------------- |
| `status`    | enum   | `planning`, `active`, `on_hold`, `completed`, `archived` |
| `owner_id`  | string | Filter by project owner                                  |
| `member_id` | string | Filter projects where this user is a member              |

***

## Get a Project

`GET /v1/project/projects/{id}`

***

## Create a Project

`POST /v1/project/projects`

```json theme={null}
{
  "name": "Website Relaunch",
  "description": "Full redesign of corporate website.",
  "start_date": "2026-08-01",
  "target_date": "2026-10-31",
  "owner_id": "usr_01HXYZ5678",
  "template_id": "tpl_01HXYZ_WEB"
}
```

**Response** — `201 Created`

***

## Update a Project

`PATCH /v1/project/projects/{id}`

```json theme={null}
{ "status": "active", "target_date": "2026-11-30" }
```

***

## Add Members

`POST /v1/project/projects/{id}/members`

```json theme={null}
{
  "members": [
    { "user_id": "usr_01HXYZ1111", "role": "member" },
    { "user_id": "usr_01HXYZ2222", "role": "admin" }
  ]
}
```

***

## Remove a Member

`DELETE /v1/project/projects/{id}/members/{user_id}`

***

## Archive a Project

`POST /v1/project/projects/{id}/archive`

Archived projects are read-only. Tasks and time entries are preserved.

***

## List Templates

`GET /v1/project/templates`

Returns all available project templates in the workspace.

***

## Delete a Project

`DELETE /v1/project/projects/{id}`

Only allowed on archived projects with no linked open deals.
