# Projects

## List Projects

`ProjectListPage projects().list(ProjectListParamsparams = ProjectListParams.none(), RequestOptionsrequestOptions = RequestOptions.none())`

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

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

### Parameters

- `ProjectListParams params`

  - `Optional<String> name`

  - `Optional<String> organizationId`

  - `Optional<Long> pageSize`

  - `Optional<String> pageToken`

### Returns

- `class Project:`

  API response schema for a project.

  - `String id`

    The project's unique identifier.

  - `String name`

    The project's display name.

  - `String organizationId`

    The organization the project belongs to.

  - `Optional<LocalDateTime> createdAt`

    Creation datetime

  - `Optional<Boolean> isDefault`

    Whether this project is the default project for its organization.

  - `Optional<LocalDateTime> updatedAt`

    Update datetime

### Example

```java
package ai.llamaindex.llamacloudadmin.example;

import ai.llamaindex.llamacloudadmin.client.LlamaCloudAdminClient;
import ai.llamaindex.llamacloudadmin.client.okhttp.LlamaCloudAdminOkHttpClient;
import ai.llamaindex.llamacloudadmin.models.projects.ProjectListPage;
import ai.llamaindex.llamacloudadmin.models.projects.ProjectListParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        LlamaCloudAdminClient client = LlamaCloudAdminOkHttpClient.fromEnv();

        ProjectListPage page = client.projects().list();
    }
}
```

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

`Project projects().create(ProjectCreateParamsparams, RequestOptionsrequestOptions = RequestOptions.none())`

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

Create a new project in the given organization.

### Parameters

- `ProjectCreateParams params`

  - `String organizationId`

  - `String name`

    The project's display name.

### Returns

- `class Project:`

  API response schema for a project.

  - `String id`

    The project's unique identifier.

  - `String name`

    The project's display name.

  - `String organizationId`

    The organization the project belongs to.

  - `Optional<LocalDateTime> createdAt`

    Creation datetime

  - `Optional<Boolean> isDefault`

    Whether this project is the default project for its organization.

  - `Optional<LocalDateTime> updatedAt`

    Update datetime

### Example

```java
package ai.llamaindex.llamacloudadmin.example;

import ai.llamaindex.llamacloudadmin.client.LlamaCloudAdminClient;
import ai.llamaindex.llamacloudadmin.client.okhttp.LlamaCloudAdminOkHttpClient;
import ai.llamaindex.llamacloudadmin.models.projects.Project;
import ai.llamaindex.llamacloudadmin.models.projects.ProjectCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        LlamaCloudAdminClient client = LlamaCloudAdminOkHttpClient.fromEnv();

        ProjectCreateParams params = ProjectCreateParams.builder()
            .organizationId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
            .name("x")
            .build();
        Project project = client.projects().create(params);
    }
}
```

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

`Project projects().get(ProjectGetParamsparams = ProjectGetParams.none(), RequestOptionsrequestOptions = RequestOptions.none())`

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

Get a project by ID.

### Parameters

- `ProjectGetParams params`

  - `Optional<String> projectId`

  - `Optional<String> organizationId`

### Returns

- `class Project:`

  API response schema for a project.

  - `String id`

    The project's unique identifier.

  - `String name`

    The project's display name.

  - `String organizationId`

    The organization the project belongs to.

  - `Optional<LocalDateTime> createdAt`

    Creation datetime

  - `Optional<Boolean> isDefault`

    Whether this project is the default project for its organization.

  - `Optional<LocalDateTime> updatedAt`

    Update datetime

### Example

```java
package ai.llamaindex.llamacloudadmin.example;

import ai.llamaindex.llamacloudadmin.client.LlamaCloudAdminClient;
import ai.llamaindex.llamacloudadmin.client.okhttp.LlamaCloudAdminOkHttpClient;
import ai.llamaindex.llamacloudadmin.models.projects.Project;
import ai.llamaindex.llamacloudadmin.models.projects.ProjectGetParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        LlamaCloudAdminClient client = LlamaCloudAdminOkHttpClient.fromEnv();

        Project project = client.projects().get("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");
    }
}
```

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

`Project projects().update(ProjectUpdateParamsparams, RequestOptionsrequestOptions = RequestOptions.none())`

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

Update an existing project.

### Parameters

- `ProjectUpdateParams params`

  - `Optional<String> projectId`

  - `Optional<String> organizationId`

  - `String name`

    The project's new display name.

### Returns

- `class Project:`

  API response schema for a project.

  - `String id`

    The project's unique identifier.

  - `String name`

    The project's display name.

  - `String organizationId`

    The organization the project belongs to.

  - `Optional<LocalDateTime> createdAt`

    Creation datetime

  - `Optional<Boolean> isDefault`

    Whether this project is the default project for its organization.

  - `Optional<LocalDateTime> updatedAt`

    Update datetime

### Example

```java
package ai.llamaindex.llamacloudadmin.example;

import ai.llamaindex.llamacloudadmin.client.LlamaCloudAdminClient;
import ai.llamaindex.llamacloudadmin.client.okhttp.LlamaCloudAdminOkHttpClient;
import ai.llamaindex.llamacloudadmin.models.projects.Project;
import ai.llamaindex.llamacloudadmin.models.projects.ProjectUpdateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        LlamaCloudAdminClient client = LlamaCloudAdminOkHttpClient.fromEnv();

        ProjectUpdateParams params = ProjectUpdateParams.builder()
            .projectId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
            .name("x")
            .build();
        Project project = client.projects().update(params);
    }
}
```

#### 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(ProjectDeleteParamsparams = ProjectDeleteParams.none(), RequestOptionsrequestOptions = RequestOptions.none())`

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

Delete a project by ID.

### Parameters

- `ProjectDeleteParams params`

  - `Optional<String> projectId`

  - `Optional<String> organizationId`

### Example

```java
package ai.llamaindex.llamacloudadmin.example;

import ai.llamaindex.llamacloudadmin.client.LlamaCloudAdminClient;
import ai.llamaindex.llamacloudadmin.client.okhttp.LlamaCloudAdminOkHttpClient;
import ai.llamaindex.llamacloudadmin.models.projects.ProjectDeleteParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        LlamaCloudAdminClient client = LlamaCloudAdminOkHttpClient.fromEnv();

        client.projects().delete("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");
    }
}
```

## Domain Types

### Project

- `class Project:`

  API response schema for a project.

  - `String id`

    The project's unique identifier.

  - `String name`

    The project's display name.

  - `String organizationId`

    The organization the project belongs to.

  - `Optional<LocalDateTime> createdAt`

    Creation datetime

  - `Optional<Boolean> isDefault`

    Whether this project is the default project for its organization.

  - `Optional<LocalDateTime> updatedAt`

    Update datetime
