> ## 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.

## Access

```typescript theme={null}
import { Adaline } from '@adaline/client';

const adaline = new Adaline();
const projects = adaline.projects; // ProjectsClient
```

The class is also exported directly:

```typescript theme={null}
import { ProjectsClient } from '@adaline/client';
```

Types from `@adaline/api`:

```typescript theme={null}
import type {
  Project,
  UpdateProjectRequest,
  ListProjectsResponse,
} from '@adaline/api';
```

***

## list()

List all projects the API key has access to.

```typescript theme={null}
list(): Promise<ListProjectsResponse>
```

### Parameters

None.

### Returns

`Promise<ListProjectsResponse>` with `{ data: Project[] }`. Each [`Project`](/docs/reference/api/v2/openapi/get-project) has `id`, `title`, `icon`, and timestamps.

### Example

```typescript theme={null}
const { data } = await adaline.projects.list();

for (const project of data) {
  console.log(project.id, project.title);
}
```

***

## get()

Get a single project by ID.

```typescript theme={null}
get(options: { projectId: string }): Promise<Project>
```

### Parameters

| Name        | Type     | Required | Description         |
| ----------- | -------- | -------- | ------------------- |
| `projectId` | `string` | Yes      | Project identifier. |

### Returns

`Promise<Project>` — the project record with `id`, `title`, `icon`, and timestamps.

### Example

```typescript theme={null}
const project = await adaline.projects.get({ projectId: 'project_abc123' });
console.log(project.title, project.icon);
```

***

## update()

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

```typescript theme={null}
update(options: {
  projectId: string;
  project: UpdateProjectRequest;
}): Promise<Project>
```

### Parameters

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

### Returns

`Promise<Project>` — the updated project.

### Example

```typescript theme={null}
const updated = await adaline.projects.update({
  projectId: 'project_abc123',
  project: {
    title: 'Renamed project',
    icon: { type: 'emoji', value: '✨' },
  },
});
```

***

## See Also

* [Adaline class](/docs/reference/sdk/v2/typescript/classes/adaline)
* [PromptsClient](/docs/reference/sdk/v2/typescript/classes/prompts) — `list({ projectId })` 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)
