Skip to content

Vector Stores

List vector stores
vector_stores.list(**kwargs) -> CursorPage<VectorStore { id, created_at, file_counts, 8 more } >
GET/vector_stores
Create vector store
vector_stores.create(**kwargs) -> VectorStore { id, created_at, file_counts, 8 more }
POST/vector_stores
Retrieve vector store
vector_stores.retrieve(vector_store_id) -> VectorStore { id, created_at, file_counts, 8 more }
GET/vector_stores/{vector_store_id}
Modify vector store
vector_stores.update(vector_store_id, **kwargs) -> VectorStore { id, created_at, file_counts, 8 more }
POST/vector_stores/{vector_store_id}
Delete vector store
vector_stores.delete(vector_store_id) -> VectorStoreDeleted { id, deleted, object }
DELETE/vector_stores/{vector_store_id}
Search vector store
vector_stores.search(vector_store_id, **kwargs) -> Page<VectorStoreSearchResponse { attributes, content, file_id, 2 more } >
POST/vector_stores/{vector_store_id}/search
ModelsExpand Collapse
class 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.

Accepts one of the following:
class StaticFileChunkingStrategyObject { static, type }
static: StaticFileChunkingStrategy { chunk_overlap_tokens, max_chunk_size_tokens }
type: :static

Always static.

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

Accepts one of the following:
class 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.

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

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

class StaticFileChunkingStrategy { chunk_overlap_tokens, max_chunk_size_tokens }
chunk_overlap_tokens: Integer

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: Integer

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
class StaticFileChunkingStrategyObject { static, type }
static: StaticFileChunkingStrategy { chunk_overlap_tokens, max_chunk_size_tokens }
type: :static

Always static.

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

class 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: Integer

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

file_counts: { cancelled, completed, failed, 2 more}
cancelled: Integer

The number of files that were cancelled.

completed: Integer

The number of files that have been successfully processed.

failed: Integer

The number of files that have failed to process.

in_progress: Integer

The number of files that are currently being processed.

total: Integer

The total number of files.

last_active_at: Integer

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

metadata: Metadata

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.

Accepts one of the following:
:expired
:in_progress
:completed
usage_bytes: Integer

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

expires_after: { 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: Integer

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

minimum1
maximum365
expires_at: Integer

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

class VectorStoreDeleted { id, deleted, object }
id: String
deleted: bool
object: :"vector_store.deleted"

Vector StoresFiles

List vector store files
vector_stores.files.list(vector_store_id, **kwargs) -> CursorPage<VectorStoreFile { id, created_at, last_error, 6 more } >
GET/vector_stores/{vector_store_id}/files
Create vector store file
vector_stores.files.create(vector_store_id, **kwargs) -> VectorStoreFile { id, created_at, last_error, 6 more }
POST/vector_stores/{vector_store_id}/files
Update vector store file attributes
vector_stores.files.update(file_id, **kwargs) -> VectorStoreFile { id, created_at, last_error, 6 more }
POST/vector_stores/{vector_store_id}/files/{file_id}
Retrieve vector store file
vector_stores.files.retrieve(file_id, **kwargs) -> VectorStoreFile { id, created_at, last_error, 6 more }
GET/vector_stores/{vector_store_id}/files/{file_id}
Delete vector store file
vector_stores.files.delete(file_id, **kwargs) -> VectorStoreFileDeleted { id, deleted, object }
DELETE/vector_stores/{vector_store_id}/files/{file_id}
Retrieve vector store file content
vector_stores.files.content(file_id, **kwargs) -> Page<FileContentResponse { text, type } >
GET/vector_stores/{vector_store_id}/files/{file_id}/content
ModelsExpand Collapse
class 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: Integer

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

last_error: { code, message}

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.

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

Accepts one of the following:
:in_progress
:completed
:cancelled
:failed
usage_bytes: Integer

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: Hash[Symbol, String | Float | bool]

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.

Accepts one of the following:
String
Float
bool
chunking_strategy: FileChunkingStrategy

The strategy used to chunk the file.

class VectorStoreFileDeleted { id, deleted, object }
id: String
deleted: bool
object: :"vector_store.file.deleted"

Vector StoresFile Batches

Create vector store file batch
vector_stores.file_batches.create(vector_store_id, **kwargs) -> VectorStoreFileBatch { id, created_at, file_counts, 3 more }
POST/vector_stores/{vector_store_id}/file_batches
Retrieve vector store file batch
vector_stores.file_batches.retrieve(batch_id, **kwargs) -> VectorStoreFileBatch { id, created_at, file_counts, 3 more }
GET/vector_stores/{vector_store_id}/file_batches/{batch_id}
Cancel vector store file batch
vector_stores.file_batches.cancel(batch_id, **kwargs) -> 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
vector_stores.file_batches.list_files(batch_id, **kwargs) -> CursorPage<VectorStoreFile { id, created_at, last_error, 6 more } >
GET/vector_stores/{vector_store_id}/file_batches/{batch_id}/files
ModelsExpand Collapse
class 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: Integer

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

file_counts: { cancelled, completed, failed, 2 more}
cancelled: Integer

The number of files that where cancelled.

completed: Integer

The number of files that have been processed.

failed: Integer

The number of files that have failed to process.

in_progress: Integer

The number of files that are currently being processed.

total: Integer

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.

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