## Create Index `client.Beta.Indexes.New(ctx, params) (*BetaIndexNewResponse, error)` **post** `/api/v1/indexes` Create a searchable index over a source directory. ### Parameters - `params BetaIndexNewParams` - `SourceDirectoryID param.Field[string]` Body param: ID of the source directory containing your documents. - `OrganizationID param.Field[string]` Query param - `ProjectID param.Field[string]` Query param - `Description param.Field[string]` Body param: Optional description of the index. - `Name param.Field[string]` Body param: Optional display name for the index. If omitted, the index is named after the source directory. - `Products param.Field[[]BetaIndexNewParamsProduct]` 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. - `ProductConfigID string` ID of the product configuration. - `ProductType string` Product type. One of: parse, extract. - `StoreAttachments param.Field[[]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. - `SyncFrequency param.Field[string]` Body param: How often to re-run the sync. One of: manual, daily, on_source_change. Defaults to manual. - `VectorTarget param.Field[BetaIndexNewParamsVectorTarget]` 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'. - `const BetaIndexNewParamsVectorTargetDefault BetaIndexNewParamsVectorTarget = "DEFAULT"` - `const BetaIndexNewParamsVectorTargetDisabled BetaIndexNewParamsVectorTarget = "DISABLED"` ### Returns - `type BetaIndexNewResponse struct{…}` A searchable index over a directory of documents. - `ID string` Unique identifier - `ExportConfigID string` ID of the export configuration. - `Name string` Index name. - `ProjectID string` Project this index belongs to. - `SourceDirectoryID string` ID of the source directory. - `SyncConfigID string` ID of the sync configuration. - `CreatedAt Time` Creation datetime - `Description string` Index description. - `LastExportedAt Time` Last export time. - `LastSyncedAt Time` Last sync time. - `Metadata map[string, any]` Build state and diagnostic info. - `UpdatedAt Time` Update datetime ### Example ```go package main import ( "context" "fmt" "github.com/run-llama/llama-parse-go" "github.com/run-llama/llama-parse-go/option" ) func main() { client := llamacloudprod.NewClient( option.WithAPIKey("My API Key"), ) index, err := client.Beta.Indexes.New(context.TODO(), llamacloudprod.BetaIndexNewParams{ SourceDirectoryID: "dir-abc123", }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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" } ```