> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mka1.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a vector store

> Creates a new vector store for storing and searching through document embeddings.



## OpenAPI

````yaml https://apigw.mka1.com/speakeasy.json post /api/v1/llm/vector_stores
openapi: 3.1.1
info:
  title: MKA1 API
  version: 1.1.0
  description: >-
    The MKA1 API is a RESTful API that provides access to the MKA1 platform.
    Learn how to get started with the API and the TypeScript SDK
    [here](https://mka1.apidocumentation.com/guides/getting-started).
  license:
    name: Proprietary
servers:
  - url: https://apigw.mka1.com
    description: MKA1 API Gateway
  - url: /
    description: Relative server URL (configurable via SDK constructor)
security: []
tags:
  - name: Resource Authorization
    description: >-
      Manage permissions for LLM resources. Create resources, grant/revoke
      permissions, and delete resources. Only resource owners can grant, revoke,
      or delete permissions.
    x-displayName: Resource Authorization
  - name: Embeddings
    description: >-
      Text embedding API endpoints for generating vector representations of
      text. Create semantic embeddings for search, clustering, and similarity
      matching using various embedding models.
    x-displayName: Embeddings
  - name: Feedback
    description: >-
      User feedback API for rating and commenting on chat completions. Collect
      thumbs up/down ratings and detailed feedback to improve model responses
      and track user satisfaction.
    x-displayName: Feedback
  - name: Images
    description: >-
      Image generation API endpoints for creating images from text descriptions.
      Generate images with control over size, quality, and style.
    x-displayName: Images
  - name: MCP Vault
    description: >-
      MCP vault API for storing user-owned MCP server configurations and
      encrypted credentials. Agents reference vault IDs so secrets are resolved
      only at tool execution time.
    x-displayName: MCP Vault
  - name: Speech
    description: >-
      Speech API endpoints for audio processing. Convert text to
      natural-sounding speech (TTS) or transcribe speech to text (STT) in
      different languages.
    x-displayName: Speech
  - name: Usage
    description: >-
      Usage tracking and analytics API for monitoring token consumption, request
      counts, and cost analysis. View detailed statistics per user, model, and
      time period.
    x-displayName: Usage
  - name: Extract
    description: >-
      Structured data extraction API for extracting information from files.
      Define JSON schemas to extract structured data from images, PDFs, and
      documents. Supports reusable schema templates.
    x-displayName: Extract
  - name: Text Classification
    description: >-
      Text classification API for categorizing text into predefined labels. Use
      AI models to classify text content for sentiment analysis, topic
      categorization, and content moderation.
    x-displayName: Text Classification
  - name: Responses
    description: >-
      Agent-powered responses API for creating AI agents with autonomous tool
      usage. Build conversational assistants that can use web search, file
      operations, image generation, code execution, computer use simulation, and
      MCP integrations. Supports background processing, streaming, and real-time
      status tracking.
    x-displayName: Responses
  - name: Files
    description: >-
      File management API for uploading, storing, and managing files with
      automatic expiration and S3 integration. Upload files that can be used
      with Assistants, Vector Stores, and other features. Files are stored in S3
      with metadata tracked in PostgreSQL. Supports automatic cleanup of expired
      files.
    x-displayName: Files
  - name: Vector Stores
    description: >-
      Vector store API for storing and searching documents using embeddings.
      Create vector stores, upload files with automatic chunking and embedding
      generation, and perform semantic search. Files are processed
      asynchronously using Temporal workflows for durability. Supports automatic
      cleanup of expired stores and LanceDB for efficient vector storage.
    x-displayName: Vector Stores
  - name: Conversations
    description: >-
      Conversation management API for storing and retrieving conversation state
      across Response API calls. Create conversations, add items (user messages,
      assistant messages, system messages), and maintain conversation history.
      Supports metadata tracking and multi-turn dialogue state management.
    x-displayName: Conversations
  - name: Guardrails
    description: >-
      AI safety guardrails API for configuring content moderation and security
      policies. Set up ban word lists, prompt injection detection, and system
      prompt leakage prevention. Guardrails apply to all requests from an
      account and can be tested before deployment.
    x-displayName: Guardrails
  - name: Models
    description: >-
      Model listing API for discovering available models. Returns model IDs,
      ownership, and metadata for all registered models in the gateway.
    x-displayName: Models
  - name: Skills
    description: >-
      Skills API for managing versioned bundles of instructions and files
      following the Agent Skills standard. Create, version, and download
      reusable skill packages that include SKILL.md manifests for agent
      environments.
    x-displayName: Skills
  - name: Chat Completions
    description: >-
      **Deprecated: Use the Responses API (`/api/v1/llm/responses`) instead.**
      Chat completion endpoints with support for streaming, tool calls, and
      multiple providers.
    x-deprecated: true
    x-displayName: Chat Completions
  - name: Batches
    x-displayName: Batches
  - name: Evals
    x-displayName: Evals
  - name: Fine-Tuning
    x-displayName: Fine-Tuning
  - name: Memory Stores
    x-displayName: Memory Stores
  - name: Prompts
    x-displayName: Prompts
  - name: API Key
    x-displayName: API Key
  - name: Organization
    x-displayName: Organization
  - name: Cluster Admin
    x-displayName: Cluster Admin
  - name: Sessions
    description: Create, inspect, access, and terminate sandbox sessions.
    x-displayName: Sessions
  - name: Browser
    description: >-
      Connect to browser sessions through the gateway port proxy. Browser
      sessions expose a Chrome DevTools Protocol endpoint on port 9222.
    x-displayName: Browser
  - name: Execution
    description: Run shell commands and code inside an existing sandbox session.
    x-displayName: Execution
  - name: Workspace
    description: >-
      Inspect the workspace manifest, transfer files or archives, and download
      generated artifacts.
    x-displayName: Workspace
  - name: Sandbox Usage
    description: >-
      Aggregate sandbox usage statistics across sessions, execution, and
      workspace operations.
    x-displayName: Sandbox Usage
  - name: Sandbox Pricing
    description: >-
      Cluster-admin management of the sandbox compute rate card used for
      budgeted spend.
    x-displayName: Sandbox Pricing
  - name: Agents
    description: Create and manage reusable agent definitions.
    x-displayName: Agents
  - name: Agent Versions
    description: Inspect an agent's configuration history and roll back to a prior version.
    x-displayName: Agent Versions
  - name: Agent Runs
    description: Execute saved agents and inspect persisted run results.
    x-displayName: Agent Runs
  - name: Agent Connectors
    description: >-
      Connect saved agents to external messaging channels such as Telegram,
      including text, photo, and supported document exchange.
    x-displayName: Agent Connectors
  - name: Agent Schedules
    description: Create and manage scheduled or recurring saved agent runs.
    x-displayName: Agent Schedules
  - name: schema-4_other
    x-displayName: other
  - name: Budgets
    x-displayName: Budgets
  - name: Settings
    x-displayName: Settings
  - name: Deployments
    description: Long-lived inference servers.
    x-displayName: Deployments
  - name: Fine-Tune Jobs
    description: Submit, monitor, and cancel fine-tune jobs.
    x-displayName: Fine-Tune Jobs
  - name: Container Images
    description: Custom container images for deployments and jobs.
    x-displayName: Container Images
  - name: Serving Models
    description: Models registered for deployment and fine-tuning.
    x-displayName: Serving Models
  - name: Volumes
    description: Persistent storage for weights and checkpoints.
    x-displayName: Volumes
  - name: Secrets
    description: Credentials injected into your workloads.
    x-displayName: Secrets
  - name: Accelerators
    description: Available accelerator types (GPU, NPU, TPU).
    x-displayName: Accelerators
paths:
  /api/v1/llm/vector_stores:
    post:
      tags:
        - Vector Stores
      summary: Create a vector store
      description: >-
        Creates a new vector store for storing and searching through document
        embeddings.
      operationId: createVectorStore
      parameters:
        - name: X-On-Behalf-Of
          in: header
          required: false
          schema:
            type: string
          description: Optional external end-user identifier forwarded by the API gateway.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateVectorStoreRequest'
            example:
              name: Product Documentation
              description: Vector store for product manuals and documentation
              file_ids:
                - file-abc123
              expires_after:
                anchor: last_active_at
                days: 30
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VectorStore'
              example:
                id: vs_abc123
                object: vector_store
                created_at: 1704067200
                name: Product Documentation
                usage_bytes: 1024000
                embedding_model: auto
                embedding_dimensions: 1536
                file_counts:
                  in_progress: 0
                  completed: 5
                  failed: 0
                  cancelled: 0
                  total: 5
                status: completed
                last_active_at: 1704153600
                last_used_at: 1704153600
                metadata:
                  department: engineering
                description: Vector store for product manuals and docs
                expires_at: null
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: python
          label: Python (SDK)
          source: |-
            from meetkai_mka1 import SDK


            with SDK(
                bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
            ) as sdk:

                res = sdk.llm.vector_stores.create(name="Product Documentation", description="Vector store for product manuals and documentation", file_ids=[
                    "file-abc123",
                ], expires_after={
                    "anchor": "last_active_at",
                    "days": 30,
                })

                # Handle response
                print(res)
        - lang: typescript
          label: Typescript (SDK)
          source: |-
            import { SDK } from "@meetkai/mka1";

            const sdk = new SDK({
              bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
            });

            async function run() {
              const result = await sdk.llm.vectorStores.create({
                createVectorStoreRequest: {
                  name: "Product Documentation",
                  description: "Vector store for product manuals and documentation",
                  fileIds: [
                    "file-abc123",
                  ],
                  expiresAfter: {
                    anchor: "last_active_at",
                    days: 30,
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: csharp
          label: CSharp (SDK)
          source: >-
            using MeetKai.MKA1;

            using MeetKai.MKA1.Types.Components;

            using System.Collections.Generic;


            var sdk = new SDK(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");


            var res = await sdk.Llm.VectorStores.CreateAsync(body: new
            MeetKai.MKA1.Types.Components.CreateVectorStoreRequest() {
                Name = "Product Documentation",
                Description = "Vector store for product manuals and documentation",
                FileIds = new List<string>() {
                    "file-abc123",
                },
                ExpiresAfter = new CreateVectorStoreRequestExpiresAfter() {
                    Days = 30,
                },
            });


            // handle response
components:
  schemas:
    CreateVectorStoreRequest:
      type: object
      properties:
        name:
          type: string
          description: The name of the vector store.
        description:
          type: string
          description: >-
            A description for the vector store. Can be used to describe the
            vector store's purpose.
        file_ids:
          type: array
          maxItems: 500
          items:
            type: string
          description: >-
            A list of File IDs that the vector store should use. Useful for
            tools like file_search that can access files. At most 500 per
            request.
        expires_after:
          type: object
          properties:
            anchor:
              const: last_active_at
              description: >-
                Anchor timestamp after which the expiration policy applies.
                Supported anchors: last_active_at.
            days:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: >-
                The number of days after the anchor time that the vector store
                will expire.
          required:
            - anchor
            - days
          description: The expiration policy for a vector store.
        chunking_strategy:
          anyOf:
            - $ref: '#/components/schemas/AutoChunkingStrategy'
            - $ref: '#/components/schemas/StaticChunkingStrategy'
          description: >-
            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.
        metadata:
          type: object
          propertyNames:
            type: string
            maxLength: 64
          additionalProperties:
            type: string
            maxLength: 512
          description: >-
            Set of 16 key-value pairs that can be attached to an object. Keys
            are strings with a maximum length of 64 characters. Values are
            strings with a maximum length of 512 characters.
        embedding_model:
          type: string
          description: >-
            The embedding model to use. Defaults to the auto-configured model if
            not specified.
        embedding_dimensions:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          exclusiveMinimum: 0
          description: >-
            The number of dimensions for the embedding vectors. Only supported
            for models with flexible dimensions. If not specified, uses the
            model's default dimensions.
        retrieval_mode:
          enum:
            - vector
            - graph
          type: string
          description: >-
            Retrieval mode, frozen at creation (cannot be changed later).
            'vector' (default): standard vector similarity search. 'graph':
            GraphRAG — entities and relations are extracted from every chunk at
            ingest (metered against your usage) and search traverses the
            knowledge graph.
        extraction_model:
          type: string
          description: >-
            Model used for entity/relation extraction on graph stores
            (ingest-time triplet extraction and query-entity extraction).
            Defaults to the auto-configured model, resolved at creation time —
            same contract as embedding_model. Only valid when retrieval_mode is
            'graph'.
        max_hops:
          type: integer
          minimum: 1
          maximum: 4
          description: >-
            Graph expansion depth for graph-mode queries (1-4, engine default
            2). Only valid for graph stores.
      description: Request body for creating a vector store.
      examples:
        - name: Product Documentation
          description: Vector store for product manuals and documentation
          expires_after:
            anchor: last_active_at
            days: 30
        - name: Compact Embeddings Store
          embedding_model: auto
          embedding_dimensions: 256
    VectorStore:
      type: object
      properties:
        id:
          type: string
          description: The identifier, which can be referenced in API endpoints.
        object:
          const: vector_store
          description: The object type, which is always 'vector_store'.
        created_at:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: >-
            The Unix timestamp (in seconds) for when the vector store was
            created.
        name:
          anyOf:
            - type: string
            - type: 'null'
          description: The name of the vector store.
        usage_bytes:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: The total number of bytes used by the files in the vector store.
        embedding_model:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The embedding model used for this vector store. Resolved at creation
            time from the requested or auto model. Null for legacy vector
            stores.
        embedding_dimensions:
          anyOf:
            - type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              exclusiveMinimum: 0
            - type: 'null'
          description: >-
            The number of dimensions for the embedding vectors in this vector
            store. Null for legacy vector stores.
        retrieval_mode:
          enum:
            - vector
            - hybrid
            - graph
          type: string
          description: >-
            Retrieval mode, frozen at creation. 'vector': standard vector
            similarity search. 'graph': GraphRAG — entities and relations are
            extracted at ingest and queries traverse the knowledge graph.
            'hybrid' is reserved.
        extraction_model:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The model used for entity/relation extraction on graph stores. Null
            for non-graph stores.
        max_hops:
          anyOf:
            - type: integer
              minimum: 1
              maximum: 4
            - type: 'null'
          description: >-
            Graph expansion depth for graph-mode queries. Null for non-graph
            stores.
        file_counts:
          $ref: '#/components/schemas/FileCounts'
        status:
          enum:
            - expired
            - in_progress
            - completed
          type: string
          description: >-
            The status of the vector store. 'expired' means the store has
            expired, 'in_progress' means files are still being processed,
            'completed' indicates that the vector store is ready for use.
        expires_after:
          type: object
          properties:
            anchor:
              const: last_active_at
              description: >-
                Anchor timestamp after which the expiration policy applies.
                Supported anchors: last_active_at.
            days:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: >-
                The number of days after the anchor time that the vector store
                will expire.
          required:
            - anchor
            - days
          description: The expiration policy for a vector store.
        expires_at:
          anyOf:
            - type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            - type: 'null'
          description: >-
            The Unix timestamp (in seconds) for when the vector store will
            expire.
        last_active_at:
          anyOf:
            - type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            - type: 'null'
          description: >-
            The Unix timestamp (in seconds) for when the vector store was last
            active.
        metadata:
          type: object
          propertyNames:
            type: string
            maxLength: 64
          additionalProperties:
            anyOf:
              - type: string
                maxLength: 512
              - type: boolean
              - type: number
          description: >-
            Set of 16 key-value pairs that can be attached to an object. Keys
            are strings with a maximum length of 64 characters. Values are
            strings with a maximum length of 512 characters, booleans, or
            numbers.
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            A description for the vector store. Can be used to describe the
            vector store's purpose.
        last_used_at:
          anyOf:
            - type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            - type: 'null'
          description: >-
            The Unix timestamp (in seconds) for when the vector store was last
            used.
      required:
        - id
        - object
        - created_at
        - name
        - usage_bytes
        - embedding_model
        - embedding_dimensions
        - retrieval_mode
        - file_counts
        - status
        - last_active_at
        - metadata
        - last_used_at
      description: >-
        A vector store is a collection of processed files that can be used by
        the file_search tool.
      examples:
        - id: vs_abc123
          object: vector_store
          created_at: 1704067200
          name: Product Documentation
          usage_bytes: 1024000
          embedding_model: auto
          embedding_dimensions: 1536
          file_counts:
            in_progress: 0
            completed: 5
            failed: 0
            cancelled: 0
            total: 5
          status: completed
          last_active_at: 1704153600
          last_used_at: 1704153600
          metadata:
            department: engineering
    AutoChunkingStrategy:
      type: object
      properties:
        type:
          const: auto
          description: Always 'auto'. The default chunking strategy.
      required:
        - type
      description: >-
        The default chunking strategy. This strategy currently uses a
        max_chunk_size_tokens of 800 and chunk_overlap_tokens of 400.
    StaticChunkingStrategy:
      type: object
      properties:
        type:
          const: static
          description: Always 'static'.
        static:
          type: object
          properties:
            chunk_overlap_tokens:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: >-
                The number of tokens that overlap between chunks. The default
                value is 400. Must not exceed half of max_chunk_size_tokens.
            max_chunk_size_tokens:
              type: integer
              minimum: 100
              maximum: 4096
              description: >-
                The maximum number of tokens in each chunk. The default value is
                800. The minimum value is 100 and the maximum value is 4096.
          required:
            - chunk_overlap_tokens
            - max_chunk_size_tokens
      required:
        - type
        - static
      description: >-
        Customize your own chunking strategy by setting chunk size and chunk
        overlap.
    FileCounts:
      type: object
      properties:
        in_progress:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: The number of files that are currently being processed.
        completed:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: The number of files that have been successfully processed.
        failed:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: The number of files that have failed to process.
        cancelled:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: The number of files that were cancelled.
        total:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: The total number of files.
      required:
        - in_progress
        - completed
        - failed
        - cancelled
        - total
      description: File processing status counts.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Gateway auth: send `Authorization: Bearer <mka1-api-key>`. For
        multi-user server-side integrations, you can also send `X-On-Behalf-Of:
        <external-user-id>`.

````