# Indexes

## Get Index

`$ llamacloud-prod beta:indexes get`

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

Get an index by ID.

### Parameters

- `--index-id: string`

- `--organization-id: optional string`

- `--project-id: optional string`

### Returns

- `BetaIndexGetResponse: object { id, export_config_id, name, 10 more }`

  A searchable index over a directory of documents.

  - `id: string`

    Unique identifier

  - `export_config_id: string`

    ID of the export configuration.

  - `name: string`

    Index name.

  - `output_directory_id: string`

    ID of the output directory holding the indexed files.

  - `project_id: string`

    Project this index belongs to.

  - `source_directory_id: string`

    ID of the source directory.

  - `sync_config_id: string`

    ID of the sync configuration.

  - `created_at: optional string`

    Creation datetime

  - `description: optional string`

    Index description.

  - `last_exported_at: optional string`

    Last export time.

  - `last_synced_at: optional string`

    Last sync time.

  - `metadata: optional map[unknown]`

    Build state and diagnostic info.

  - `updated_at: optional string`

    Update datetime

### Example

```cli
llamacloud-prod beta:indexes get \
  --api-key 'My API Key' \
  --index-id index_id
```

#### Response

```json
{
  "id": "id",
  "export_config_id": "export_config_id",
  "name": "name",
  "output_directory_id": "output_directory_id",
  "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

`$ llamacloud-prod beta:indexes delete`

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

Delete an index.

### Parameters

- `--index-id: string`

- `--organization-id: optional string`

- `--project-id: optional string`

### Example

```cli
llamacloud-prod beta:indexes delete \
  --api-key 'My API Key' \
  --index-id index_id
```

## Create Index

`$ llamacloud-prod beta:indexes create`

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

Create a searchable index over a source directory.

### Parameters

- `--source-directory-id: string`

  Body param: ID of the source directory containing your documents.

- `--organization-id: optional string`

  Query param

- `--project-id: optional string`

  Query param

- `--description: optional string`

  Body param: Optional description of the index.

- `--name: optional string`

  Body param: Optional display name for the index. If omitted, the index is named after the source directory.

- `--product: optional array of object { product_config_id, product_type }`

  Body param: 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.

- `--store-attachment: optional array of string`

  Body param: Attachment kinds to store alongside parsed output. Each entry must be one of: screenshots, items. For example, ['screenshots'] renders and stores per-page screenshots; ['items'] stores structured items with bounding boxes. Omit or pass an empty list to skip attachments.

- `--sync-frequency: optional string`

  Body param: How often to re-run the sync. One of: manual, daily, on_source_change. Defaults to manual.

- `--vector-target: optional "DEFAULT" or "DISABLED"`

  Body param: Vector export destination for the index. 'DEFAULT' exports to the managed vector DB destination resolved from configuration. 'DISABLED' skips vector export — the export destination falls back to 'Download'.

### Returns

- `BetaIndexNewResponse: object { id, export_config_id, name, 10 more }`

  A searchable index over a directory of documents.

  - `id: string`

    Unique identifier

  - `export_config_id: string`

    ID of the export configuration.

  - `name: string`

    Index name.

  - `output_directory_id: string`

    ID of the output directory holding the indexed files.

  - `project_id: string`

    Project this index belongs to.

  - `source_directory_id: string`

    ID of the source directory.

  - `sync_config_id: string`

    ID of the sync configuration.

  - `created_at: optional string`

    Creation datetime

  - `description: optional string`

    Index description.

  - `last_exported_at: optional string`

    Last export time.

  - `last_synced_at: optional string`

    Last sync time.

  - `metadata: optional map[unknown]`

    Build state and diagnostic info.

  - `updated_at: optional string`

    Update datetime

### Example

```cli
llamacloud-prod beta:indexes create \
  --api-key 'My API Key' \
  --source-directory-id dir-abc123
```

#### Response

```json
{
  "id": "id",
  "export_config_id": "export_config_id",
  "name": "name",
  "output_directory_id": "output_directory_id",
  "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

`$ llamacloud-prod beta:indexes sync`

**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: string`

- `--organization-id: optional string`

- `--project-id: optional string`

### Returns

- `BetaIndexSyncResponse: unknown`

### Example

```cli
llamacloud-prod beta:indexes sync \
  --api-key 'My API Key' \
  --index-id index_id
```

#### Response

```json
{}
```

## List Indexes

`$ llamacloud-prod beta:indexes list`

**get** `/api/v1/indexes`

List indexes for the current project.

### Parameters

- `--organization-id: optional string`

- `--page-size: optional number`

- `--page-token: optional string`

- `--project-id: optional string`

- `--source-directory-id: optional string`

### Returns

- `IndexQueryResponse: object { items, next_page_token, total_size }`

  Paginated list of indexes.

  - `items: array of object { id, export_config_id, name, 10 more }`

    The list of items.

    - `id: string`

      Unique identifier

    - `export_config_id: string`

      ID of the export configuration.

    - `name: string`

      Index name.

    - `output_directory_id: string`

      ID of the output directory holding the indexed files.

    - `project_id: string`

      Project this index belongs to.

    - `source_directory_id: string`

      ID of the source directory.

    - `sync_config_id: string`

      ID of the sync configuration.

    - `created_at: optional string`

      Creation datetime

    - `description: optional string`

      Index description.

    - `last_exported_at: optional string`

      Last export time.

    - `last_synced_at: optional string`

      Last sync time.

    - `metadata: optional map[unknown]`

      Build state and diagnostic info.

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

```cli
llamacloud-prod beta:indexes list \
  --api-key 'My API Key'
```

#### Response

```json
{
  "items": [
    {
      "id": "id",
      "export_config_id": "export_config_id",
      "name": "name",
      "output_directory_id": "output_directory_id",
      "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"
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```
