## Create Index

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

Create a searchable index over a source directory.

### Query Parameters

- `organization_id: optional string`

- `project_id: optional string`

### Cookie Parameters

- `session: optional string`

### Body Parameters

- `source_directory_id: string`

  ID of the source directory containing your documents.

- `description: optional string`

  Optional description of the index.

- `name: optional string`

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

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

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

    ID of the product configuration.

  - `product_type: string`

    Product type. One of: parse, extract.

- `store_attachments: optional array of string`

  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`

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

- `vector_target: optional "DEFAULT" or "DISABLED"`

  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'.

  - `"DEFAULT"`

  - `"DISABLED"`

### Returns

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

```http
curl https://api.cloud.llamaindex.ai/api/v1/indexes \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $LLAMA_CLOUD_API_KEY" \
    -d '{
          "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"
}
```
