# Indexes

## Get Index

`beta.indexes.get(strindex_id, IndexGetParams**kwargs)  -> IndexGetResponse`

**get** `/api/v1/indexes/{index_id}`

Get an index by ID.

### Parameters

- `index_id: str`

- `organization_id: Optional[str]`

- `project_id: Optional[str]`

### Returns

- `class IndexGetResponse: …`

  A searchable index over a directory of documents.

  - `id: str`

    Unique identifier

  - `export_config_id: str`

    ID of the export configuration.

  - `name: str`

    Index name.

  - `project_id: str`

    Project this index belongs to.

  - `source_directory_id: str`

    ID of the source directory.

  - `sync_config_id: str`

    ID of the sync configuration.

  - `created_at: Optional[datetime]`

    Creation datetime

  - `description: Optional[str]`

    Index description.

  - `last_exported_at: Optional[datetime]`

    Last export time.

  - `last_synced_at: Optional[datetime]`

    Last sync time.

  - `metadata: Optional[Dict[str, object]]`

    Build state and diagnostic info.

  - `updated_at: Optional[datetime]`

    Update datetime

### Example

```python
import os
from llama_cloud import LlamaCloud

client = LlamaCloud(
    api_key=os.environ.get("LLAMA_CLOUD_API_KEY"),  # This is the default and can be omitted
)
index = client.beta.indexes.get(
    index_id="index_id",
)
print(index.id)
```

#### Response

```json
{
  "id": "id",
  "export_config_id": "export_config_id",
  "name": "name",
  "project_id": "project_id",
  "source_directory_id": "source_directory_id",
  "sync_config_id": "sync_config_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "last_exported_at": "2019-12-27T18:11:19.117Z",
  "last_synced_at": "2019-12-27T18:11:19.117Z",
  "metadata": {
    "foo": "bar"
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Delete Index

`beta.indexes.delete(strindex_id, IndexDeleteParams**kwargs)`

**delete** `/api/v1/indexes/{index_id}`

Delete an index.

### Parameters

- `index_id: str`

- `organization_id: Optional[str]`

- `project_id: Optional[str]`

### Example

```python
import os
from llama_cloud import LlamaCloud

client = LlamaCloud(
    api_key=os.environ.get("LLAMA_CLOUD_API_KEY"),  # This is the default and can be omitted
)
client.beta.indexes.delete(
    index_id="index_id",
)
```

## Create Index

`beta.indexes.create(IndexCreateParams**kwargs)  -> IndexCreateResponse`

**post** `/api/v1/indexes`

Create a searchable index over a source directory.

### Parameters

- `source_directory_id: str`

  ID of the source directory containing your documents.

- `organization_id: Optional[str]`

- `project_id: Optional[str]`

- `description: Optional[str]`

  Optional description of the index.

- `products: Optional[Iterable[Product]]`

  Product configurations for syncing. Omit to use a default parse configuration. Include an explicit entry per product type (e.g. parse, extract) to override the default.

  - `product_config_id: str`

    ID of the product configuration.

  - `product_type: Literal["parse", "extract"]`

    Product type: parse or extract.

    - `"parse"`

    - `"extract"`

### Returns

- `class IndexCreateResponse: …`

  A searchable index over a directory of documents.

  - `id: str`

    Unique identifier

  - `export_config_id: str`

    ID of the export configuration.

  - `name: str`

    Index name.

  - `project_id: str`

    Project this index belongs to.

  - `source_directory_id: str`

    ID of the source directory.

  - `sync_config_id: str`

    ID of the sync configuration.

  - `created_at: Optional[datetime]`

    Creation datetime

  - `description: Optional[str]`

    Index description.

  - `last_exported_at: Optional[datetime]`

    Last export time.

  - `last_synced_at: Optional[datetime]`

    Last sync time.

  - `metadata: Optional[Dict[str, object]]`

    Build state and diagnostic info.

  - `updated_at: Optional[datetime]`

    Update datetime

### Example

```python
import os
from llama_cloud import LlamaCloud

client = LlamaCloud(
    api_key=os.environ.get("LLAMA_CLOUD_API_KEY"),  # This is the default and can be omitted
)
index = client.beta.indexes.create(
    source_directory_id="dir-abc123",
)
print(index.id)
```

#### Response

```json
{
  "id": "id",
  "export_config_id": "export_config_id",
  "name": "name",
  "project_id": "project_id",
  "source_directory_id": "source_directory_id",
  "sync_config_id": "sync_config_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "last_exported_at": "2019-12-27T18:11:19.117Z",
  "last_synced_at": "2019-12-27T18:11:19.117Z",
  "metadata": {
    "foo": "bar"
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Sync Index

`beta.indexes.sync(strindex_id, IndexSyncParams**kwargs)  -> object`

**post** `/api/v1/indexes/{index_id}/sync`

Trigger a sync and export for an existing index, re-parsing changed files and exporting updated chunks.

### Parameters

- `index_id: str`

- `organization_id: Optional[str]`

- `project_id: Optional[str]`

### Returns

- `object`

### Example

```python
import os
from llama_cloud import LlamaCloud

client = LlamaCloud(
    api_key=os.environ.get("LLAMA_CLOUD_API_KEY"),  # This is the default and can be omitted
)
response = client.beta.indexes.sync(
    index_id="index_id",
)
print(response)
```

#### Response

```json
{}
```

## Domain Types

### Index Get Response

- `class IndexGetResponse: …`

  A searchable index over a directory of documents.

  - `id: str`

    Unique identifier

  - `export_config_id: str`

    ID of the export configuration.

  - `name: str`

    Index name.

  - `project_id: str`

    Project this index belongs to.

  - `source_directory_id: str`

    ID of the source directory.

  - `sync_config_id: str`

    ID of the sync configuration.

  - `created_at: Optional[datetime]`

    Creation datetime

  - `description: Optional[str]`

    Index description.

  - `last_exported_at: Optional[datetime]`

    Last export time.

  - `last_synced_at: Optional[datetime]`

    Last sync time.

  - `metadata: Optional[Dict[str, object]]`

    Build state and diagnostic info.

  - `updated_at: Optional[datetime]`

    Update datetime

### Index Create Response

- `class IndexCreateResponse: …`

  A searchable index over a directory of documents.

  - `id: str`

    Unique identifier

  - `export_config_id: str`

    ID of the export configuration.

  - `name: str`

    Index name.

  - `project_id: str`

    Project this index belongs to.

  - `source_directory_id: str`

    ID of the source directory.

  - `sync_config_id: str`

    ID of the sync configuration.

  - `created_at: Optional[datetime]`

    Creation datetime

  - `description: Optional[str]`

    Index description.

  - `last_exported_at: Optional[datetime]`

    Last export time.

  - `last_synced_at: Optional[datetime]`

    Last sync time.

  - `metadata: Optional[Dict[str, object]]`

    Build state and diagnostic info.

  - `updated_at: Optional[datetime]`

    Update datetime
