# Projects

## List Projects

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

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

### Query Parameters

- `name: optional string`

- `organization_id: optional string`

- `page_size: optional number`

- `page_token: optional string`

### Cookie Parameters

- `session: optional string`

### Returns

- `items: array of Project`

  The list of items.

  - `id: string`

    The project's unique identifier.

  - `name: string`

    The project's display name.

  - `organization_id: string`

    The organization the project belongs to.

  - `created_at: optional string`

    Creation datetime

  - `is_default: optional boolean`

    Whether this project is the default project for its organization.

  - `updated_at: optional string`

    Update datetime

- `next_page_token: optional string`

  A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

- `total_size: optional number`

  The total number of items available. This is only populated when specifically requested. The value may be an estimate and can be used for display purposes only.

### Example

```http
curl https://api.cloud.llamaindex.ai/api/v2/projects \
    -H "Authorization: Bearer $LLAMA_CLOUD_API_KEY"
```

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

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

Create a new project in the given organization.

### Query Parameters

- `organization_id: string`

### Cookie Parameters

- `session: optional string`

### Body Parameters

- `name: string`

  The project's display name.

### Returns

- `Project object { id, name, organization_id, 3 more }`

  API response schema for a project.

  - `id: string`

    The project's unique identifier.

  - `name: string`

    The project's display name.

  - `organization_id: string`

    The organization the project belongs to.

  - `created_at: optional string`

    Creation datetime

  - `is_default: optional boolean`

    Whether this project is the default project for its organization.

  - `updated_at: optional string`

    Update datetime

### Example

```http
curl https://api.cloud.llamaindex.ai/api/v2/projects \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $LLAMA_CLOUD_API_KEY" \
    -d '{
          "name": "x"
        }'
```

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

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

Get a project by ID.

### Path Parameters

- `project_id: string`

### Query Parameters

- `organization_id: optional string`

### Cookie Parameters

- `session: optional string`

### Returns

- `Project object { id, name, organization_id, 3 more }`

  API response schema for a project.

  - `id: string`

    The project's unique identifier.

  - `name: string`

    The project's display name.

  - `organization_id: string`

    The organization the project belongs to.

  - `created_at: optional string`

    Creation datetime

  - `is_default: optional boolean`

    Whether this project is the default project for its organization.

  - `updated_at: optional string`

    Update datetime

### Example

```http
curl https://api.cloud.llamaindex.ai/api/v2/projects/$PROJECT_ID \
    -H "Authorization: Bearer $LLAMA_CLOUD_API_KEY"
```

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

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

Update an existing project.

### Path Parameters

- `project_id: string`

### Query Parameters

- `organization_id: optional string`

### Cookie Parameters

- `session: optional string`

### Body Parameters

- `name: string`

  The project's new display name.

### Returns

- `Project object { id, name, organization_id, 3 more }`

  API response schema for a project.

  - `id: string`

    The project's unique identifier.

  - `name: string`

    The project's display name.

  - `organization_id: string`

    The organization the project belongs to.

  - `created_at: optional string`

    Creation datetime

  - `is_default: optional boolean`

    Whether this project is the default project for its organization.

  - `updated_at: optional string`

    Update datetime

### Example

```http
curl https://api.cloud.llamaindex.ai/api/v2/projects/$PROJECT_ID \
    -X PUT \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $LLAMA_CLOUD_API_KEY" \
    -d '{
          "name": "x"
        }'
```

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

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

Delete a project by ID.

### Path Parameters

- `project_id: string`

### Query Parameters

- `organization_id: optional string`

### Cookie Parameters

- `session: optional string`

### Example

```http
curl https://api.cloud.llamaindex.ai/api/v2/projects/$PROJECT_ID \
    -X DELETE \
    -H "Authorization: Bearer $LLAMA_CLOUD_API_KEY"
```

## Domain Types

### Project

- `Project object { id, name, organization_id, 3 more }`

  API response schema for a project.

  - `id: string`

    The project's unique identifier.

  - `name: string`

    The project's display name.

  - `organization_id: string`

    The organization the project belongs to.

  - `created_at: optional string`

    Creation datetime

  - `is_default: optional boolean`

    Whether this project is the default project for its organization.

  - `updated_at: optional string`

    Update datetime
