Skip to content
For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Primary navigation
Theme

Create vector store

POST
/vector_stores

Create a vector store.

Body Parameters
JSON
chunking_strategy: optional 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.

One of the following:
AutoFileChunkingStrategyParam 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.

StaticFileChunkingStrategyObjectParam object { static, type }

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

static: 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
type: "static"

Always static.

description: optional string

A description for the vector store. Can be used to describe the vector store’s purpose.

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

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

minimum1
maximum365
file_ids: optional array of string

A list of File IDs that the vector store should use. Useful for tools like file_search that can access files.

maxItems500
metadata: optional Metadata or 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: optional string

The name of the vector store.

Returns
VectorStore 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: integer

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

formatunixtime
file_counts: object { 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 or null

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

formatunixtime
metadata: Metadata or 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" 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.

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

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

minimum1
maximum365
expires_at: optional integer or null

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

formatunixtime

Create vector store

curl https://api.openai.com/v1/vector_stores \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "OpenAI-Beta: assistants=v2" \
  -d '{
    "name": "Support FAQ"
  }'
Response example
{
  "id": "vs_abc123",
  "object": "vector_store",
  "created_at": 1699061776,
  "name": "Support FAQ",
  "description": "Contains commonly asked questions and answers, organized by topic.",
  "file_counts": {
    "in_progress": 0,
    "completed": 0,
    "failed": 0,
    "cancelled": 0,
    "total": 0
  },
  "usage_bytes": 0,
  "status": "completed",
  "last_active_at": null,
  "metadata": {}
}
Returns Examples
Response example
{
  "id": "vs_abc123",
  "object": "vector_store",
  "created_at": 1699061776,
  "name": "Support FAQ",
  "description": "Contains commonly asked questions and answers, organized by topic.",
  "file_counts": {
    "in_progress": 0,
    "completed": 0,
    "failed": 0,
    "cancelled": 0,
    "total": 0
  },
  "usage_bytes": 0,
  "status": "completed",
  "last_active_at": null,
  "metadata": {}
}