Skip to content
Primary navigation

Vector Stores

List vector stores
$ openai vector-stores list
GET/vector_stores
Create vector store
$ openai vector-stores create
POST/vector_stores
Retrieve vector store
$ openai vector-stores retrieve
GET/vector_stores/{vector_store_id}
Modify vector store
$ openai vector-stores update
POST/vector_stores/{vector_store_id}
Delete vector store
$ openai vector-stores delete
DELETE/vector_stores/{vector_store_id}
Search vector store
$ openai vector-stores search
POST/vector_stores/{vector_store_id}/search
ModelsExpand Collapse
auto_file_chunking_strategy_param: object { 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.

file_chunking_strategy: StaticFileChunkingStrategyObject { static, type } or OtherFileChunkingStrategyObject { type }

The strategy used to chunk the file.

static_file_chunking_strategy_object: object { static, type }
static: object { 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.

type: "static"

Always static.

other_file_chunking_strategy_object: object { 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.

file_chunking_strategy_param: AutoFileChunkingStrategyParam { type } or 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.

auto_file_chunking_strategy_param: object { 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.

static_file_chunking_strategy_object_param: object { static, type }

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

static: object { 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.

type: "static"

Always static.

other_file_chunking_strategy_object: object { 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.

static_file_chunking_strategy: object { 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.

static_file_chunking_strategy_object: object { static, type }
static: object { 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.

type: "static"

Always static.

static_file_chunking_strategy_object_param: object { static, type }

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

static: object { 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.

type: "static"

Always static.

vector_store: object { 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: object { 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

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

metadata: map[string]

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" or "in_progress" or "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.

"expired"
"in_progress"
"completed"
usage_bytes: number

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

expires_after: optional object { 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.

expires_at: optional number

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

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

Vector StoresFiles

List vector store files
$ openai vector-stores:files list
GET/vector_stores/{vector_store_id}/files
Create vector store file
$ openai vector-stores:files create
POST/vector_stores/{vector_store_id}/files
Update vector store file attributes
$ openai vector-stores:files update
POST/vector_stores/{vector_store_id}/files/{file_id}
Retrieve vector store file
$ openai vector-stores:files retrieve
GET/vector_stores/{vector_store_id}/files/{file_id}
Delete vector store file
$ openai vector-stores:files delete
DELETE/vector_stores/{vector_store_id}/files/{file_id}
Retrieve vector store file content
$ openai vector-stores:files content
GET/vector_stores/{vector_store_id}/files/{file_id}/content
ModelsExpand Collapse
vector_store_file: object { 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: object { code, message }

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

code: "server_error" or "unsupported_file" or "invalid_file"

One of server_error, unsupported_file, or invalid_file.

"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" or "completed" or "cancelled" or "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.

"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: optional map[string or number or boolean]

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.

union_member_0: string
union_member_1: number
union_member_2: boolean
chunking_strategy: optional StaticFileChunkingStrategyObject { static, type } or OtherFileChunkingStrategyObject { type }

The strategy used to chunk the file.

static_file_chunking_strategy_object: object { static, type }
static: object { 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.

type: "static"

Always static.

other_file_chunking_strategy_object: object { 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.

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

Vector StoresFile Batches

Create vector store file batch
$ openai vector-stores:file-batches create
POST/vector_stores/{vector_store_id}/file_batches
Retrieve vector store file batch
$ openai vector-stores:file-batches retrieve
GET/vector_stores/{vector_store_id}/file_batches/{batch_id}
Cancel vector store file batch
$ openai vector-stores:file-batches cancel
POST/vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel
List vector store files in a batch
$ openai vector-stores:file-batches list-files
GET/vector_stores/{vector_store_id}/file_batches/{batch_id}/files
ModelsExpand Collapse
vector_store_file_batch: object { 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: object { 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" or "completed" or "cancelled" or "failed"

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

"in_progress"
"completed"
"cancelled"
"failed"
vector_store_id: string

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