Skip to content

Create Vector Store

POST/v5/vector-stores/create

Create a new vector store for storing and querying document embeddings.

The vector store name must be unique within your account and follow naming conventions (3-63 characters, alphanumeric with hyphens/underscores). Once created, the embedding configuration and dimensions are immutable and cannot be changed. To use a different model, you must create a new vector store.

Embedding Configuration: Provide embedding_config (for base or custom model deployments), embedding_model (shorthand for a base model), or dimensions only (raw embeddings).

  • With embedding_config or embedding_model: dimensions are auto-derived, and documents can be upserted with text content (auto-embedded) or with pre-computed embeddings.
  • With dimensions only: the store accepts only pre-computed embeddings. Semantic/hybrid queries are not supported (lexical search only).

Indexed Fields: Optionally specify metadata fields to index at creation time. Only indexed fields can be used for filtering — indexing is required, not just a performance optimization. Additional indexed fields can be added later using the configure endpoint, but cannot be removed once added. Keep in mind that each indexed field increases write latency and storage overhead, so only index fields you actively filter on.

Body ParametersJSONExpand Collapse
name: string

A unique name for the vector store within the account

dimensions: optional number

Dimension size of embedding vectors. Required when neither ‘embedding_config’ nor ‘embedding_model’ is set. Automatically derived when an embedding model is provided.

exclusiveMinimum0
embedding_config: optional EmbeddingConfig

The embedding configuration. Either ‘base’ type with an embedding_model, or ‘models_api’ type with a model_deployment_id for custom models.

One of the following:
EmbeddingConfigModelsAPI object { model_deployment_id, type }
model_deployment_id: string

The ID of the deployment of the created model in the Models API V3.

type: "models_api"

The type of the embedding configuration.

EmbeddingConfigBase object { embedding_model, type }
embedding_model: EmbeddingModelName or string

The name of the base embedding model to use. Either a known base model (EmbeddingModelName) or, in ray-serve deployments with NATIVE_OPENAI_EMBEDDING_GATEWAY enabled, any model id served by the OpenAI-compatible inference proxy (e.g. ‘nomic-embed-text-v1.5’). For fully custom deployments, use type ‘models_api’ with a model_deployment_id.

One of the following:
EmbeddingModelName = "sentence-transformers/all-MiniLM-L12-v2" or "sentence-transformers/multi-qa-distilbert-cos-v1" or "openai/text-embedding-ada-002" or 8 more
One of the following:
"sentence-transformers/all-MiniLM-L12-v2"
"sentence-transformers/multi-qa-distilbert-cos-v1"
"openai/text-embedding-ada-002"
"openai/text-embedding-3-small"
"openai/text-embedding-3-large"
"embed-english-v3.0"
"embed-english-light-v3.0"
"embed-multilingual-v3.0"
"gemini/text-embedding-005"
"gemini/text-multilingual-embedding-002"
"gemini/gemini-embedding-001"
string
type: optional "base"

The type of the embedding configuration.

embedding_model: optional EmbeddingModelName

The base embedding model to use. Shorthand for embedding_config with type ‘base’. Provide either embedding_config or embedding_model, not both.

One of the following:
"sentence-transformers/all-MiniLM-L12-v2"
"sentence-transformers/multi-qa-distilbert-cos-v1"
"openai/text-embedding-ada-002"
"openai/text-embedding-3-small"
"openai/text-embedding-3-large"
"embed-english-v3.0"
"embed-english-light-v3.0"
"embed-multilingual-v3.0"
"gemini/text-embedding-005"
"gemini/text-multilingual-embedding-002"
"gemini/gemini-embedding-001"
indexed_metadata_fields: optional map["string" or "number" or "boolean"]

Dictionary mapping metadata field names to their types for efficient filtering. Only STRING, NUMBER, and BOOLEAN types can be indexed.

One of the following:
"string"
"number"
"boolean"
ReturnsExpand Collapse
VectorStore object { id, created_at, embedding_dimensions, 4 more }

Response model for vector store operations.

id: string

The unique identifier of the vector store

created_at: string

Timestamp of creation

formatdate-time
embedding_dimensions: number

Dimensionality of the embedding vectors

name: string

The name of the vector store

updated_at: string

Timestamp of last update

formatdate-time
embedding_config: optional EmbeddingConfig

Embedding configuration identifying the model and its type. None for raw-embedding-only stores.

One of the following:
EmbeddingConfigModelsAPI object { model_deployment_id, type }
model_deployment_id: string

The ID of the deployment of the created model in the Models API V3.

type: "models_api"

The type of the embedding configuration.

EmbeddingConfigBase object { embedding_model, type }
embedding_model: EmbeddingModelName or string

The name of the base embedding model to use. Either a known base model (EmbeddingModelName) or, in ray-serve deployments with NATIVE_OPENAI_EMBEDDING_GATEWAY enabled, any model id served by the OpenAI-compatible inference proxy (e.g. ‘nomic-embed-text-v1.5’). For fully custom deployments, use type ‘models_api’ with a model_deployment_id.

One of the following:
EmbeddingModelName = "sentence-transformers/all-MiniLM-L12-v2" or "sentence-transformers/multi-qa-distilbert-cos-v1" or "openai/text-embedding-ada-002" or 8 more
One of the following:
"sentence-transformers/all-MiniLM-L12-v2"
"sentence-transformers/multi-qa-distilbert-cos-v1"
"openai/text-embedding-ada-002"
"openai/text-embedding-3-small"
"openai/text-embedding-3-large"
"embed-english-v3.0"
"embed-english-light-v3.0"
"embed-multilingual-v3.0"
"gemini/text-embedding-005"
"gemini/text-multilingual-embedding-002"
"gemini/gemini-embedding-001"
string
type: optional "base"

The type of the embedding configuration.

indexed_metadata_fields: optional map["string" or "number" or "boolean"]

Dictionary mapping metadata field names to their types

One of the following:
"string"
"number"
"boolean"

Create Vector Store

curl https://api.egp.scale.com/v5/vector-stores/create \
    -H 'Content-Type: application/json' \
    -H "x-api-key: $SGP_API_KEY" \
    -d '{
          "name": "name"
        }'
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "embedding_dimensions": 0,
  "name": "name",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "embedding_config": {
    "model_deployment_id": "model_deployment_id",
    "type": "models_api"
  },
  "indexed_metadata_fields": {
    "foo": "string"
  }
}
Returns Examples
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "embedding_dimensions": 0,
  "name": "name",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "embedding_config": {
    "model_deployment_id": "model_deployment_id",
    "type": "models_api"
  },
  "indexed_metadata_fields": {
    "foo": "string"
  }
}