Resources
Vector Stores File Batches — Create
OpenAI API endpoint method reference.
For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending
.mdto the page URL.
Create vector store file batch
post /vector_stores/{vector_store_id}/file_batches
Create a vector store file batch.
Path Parameters
vector_store_id: string
Body Parameters
-
attributes: optional map[string or number or boolean] or nullSet 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.
-
string -
number -
boolean
-
-
chunking_strategy: optional FileChunkingStrategyParamThe chunking strategy used to chunk the file(s). If not set, will use the
autostrategy.-
AutoFileChunkingStrategyParam object { type }The default strategy. This strategy currently uses a
max_chunk_size_tokensof800andchunk_overlap_tokensof400.-
type: "auto"Always
auto."auto"
-
-
StaticFileChunkingStrategyObjectParam object { static, type }Customize your own chunking strategy by setting chunk size and chunk overlap.
-
static: StaticFileChunkingStrategy-
chunk_overlap_tokens: numberThe 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: numberThe maximum number of tokens in each chunk. The default value is
800. The minimum value is100and the maximum value is4096.
-
-
type: "static"Always
static."static"
-
-
-
file_ids: optional array of stringA list of File↗ IDs that the vector store should use. Useful for tools like
file_searchthat can access files. Ifattributesorchunking_strategyare provided, they will be applied to all files in the batch. The maximum batch size is 2000 files. This endpoint is recommended for multi-file ingestion and helps reduce per-vector-store write request pressure. Mutually exclusive withfiles. -
files: optional array of object { file_id, attributes, chunking_strategy }A list of objects that each include a
file_idplus optionalattributesorchunking_strategy. Use this when you need to override metadata for specific files. The globalattributesorchunking_strategywill be ignored and must be specified for each file. The maximum batch size is 2000 files. This endpoint is recommended for multi-file ingestion and helps reduce per-vector-store write request pressure. Mutually exclusive withfile_ids.-
file_id: stringA File↗ ID that the vector store should use. Useful for tools like
file_searchthat can access files. For multi-file ingestion, we recommendfile_batches↗ to minimize per-vector-store write requests. -
attributes: optional map[string or number or boolean] or nullSet 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.
-
string -
number -
boolean
-
-
chunking_strategy: optional FileChunkingStrategyParamThe chunking strategy used to chunk the file(s). If not set, will use the
autostrategy.
-
Returns
-
VectorStoreFileBatch object { id, created_at, file_counts, 3 more }A batch of files attached to a vector store.
-
id: stringThe identifier, which can be referenced in API endpoints.
-
created_at: numberThe Unix timestamp (in seconds) for when the vector store files batch was created.
-
file_counts: object { cancelled, completed, failed, 2 more }-
cancelled: numberThe number of files that where cancelled.
-
completed: numberThe number of files that have been processed.
-
failed: numberThe number of files that have failed to process.
-
in_progress: numberThe number of files that are currently being processed.
-
total: numberThe total number of files.
-
-
object: "vector_store.files_batch"The object type, which is always
vector_store.file_batch."vector_store.files_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,cancelledorfailed.-
"in_progress" -
"completed" -
"cancelled" -
"failed"
-
-
vector_store_id: stringThe ID of the vector store↗ that the File↗ is attached to.
-
Example
curl https://api.openai.com/v1/vector_stores/$VECTOR_STORE_ID/file_batches \
-H 'Content-Type: application/json' \
-H 'OpenAI-Beta: assistants=v2' \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{}'
Response
{
"id": "id",
"created_at": 0,
"file_counts": {
"cancelled": 0,
"completed": 0,
"failed": 0,
"in_progress": 0,
"total": 0
},
"object": "vector_store.files_batch",
"status": "in_progress",
"vector_store_id": "vector_store_id"
}
Example
curl https://api.openai.com/v1/vector_stores/vs_abc123/file_batches \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json \
-H "OpenAI-Beta: assistants=v2" \
-d '{
"files": [
{
"file_id": "file-abc123",
"attributes": {"category": "finance"}
},
{
"file_id": "file-abc456",
"chunking_strategy": {
"type": "static",
"max_chunk_size_tokens": 1200,
"chunk_overlap_tokens": 200
}
}
]
}'
Response
{
"id": "vsfb_abc123",
"object": "vector_store.file_batch",
"created_at": 1699061776,
"vector_store_id": "vs_abc123",
"status": "in_progress",
"file_counts": {
"in_progress": 1,
"completed": 1,
"failed": 0,
"cancelled": 0,
"total": 0,
}
}