---
title: "Create a store"
method: POST
path: "/v1/stores"
tags: ["stores"]
---

# Create a store

`POST /v1/stores`

Create a new vector store.

Args:
    vector_store_create: VectorStoreCreate object containing the name, description, and metadata.

Returns:
    VectorStore: The response containing the created vector store details.

## Request body

- StoreCreateParams — Parameters for creating a new store.
  - `name` string, nullable — Name for the new store. Can only contain lowercase letters, numbers, periods (.), and hyphens (-).
  - `description` string, nullable — Description of the store
  - `is_public` boolean — Whether the store can be accessed by anyone with valid login credentials
  - `license` string, nullable — License for public stores
  - `expires_after` ExpiresAfter — Represents an expiration policy for a store.
    - `anchor` 'last_active_at' — Anchor date for the expiration policy
    - `days` integer — Number of days after which the store expires
  - `metadata` unknown
  - `config` StoreConfig — Configuration for a store.
    - `contextualization` union — Contextualize files with metadata
      - boolean
      - ContextualizationConfig
        - `with_metadata` union — Include all metadata or specific fields in the contextualization. Supports dot notation for nested fields (e.g., 'author.name'). When True, all metadata is included (flattened). When a list, only specified fields are included.
          - boolean
          - string[]
        - `with_file_context` boolean — Use an LLM to generate a short context for each chunk with parsed text, OCR, transcription, or a summary that situates it within the document, improving retrieval accuracy. During sliced ingestion, chunks are situated within their current slice.
    - `save_content` boolean — Whether to save original content in the store. When False, only vectors are indexed without the original content (index-only mode). This is useful for data privacy. Note: Reranking is not supported when content is not saved.
  - `file_ids` string[], nullable — Optional list of file IDs

## Response `201`

The details of the created store

- Store — Model representing a store with its metadata and timestamps.
  - `id` string, required — Unique identifier for the store
  - `name` string, required — Name of the store
  - `description` string, nullable — Detailed description of the store's purpose and contents
  - `is_public` boolean — Whether the store can be accessed by anyone with valid login credentials
  - `license` string, nullable — License for public stores
  - `metadata` unknown
  - `config` StoreConfig — Configuration for a store.
    - `contextualization` union — Contextualize files with metadata
      - boolean
      - ContextualizationConfig
        - `with_metadata` union — Include all metadata or specific fields in the contextualization. Supports dot notation for nested fields (e.g., 'author.name'). When True, all metadata is included (flattened). When a list, only specified fields are included.
          - boolean
          - string[]
        - `with_file_context` boolean — Use an LLM to generate a short context for each chunk with parsed text, OCR, transcription, or a summary that situates it within the document, improving retrieval accuracy. During sliced ingestion, chunks are situated within their current slice.
    - `save_content` boolean — Whether to save original content in the store. When False, only vectors are indexed without the original content (index-only mode). This is useful for data privacy. Note: Reranking is not supported when content is not saved.
  - `bucket_id` string, nullable — Customer bucket backing this store's storage; null = platform default
  - `file_counts` FileCounts — Tracks counts of files in different states within a store.
    - `pending` integer — Number of files waiting to be processed
    - `in_progress` integer — Number of files currently being processed
    - `cancelled` integer — Number of files whose processing was cancelled
    - `completed` integer — Number of successfully processed files
    - `failed` integer — Number of files that failed processing
    - `total` integer — Total number of files
  - `expires_after` ExpiresAfter — Represents an expiration policy for a store.
    - `anchor` 'last_active_at' — Anchor date for the expiration policy
    - `days` integer — Number of days after which the store expires
  - `status` 'expired' | 'in_progress' | 'completed' — Status of a store.
  - `created_at` string, date-time, required — Timestamp when the store was created
  - `updated_at` string, date-time, required — Timestamp when the store was last updated
  - `last_active_at` string, date-time, nullable — Timestamp when the store was last used
  - `usage_bytes` integer — Total storage usage in bytes
  - `usage_tokens` integer — Total storage usage in tokens
  - `expires_at` string, date-time, nullable — Optional expiration timestamp for the store
  - `object` 'store' — Type of the object

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/mixedbread/apis/mxbai-omni.md) · [All operations](https://skmtc.net/mixedbread/apis/mxbai-omni/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mixedbread/mxbai-omni/versions/2eece97b5ae5/schema)
