Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft Edge More info about Internet Explorer and Microsoft Edge
microsoft-foundry.rest.security.o-auth2-auth

Vector stores

Create a vector store

POST /openai/v1/vector_stores

Creates a vector store from the supplied request.

Request Body

The request body.

Content-Type: application/json
file_ids string[]

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

name string

The name of the vector store.

description string

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

expires_after OpenAI.VectorStoreExpirationAfter

The expiration policy for a vector store.

anchor enum required

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

last_active_at
days integer required
chunking_strategy auto | static

The chunking strategy used to chunk the file(s). If not set, will use the auto strategy.

One of the following:
auto OpenAI.AutoChunkingStrategyRequestParam

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

type enum required

Always auto.

auto
static OpenAI.StaticChunkingStrategyRequestParam

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

type enum required

Always static.

static
static OpenAI.StaticChunkingStrategy required
max_chunk_size_tokens integer required
chunk_overlap_tokens integer required
metadata OpenAI.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.

[key: string] string

Responses

The request has succeeded.

Body

Content-Type: application/json
id string required

The identifier, which can be referenced in API endpoints.

object enum required

The object type, which is always vector_store.

vector_store
created_at integer required

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

name string required

The name of the vector store.

usage_bytes integer required
file_counts OpenAI.VectorStoreObjectFileCounts required
in_progress integer required
completed integer required
failed integer required
cancelled integer required
total integer required
status enum required

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.

expiredin_progresscompleted
expires_after OpenAI.VectorStoreExpirationAfter

The expiration policy for a vector store.

anchor enum required

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

last_active_at
days integer required
expires_at integer | null
last_active_at integer | null required
metadata OpenAI.Metadata | null required

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.

[key: string] string

Client error

Body

Content-Type: application/json
error OpenAI.Error required
code string | null required
message string required
param string | null
type string
misalignment OpenAI.MisalignmentErrorDetailsResource
review_target string | null
error_type string | enum
Any of the following:
string
enum
potentially_unintended_data_transferpotentially_unintended_data_accesspotentially_unintended_destructive_activityother
detailed_explanation string

The public explanation for this block.

steer OpenAI._MisalignmentSteer
message string required

The public continuation instruction.

details OpenAI.Error[]
additionalInfo object
debugInfo object

Server error

Body

Content-Type: application/json
error OpenAI.Error required
code string | null required
message string required
param string | null
type string
misalignment OpenAI.MisalignmentErrorDetailsResource
review_target string | null
error_type string | enum
Any of the following:
string
enum
potentially_unintended_data_transferpotentially_unintended_data_accesspotentially_unintended_destructive_activityother
detailed_explanation string

The public explanation for this block.

steer OpenAI._MisalignmentSteer
message string required

The public continuation instruction.

details OpenAI.Error[]
additionalInfo object
debugInfo object

Request

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"
  }'
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),  # This is the default and can be omitted
)
vector_store = client.vector_stores.create()
print(vector_store.id)
import OpenAI from "openai";
const openai = new OpenAI();

async function main() {
  const vectorStore = await openai.vectorStores.create({
    name: "Support FAQ"
  });
  console.log(vectorStore);
}

main();
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env['OPENAI_API_KEY'], // This is the default and can be omitted
});

const vectorStore = await client.vectorStores.create();

console.log(vectorStore.id);
package main

import (
    "context"
    "fmt"

    "github.com/openai/openai-go"
    "github.com/openai/openai-go/option"
)

func main() {
    client := openai.NewClient(
        option.WithAPIKey("My API Key"),
    )
    vectorStore, err := client.VectorStores.New(context.TODO(), openai.VectorStoreNewParams{})
    if err != nil {
        panic(err.Error())
    }
    fmt.Printf("%+v
", vectorStore.ID)
}
package com.openai.example;

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.vectorstores.VectorStore;
import com.openai.models.vectorstores.VectorStoreCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.fromEnv();

        VectorStore vectorStore = client.vectorStores().create();
    }
}
require "openai"

openai = OpenAI::Client.new(api_key: "My API Key")

vector_store = openai.vector_stores.create

puts(vector_store)

Response

{
  "id": "vs_abc123",
  "object": "vector_store",
  "created_at": 1699061776,
  "name": "Support FAQ",
  "description": "Contains commonly asked questions and answers, organized by topic.",
  "bytes": 139920,
  "file_counts": {
    "in_progress": 0,
    "completed": 3,
    "failed": 0,
    "cancelled": 0,
    "total": 3
  }
}
en-us
Your Privacy Choices
  • AI Disclaimer
  • Previous Versions
  • Blog
  • Contribute
  • Privacy
  • Consumer Health Privacy
  • Terms of Use
  • Trademarks
  • © Microsoft 2026