# Projects

## List Projects

`projects.list(ProjectListParams**kwargs)  -> SyncPaginatedCursor[Project]`

**get** `/api/v2/projects`

List projects in an organization. Requires `organization_id` or a project-scoped API key.

### Parameters

- `name: Optional[str]`

- `organization_id: Optional[str]`

- `page_size: Optional[int]`

- `page_token: Optional[str]`

### Returns

- `class Project: …`

  API response schema for a project.

  - `id: str`

    The project's unique identifier.

  - `name: str`

    The project's display name.

  - `organization_id: str`

    The organization the project belongs to.

  - `created_at: Optional[datetime]`

    Creation datetime

  - `is_default: Optional[bool]`

    Whether this project is the default project for its organization.

  - `updated_at: Optional[datetime]`

    Update datetime

### Example

```python
import os
from llama_cloud_admin import LlamaCloudAdmin

client = LlamaCloudAdmin(
    api_key=os.environ.get("LLAMA_CLOUD_API_KEY"),  # This is the default and can be omitted
)
page = client.projects.list()
page = page.items[0]
print(page.id)
```

#### Response

```json
{
  "items": [
    {
      "id": "id",
      "name": "name",
      "organization_id": "organization_id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "is_default": true,
      "updated_at": "2019-12-27T18:11:19.117Z"
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Create Project

`projects.create(ProjectCreateParams**kwargs)  -> Project`

**post** `/api/v2/projects`

Create a new project in the given organization.

### Parameters

- `organization_id: str`

- `name: str`

  The project's display name.

### Returns

- `class Project: …`

  API response schema for a project.

  - `id: str`

    The project's unique identifier.

  - `name: str`

    The project's display name.

  - `organization_id: str`

    The organization the project belongs to.

  - `created_at: Optional[datetime]`

    Creation datetime

  - `is_default: Optional[bool]`

    Whether this project is the default project for its organization.

  - `updated_at: Optional[datetime]`

    Update datetime

### Example

```python
import os
from llama_cloud_admin import LlamaCloudAdmin

client = LlamaCloudAdmin(
    api_key=os.environ.get("LLAMA_CLOUD_API_KEY"),  # This is the default and can be omitted
)
project = client.projects.create(
    organization_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    name="x",
)
print(project.id)
```

#### Response

```json
{
  "id": "id",
  "name": "name",
  "organization_id": "organization_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "is_default": true,
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Get Project

`projects.get(strproject_id, ProjectGetParams**kwargs)  -> Project`

**get** `/api/v2/projects/{project_id}`

Get a project by ID.

### Parameters

- `project_id: str`

- `organization_id: Optional[str]`

### Returns

- `class Project: …`

  API response schema for a project.

  - `id: str`

    The project's unique identifier.

  - `name: str`

    The project's display name.

  - `organization_id: str`

    The organization the project belongs to.

  - `created_at: Optional[datetime]`

    Creation datetime

  - `is_default: Optional[bool]`

    Whether this project is the default project for its organization.

  - `updated_at: Optional[datetime]`

    Update datetime

### Example

```python
import os
from llama_cloud_admin import LlamaCloudAdmin

client = LlamaCloudAdmin(
    api_key=os.environ.get("LLAMA_CLOUD_API_KEY"),  # This is the default and can be omitted
)
project = client.projects.get(
    project_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(project.id)
```

#### Response

```json
{
  "id": "id",
  "name": "name",
  "organization_id": "organization_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "is_default": true,
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Update Existing Project

`projects.update(strproject_id, ProjectUpdateParams**kwargs)  -> Project`

**put** `/api/v2/projects/{project_id}`

Update an existing project.

### Parameters

- `project_id: str`

- `name: str`

  The project's new display name.

- `organization_id: Optional[str]`

### Returns

- `class Project: …`

  API response schema for a project.

  - `id: str`

    The project's unique identifier.

  - `name: str`

    The project's display name.

  - `organization_id: str`

    The organization the project belongs to.

  - `created_at: Optional[datetime]`

    Creation datetime

  - `is_default: Optional[bool]`

    Whether this project is the default project for its organization.

  - `updated_at: Optional[datetime]`

    Update datetime

### Example

```python
import os
from llama_cloud_admin import LlamaCloudAdmin

client = LlamaCloudAdmin(
    api_key=os.environ.get("LLAMA_CLOUD_API_KEY"),  # This is the default and can be omitted
)
project = client.projects.update(
    project_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    name="x",
)
print(project.id)
```

#### Response

```json
{
  "id": "id",
  "name": "name",
  "organization_id": "organization_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "is_default": true,
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Delete Project

`projects.delete(strproject_id, ProjectDeleteParams**kwargs)`

**delete** `/api/v2/projects/{project_id}`

Delete a project by ID.

### Parameters

- `project_id: str`

- `organization_id: Optional[str]`

### Example

```python
import os
from llama_cloud_admin import LlamaCloudAdmin

client = LlamaCloudAdmin(
    api_key=os.environ.get("LLAMA_CLOUD_API_KEY"),  # This is the default and can be omitted
)
client.projects.delete(
    project_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
```

## Domain Types

### Project

- `class Project: …`

  API response schema for a project.

  - `id: str`

    The project's unique identifier.

  - `name: str`

    The project's display name.

  - `organization_id: str`

    The organization the project belongs to.

  - `created_at: Optional[datetime]`

    Creation datetime

  - `is_default: Optional[bool]`

    Whether this project is the default project for its organization.

  - `updated_at: Optional[datetime]`

    Update datetime
