Skip to content
Primary navigation

Vector Stores

List vector stores
client.vectorStores.list(VectorStoreListParams { after, before, limit, order } query?, RequestOptionsoptions?): CursorPage<VectorStore { id, created_at, file_counts, 8 more } >
GET/vector_stores
Create vector store
client.vectorStores.create(VectorStoreCreateParams { chunking_strategy, description, expires_after, 3 more } body, RequestOptionsoptions?): VectorStore { id, created_at, file_counts, 8 more }
POST/vector_stores
Retrieve vector store
client.vectorStores.retrieve(stringvectorStoreID, RequestOptionsoptions?): VectorStore { id, created_at, file_counts, 8 more }
GET/vector_stores/{vector_store_id}
Modify vector store
client.vectorStores.update(stringvectorStoreID, VectorStoreUpdateParams { expires_after, metadata, name } body, RequestOptionsoptions?): VectorStore { id, created_at, file_counts, 8 more }
POST/vector_stores/{vector_store_id}
Delete vector store
client.vectorStores.delete(stringvectorStoreID, RequestOptionsoptions?): VectorStoreDeleted { id, deleted, object }
DELETE/vector_stores/{vector_store_id}
Search vector store
client.vectorStores.search(stringvectorStoreID, VectorStoreSearchParams { query, filters, max_num_results, 2 more } body, RequestOptionsoptions?): Page<VectorStoreSearchResponse { attributes, content, file_id, 2 more } >
POST/vector_stores/{vector_store_id}/search
ModelsExpand Collapse
AutoFileChunkingStrategyParam { type }

The default strategy. This strategy currently uses a max_chunk_size_tokens of 800 and chunk_overlap_tokens of 400.

type: "auto"

Always auto.

FileChunkingStrategy = StaticFileChunkingStrategyObject { static, type } | OtherFileChunkingStrategyObject { type }

The strategy used to chunk the file.

One of the following:
StaticFileChunkingStrategyObject { static, type }
static: StaticFileChunkingStrategy { chunk_overlap_tokens, max_chunk_size_tokens }
type: "static"

Always static.

OtherFileChunkingStrategyObject { type }

This is returned when the chunking strategy is unknown. Typically, this is because the file was indexed before the chunking_strategy concept was introduced in the API.

type: "other"

Always other.

FileChunkingStrategyParam = AutoFileChunkingStrategyParam { type } | StaticFileChunkingStrategyObjectParam { static, type }

The chunking strategy used to chunk the file(s). If not set, will use the auto strategy. Only applicable if file_ids is non-empty.

One of the following:
AutoFileChunkingStrategyParam { type }

The default strategy. This strategy currently uses a max_chunk_size_tokens of 800 and chunk_overlap_tokens of 400.

type: "auto"

Always auto.

StaticFileChunkingStrategyObjectParam { static, type }

Customize your own chunking strategy by setting chunk size and chunk overlap.

static: StaticFileChunkingStrategy { chunk_overlap_tokens, max_chunk_size_tokens }
type: "static"

Always static.

OtherFileChunkingStrategyObject { type }

This is returned when the chunking strategy is unknown. Typically, this is because the file was indexed before the chunking_strategy concept was introduced in the API.

type: "other"

Always other.

StaticFileChunkingStrategy { chunk_overlap_tokens, max_chunk_size_tokens }
chunk_overlap_tokens: number

The number of tokens that overlap between chunks. The default value is 400.

Note that the overlap must not exceed half of max_chunk_size_tokens.

max_chunk_size_tokens: number

The maximum number of tokens in each chunk. The default value is 800. The minimum value is 100 and the maximum value is 4096.

minimum100
maximum4096
StaticFileChunkingStrategyObject { static, type }
static: StaticFileChunkingStrategy { chunk_overlap_tokens, max_chunk_size_tokens }
type: "static"

Always static.

StaticFileChunkingStrategyObjectParam { static, type }

Customize your own chunking strategy by setting chunk size and chunk overlap.

static: StaticFileChunkingStrategy { chunk_overlap_tokens, max_chunk_size_tokens }
type: "static"

Always static.

VectorStore { id, created_at, file_counts, 8 more }

A vector store is a collection of processed files can be used by the file_search tool.

id: string

The identifier, which can be referenced in API endpoints.

created_at: number

The Unix timestamp (in seconds) for when the vector store was created.

file_counts: FileCounts { cancelled, completed, failed, 2 more }
cancelled: number

The number of files that were cancelled.

completed: number

The number of files that have been successfully processed.

failed: number

The number of files that have failed to process.

in_progress: number

The number of files that are currently being processed.

total: number

The total number of files.

last_active_at: number | null

The Unix timestamp (in seconds) for when the vector store was last active.

metadata: Metadata | null

Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.

name: string

The name of the vector store.

object: "vector_store"

The object type, which is always vector_store.

status: "expired" | "in_progress" | "completed"

The status of the vector store, which can be either expired, in_progress, or completed. A status of completed indicates that the vector store is ready for use.

One of the following:
"expired"
"in_progress"
"completed"
usage_bytes: number

The total number of bytes used by the files in the vector store.

expires_after?: ExpiresAfter { anchor, days }

The expiration policy for a vector store.

anchor: "last_active_at"

Anchor timestamp after which the expiration policy applies. Supported anchors: last_active_at.

days: number

The number of days after the anchor time that the vector store will expire.

minimum1
maximum365
expires_at?: number | null

The Unix timestamp (in seconds) for when the vector store will expire.

VectorStoreDeleted { id, deleted, object }
id: string
deleted: boolean
object: "vector_store.deleted"

Vector StoresFiles

List vector store files
client.vectorStores.files.list(stringvectorStoreID, FileListParams { after, before, filter, 2 more } query?, RequestOptionsoptions?): CursorPage<VectorStoreFile { id, created_at, last_error, 6 more } >
GET/vector_stores/{vector_store_id}/files
Create vector store file
client.vectorStores.files.create(stringvectorStoreID, FileCreateParams { file_id, attributes, chunking_strategy } body, RequestOptionsoptions?): VectorStoreFile { id, created_at, last_error, 6 more }
POST/vector_stores/{vector_store_id}/files
Update vector store file attributes
client.vectorStores.files.update(stringfileID, FileUpdateParams { vector_store_id, attributes } params, RequestOptionsoptions?): VectorStoreFile { id, created_at, last_error, 6 more }
POST/vector_stores/{vector_store_id}/files/{file_id}
Retrieve vector store file
client.vectorStores.files.retrieve(stringfileID, FileRetrieveParams { vector_store_id } params, RequestOptionsoptions?): VectorStoreFile { id, created_at, last_error, 6 more }
GET/vector_stores/{vector_store_id}/files/{file_id}
Delete vector store file
client.vectorStores.files.delete(stringfileID, FileDeleteParams { vector_store_id } params, RequestOptionsoptions?): VectorStoreFileDeleted { id, deleted, object }
DELETE/vector_stores/{vector_store_id}/files/{file_id}
Retrieve vector store file content
client.vectorStores.files.content(stringfileID, FileContentParams { vector_store_id } params, RequestOptionsoptions?): Page<FileContentResponse { text, type } >
GET/vector_stores/{vector_store_id}/files/{file_id}/content
ModelsExpand Collapse
VectorStoreFile { id, created_at, last_error, 6 more }

A list of files attached to a vector store.

id: string

The identifier, which can be referenced in API endpoints.

created_at: number

The Unix timestamp (in seconds) for when the vector store file was created.

last_error: LastError | null

The last error associated with this vector store file. Will be null if there are no errors.

code: "server_error" | "unsupported_file" | "invalid_file"

One of server_error, unsupported_file, or invalid_file.

One of the following:
"server_error"
"unsupported_file"
"invalid_file"
message: string

A human-readable description of the error.

object: "vector_store.file"

The object type, which is always vector_store.file.

status: "in_progress" | "completed" | "cancelled" | "failed"

The status of the vector store file, which can be either in_progress, completed, cancelled, or failed. The status completed indicates that the vector store file is ready for use.

One of the following:
"in_progress"
"completed"
"cancelled"
"failed"
usage_bytes: number

The total vector store usage in bytes. Note that this may be different from the original file size.

vector_store_id: string

The ID of the vector store that the File is attached to.

attributes?: Record<string, string | number | boolean> | null

Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard. Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters, booleans, or numbers.

One of the following:
string
number
boolean
chunking_strategy?: FileChunkingStrategy

The strategy used to chunk the file.

VectorStoreFileDeleted { id, deleted, object }
id: string
deleted: boolean
object: "vector_store.file.deleted"

Vector StoresFile Batches

Create vector store file batch
client.vectorStores.fileBatches.create(stringvectorStoreID, FileBatchCreateParams { attributes, chunking_strategy, file_ids, files } body, RequestOptionsoptions?): VectorStoreFileBatch { id, created_at, file_counts, 3 more }
POST/vector_stores/{vector_store_id}/file_batches
Retrieve vector store file batch
client.vectorStores.fileBatches.retrieve(stringbatchID, FileBatchRetrieveParams { vector_store_id } params, RequestOptionsoptions?): VectorStoreFileBatch { id, created_at, file_counts, 3 more }
GET/vector_stores/{vector_store_id}/file_batches/{batch_id}
Cancel vector store file batch
client.vectorStores.fileBatches.cancel(stringbatchID, FileBatchCancelParams { vector_store_id } params, RequestOptionsoptions?): VectorStoreFileBatch { id, created_at, file_counts, 3 more }
POST/vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel
List vector store files in a batch
client.vectorStores.fileBatches.listFiles(stringbatchID, FileBatchListFilesParams { vector_store_id, after, before, 3 more } params, RequestOptionsoptions?): CursorPage<VectorStoreFile { id, created_at, last_error, 6 more } >
GET/vector_stores/{vector_store_id}/file_batches/{batch_id}/files
ModelsExpand Collapse
VectorStoreFileBatch { id, created_at, file_counts, 3 more }

A batch of files attached to a vector store.

id: string

The identifier, which can be referenced in API endpoints.

created_at: number

The Unix timestamp (in seconds) for when the vector store files batch was created.

file_counts: FileCounts { cancelled, completed, failed, 2 more }
cancelled: number

The number of files that where cancelled.

completed: number

The number of files that have been processed.

failed: number

The number of files that have failed to process.

in_progress: number

The number of files that are currently being processed.

total: number

The total number of files.

object: "vector_store.files_batch"

The object type, which is always vector_store.file_batch.

status: "in_progress" | "completed" | "cancelled" | "failed"

The status of the vector store files batch, which can be either in_progress, completed, cancelled or failed.

One of the following:
"in_progress"
"completed"
"cancelled"
"failed"
vector_store_id: string

The ID of the vector store that the File is attached to.