> ## Documentation Index
> Fetch the complete documentation index at: https://www.adaline.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Projects

# ProjectsClient

`adaline.projects` lists and manages the projects in your workspace. Every method is async.

## Access

```python theme={null}
from adaline.main import Adaline

adaline = Adaline()
projects = adaline.projects  # ProjectsClient
```

The class is also exported directly:

```python theme={null}
from adaline.clients import ProjectsClient
```

Types from `adaline_api`:

```python theme={null}
from adaline_api.models.project import Project
from adaline_api.models.update_project_request import UpdateProjectRequest
from adaline_api.models.list_projects_response import ListProjectsResponse
```

***

## list()

List all projects the API key has access to.

```python theme={null}
async def list() -> ListProjectsResponse
```

### Returns

[`ListProjectsResponse`](/docs/reference/api/v2/openapi/list-projects) with `{ data: list[Project] }`.

### Example

```python theme={null}
response = await adaline.projects.list()

for project in response.data:
    print(project.id, project.title)
```

***

## get()

Get a single project by ID.

```python theme={null}
async def get(*, project_id: str) -> Project
```

### Parameters

| Name         | Type  | Required | Description         |
| ------------ | ----- | -------- | ------------------- |
| `project_id` | `str` | Yes      | Project identifier. |

### Example

```python theme={null}
project = await adaline.projects.get(project_id="project_abc123")
print(project.title, project.icon)
```

***

## update()

Update a project's title and/or icon. At least one field must be provided.

```python theme={null}
async def update(
    *,
    project_id: str,
    project: UpdateProjectRequest,
) -> Project
```

### Parameters

| Name         | Type                                                               | Required | Description                           |
| ------------ | ------------------------------------------------------------------ | -------- | ------------------------------------- |
| `project_id` | `str`                                                              | Yes      | Project identifier.                   |
| `project`    | [`UpdateProjectRequest`](/docs/reference/api/v2/openapi/update-project) | Yes      | Fields to update (`title?`, `icon?`). |

### Example

```python theme={null}
from adaline_api.models.update_project_request import UpdateProjectRequest

updated = await adaline.projects.update(
    project_id="project_abc123",
    project=UpdateProjectRequest(
        title="Renamed project",
        icon={"type": "emoji", "value": "✨"},
    ),
)
```

***

## See Also

* [Adaline class](/docs/reference/sdk/v2/python/classes/adaline)
* [PromptsClient](/docs/reference/sdk/v2/python/classes/prompts) — `list(project_id=...)` is the most common follow-up call
* API reference: [List projects](/docs/reference/api/v2/openapi/list-projects) · [Get project](/docs/reference/api/v2/openapi/get-project) · [Update project](/docs/reference/api/v2/openapi/update-project)
