Skip to content
Framework Docs

Create Index

client.beta.indexes.create(IndexCreateParams { source_directory_id, organization_id, project_id, 6 more } params, RequestOptionsoptions?): IndexCreateResponse { id, export_config_id, name, 9 more }
POST/api/v1/indexes

Create a searchable index over a source directory.

ParametersExpand Collapse
params: IndexCreateParams { source_directory_id, organization_id, project_id, 6 more }
source_directory_id: string

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

organization_id?: string | null

Query param

formatuuid
project_id?: string | null

Query param

formatuuid
description?: string | null

Body param: Optional description of the index.

name?: string | null

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

products?: Array<Product> | null

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.

product_config_id: string

ID of the product configuration.

product_type: string

Product type. One of: parse, extract.

store_attachments?: Array<string> | null

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

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

vector_target?: "DEFAULT" | "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’.

One of the following:
"DEFAULT"
"DISABLED"
ReturnsExpand Collapse
IndexCreateResponse { id, export_config_id, name, 9 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.

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?: string | null

Creation datetime

formatdate-time
description?: string | null

Index description.

last_exported_at?: string | null

Last export time.

formatdate-time
last_synced_at?: string | null

Last sync time.

formatdate-time
metadata?: Record<string, unknown>

Build state and diagnostic info.

updated_at?: string | null

Update datetime

formatdate-time

Create Index

import LlamaCloud from '@llamaindex/llama-cloud';

const client = new LlamaCloud({
  apiKey: process.env['LLAMA_CLOUD_API_KEY'], // This is the default and can be omitted
});

const index = await client.beta.indexes.create({ source_directory_id: 'dir-abc123' });

console.log(index.id);
{
  "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"
}
Returns Examples
{
  "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"
}