---
title: "Upload file to store"
method: POST
path: "/v1/stores/{store_identifier}/files"
tags: ["stores"]
---

# Upload file to store

`POST /v1/stores/{store_identifier}/files`

Upload a file to a store.

Args:
    store_identifier: The ID or name of the store.
    file_add_params: The file to add to the store.

Returns:
    VectorStoreFile: The uploaded file details.

## Path parameters

- `store_identifier` union, required — The ID or name of the store
  - string
  - string, uuid

## Request body

- DeprecatedStoreFileUpsertParams
  - `metadata` unknown
  - `config` StoreFileConfig — Configuration for a file.
    - `parsing_strategy` 'fast' | 'high_quality' — Strategy for adding a file to a store.
  - `external_id` string, nullable — External identifier for this file in the store
  - `overwrite` boolean — If true, overwrite an existing file with the same external_id
  - `file_id` string, uuid, required — ID of the file to add
  - `experimental` StoreFileConfig — Configuration for a file.
    - `parsing_strategy` 'fast' | 'high_quality' — Strategy for adding a file to a store.

## Response `201`

The uploaded store file details

- StoreFile — Represents a file stored in a store.
  - `id` string, required — Unique identifier for the file
  - `filename` string — Name of the file
  - `metadata` unknown
  - `external_id` string, nullable — External identifier for this file in the store
  - `status` 'pending' | 'in_progress' | 'cancelled' | 'completed' | 'failed'
  - `last_error` unknown
  - `store_id` string, required — ID of the containing store
  - `created_at` string, date-time, required — Timestamp of store file creation
  - `version` integer, nullable — Version number of the file
  - `usage_bytes` integer, nullable — Storage usage in bytes
  - `usage_tokens` integer, nullable — Storage usage in tokens
  - `config` StoreFileConfig — Configuration for a file.
    - `parsing_strategy` 'fast' | 'high_quality' — Strategy for adding a file to a store.
  - `object` 'store.file' — Type of the object
  - `chunks` union[], nullable — chunks
    - union
      - TextInputChunk
        - `chunk_index` integer, required — position of the chunk in a file
        - `mime_type` string — mime type of the chunk
        - `generated_metadata` union — metadata of the chunk
          - MarkdownChunkGeneratedMetadata
            - `type` 'markdown'
            - `file_type` 'text/markdown'
            - `language` string, nullable
            - `word_count` integer, nullable
            - `file_size` integer, nullable
            - `chunk_headings` MarkdownHeading[]
              - …
            - `heading_context` MarkdownHeading[]
              - …
            - `start_line` integer
            - `num_lines` integer
            - `file_extension` string, nullable
            - `frontmatter` object
          - TextChunkGeneratedMetadata
            - `type` 'text'
            - `file_type` 'text/plain' | 'message/rfc822'
            - `language` string, nullable
            - `word_count` integer, nullable
            - `file_size` integer, nullable
            - `start_line` integer
            - `num_lines` integer
            - `file_extension` string, nullable
          - PDFChunkGeneratedMetadata
            - `type` 'pdf'
            - `file_type` 'application/pdf'
            - `total_pages` integer, nullable
            - `total_size` integer, nullable
            - `file_extension` string, nullable
            - `layout` LayoutMetadata — Per-page layout for chunks parsed in high-quality (visual) mode. ``elements`` are ordered by reading order (list position == reading order). ``width``/``height`` are the page-image dimensions the ``bbox`` coords are relative to, so consumers can normalize/render without a second fetch. Layout is part of the generated metadata payload and is returned with the chunk whenever present.
              - …
          - CodeChunkGeneratedMetadata
            - `type` 'code'
            - `file_type` string, required
            - `language` string, nullable
            - `word_count` integer, nullable
            - `file_size` integer, nullable
            - `start_line` integer
            - `num_lines` integer
            - `file_extension` string, nullable
          - AudioChunkGeneratedMetadata
            - `type` 'audio'
            - `file_type` string
            - `file_size` integer, nullable
            - `total_duration_seconds` number, nullable
            - `sample_rate` integer, nullable
            - `channels` integer, nullable
            - `audio_format` integer, nullable
            - `bpm` integer, nullable
            - `file_extension` string, nullable
          - VideoChunkGeneratedMetadata
            - `type` 'video'
            - `file_type` string
            - `file_size` integer, nullable
            - `total_duration_seconds` number, nullable
            - `fps` number, nullable
            - `width` integer, nullable
            - `height` integer, nullable
            - `frame_count` integer, nullable
            - `has_audio_stream` boolean
            - `bpm` integer, nullable
            - `file_extension` string, nullable
          - ImageChunkGeneratedMetadata
            - `type` 'image'
            - `file_type` string
            - `file_size` integer, nullable
            - `width` integer, nullable
            - `height` integer, nullable
            - `file_extension` string, nullable
            - `layout` LayoutMetadata — Per-page layout for chunks parsed in high-quality (visual) mode. ``elements`` are ordered by reading order (list position == reading order). ``width``/``height`` are the page-image dimensions the ``bbox`` coords are relative to, so consumers can normalize/render without a second fetch. Layout is part of the generated metadata payload and is returned with the chunk whenever present.
              - …
        - `model` string, nullable — model used for this chunk
        - `type` 'text' — Input type identifier
        - `offset` integer — The offset of the text in the file relative to the start of the file.
        - `text` string, nullable — Text content
        - `context` string, nullable — LLM-generated context that situates this chunk within its source document
        - `summary` string, nullable — summary of the text chunk
      - ImageUrlInputChunk
        - `chunk_index` integer, required — position of the chunk in a file
        - `mime_type` string — mime type of the chunk
        - `generated_metadata` union — metadata of the chunk
          - MarkdownChunkGeneratedMetadata
            - `type` 'markdown'
            - `file_type` 'text/markdown'
            - `language` string, nullable
            - `word_count` integer, nullable
            - `file_size` integer, nullable
            - `chunk_headings` MarkdownHeading[]
              - …
            - `heading_context` MarkdownHeading[]
              - …
            - `start_line` integer
            - `num_lines` integer
            - `file_extension` string, nullable
            - `frontmatter` object
          - TextChunkGeneratedMetadata
            - `type` 'text'
            - `file_type` 'text/plain' | 'message/rfc822'
            - `language` string, nullable
            - `word_count` integer, nullable
            - `file_size` integer, nullable
            - `start_line` integer
            - `num_lines` integer
            - `file_extension` string, nullable
          - PDFChunkGeneratedMetadata
            - `type` 'pdf'
            - `file_type` 'application/pdf'
            - `total_pages` integer, nullable
            - `total_size` integer, nullable
            - `file_extension` string, nullable
            - `layout` LayoutMetadata — Per-page layout for chunks parsed in high-quality (visual) mode. ``elements`` are ordered by reading order (list position == reading order). ``width``/``height`` are the page-image dimensions the ``bbox`` coords are relative to, so consumers can normalize/render without a second fetch. Layout is part of the generated metadata payload and is returned with the chunk whenever present.
              - …
          - CodeChunkGeneratedMetadata
            - `type` 'code'
            - `file_type` string, required
            - `language` string, nullable
            - `word_count` integer, nullable
            - `file_size` integer, nullable
            - `start_line` integer
            - `num_lines` integer
            - `file_extension` string, nullable
          - AudioChunkGeneratedMetadata
            - `type` 'audio'
            - `file_type` string
            - `file_size` integer, nullable
            - `total_duration_seconds` number, nullable
            - `sample_rate` integer, nullable
            - `channels` integer, nullable
            - `audio_format` integer, nullable
            - `bpm` integer, nullable
            - `file_extension` string, nullable
          - VideoChunkGeneratedMetadata
            - `type` 'video'
            - `file_type` string
            - `file_size` integer, nullable
            - `total_duration_seconds` number, nullable
            - `fps` number, nullable
            - `width` integer, nullable
            - `height` integer, nullable
            - `frame_count` integer, nullable
            - `has_audio_stream` boolean
            - `bpm` integer, nullable
            - `file_extension` string, nullable
          - ImageChunkGeneratedMetadata
            - `type` 'image'
            - `file_type` string
            - `file_size` integer, nullable
            - `width` integer, nullable
            - `height` integer, nullable
            - `file_extension` string, nullable
            - `layout` LayoutMetadata — Per-page layout for chunks parsed in high-quality (visual) mode. ``elements`` are ordered by reading order (list position == reading order). ``width``/``height`` are the page-image dimensions the ``bbox`` coords are relative to, so consumers can normalize/render without a second fetch. Layout is part of the generated metadata payload and is returned with the chunk whenever present.
              - …
        - `model` string, nullable — model used for this chunk
        - `type` 'image_url' — Input type identifier
        - `ocr_text` string, nullable — ocr text of the image
        - `context` string, nullable — LLM-generated context that situates this image within its source document
        - `summary` string, nullable — summary of the image
        - `image_url` ImageUrlOutput — Model for image URL validation.
          - `url` string, required — The image URL. Can be either a URL or a Data URI.
          - `format` string — The image format/mimetype
      - AudioUrlInputChunk
        - `chunk_index` integer, required — position of the chunk in a file
        - `mime_type` string — mime type of the chunk
        - `generated_metadata` union — metadata of the chunk
          - MarkdownChunkGeneratedMetadata
            - `type` 'markdown'
            - `file_type` 'text/markdown'
            - `language` string, nullable
            - `word_count` integer, nullable
            - `file_size` integer, nullable
            - `chunk_headings` MarkdownHeading[]
              - …
            - `heading_context` MarkdownHeading[]
              - …
            - `start_line` integer
            - `num_lines` integer
            - `file_extension` string, nullable
            - `frontmatter` object
          - TextChunkGeneratedMetadata
            - `type` 'text'
            - `file_type` 'text/plain' | 'message/rfc822'
            - `language` string, nullable
            - `word_count` integer, nullable
            - `file_size` integer, nullable
            - `start_line` integer
            - `num_lines` integer
            - `file_extension` string, nullable
          - PDFChunkGeneratedMetadata
            - `type` 'pdf'
            - `file_type` 'application/pdf'
            - `total_pages` integer, nullable
            - `total_size` integer, nullable
            - `file_extension` string, nullable
            - `layout` LayoutMetadata — Per-page layout for chunks parsed in high-quality (visual) mode. ``elements`` are ordered by reading order (list position == reading order). ``width``/``height`` are the page-image dimensions the ``bbox`` coords are relative to, so consumers can normalize/render without a second fetch. Layout is part of the generated metadata payload and is returned with the chunk whenever present.
              - …
          - CodeChunkGeneratedMetadata
            - `type` 'code'
            - `file_type` string, required
            - `language` string, nullable
            - `word_count` integer, nullable
            - `file_size` integer, nullable
            - `start_line` integer
            - `num_lines` integer
            - `file_extension` string, nullable
          - AudioChunkGeneratedMetadata
            - `type` 'audio'
            - `file_type` string
            - `file_size` integer, nullable
            - `total_duration_seconds` number, nullable
            - `sample_rate` integer, nullable
            - `channels` integer, nullable
            - `audio_format` integer, nullable
            - `bpm` integer, nullable
            - `file_extension` string, nullable
          - VideoChunkGeneratedMetadata
            - `type` 'video'
            - `file_type` string
            - `file_size` integer, nullable
            - `total_duration_seconds` number, nullable
            - `fps` number, nullable
            - `width` integer, nullable
            - `height` integer, nullable
            - `frame_count` integer, nullable
            - `has_audio_stream` boolean
            - `bpm` integer, nullable
            - `file_extension` string, nullable
          - ImageChunkGeneratedMetadata
            - `type` 'image'
            - `file_type` string
            - `file_size` integer, nullable
            - `width` integer, nullable
            - `height` integer, nullable
            - `file_extension` string, nullable
            - `layout` LayoutMetadata — Per-page layout for chunks parsed in high-quality (visual) mode. ``elements`` are ordered by reading order (list position == reading order). ``width``/``height`` are the page-image dimensions the ``bbox`` coords are relative to, so consumers can normalize/render without a second fetch. Layout is part of the generated metadata payload and is returned with the chunk whenever present.
              - …
        - `model` string, nullable — model used for this chunk
        - `type` 'audio_url' — Input type identifier
        - `transcription` string, nullable — speech recognition (sr) text of the audio
        - `context` string, nullable — LLM-generated context that situates this audio chunk within its source file
        - `summary` string, nullable — summary of the audio
        - `audio_url` AudioUrl — Model for audio URL validation.
          - `url` string, required — The audio URL. Can be either a URL or a Data URI.
        - `sampling_rate` integer, required — The sampling rate of the audio.
      - VideoUrlInputChunk
        - `chunk_index` integer, required — position of the chunk in a file
        - `mime_type` string — mime type of the chunk
        - `generated_metadata` union — metadata of the chunk
          - MarkdownChunkGeneratedMetadata
            - `type` 'markdown'
            - `file_type` 'text/markdown'
            - `language` string, nullable
            - `word_count` integer, nullable
            - `file_size` integer, nullable
            - `chunk_headings` MarkdownHeading[]
              - …
            - `heading_context` MarkdownHeading[]
              - …
            - `start_line` integer
            - `num_lines` integer
            - `file_extension` string, nullable
            - `frontmatter` object
          - TextChunkGeneratedMetadata
            - `type` 'text'
            - `file_type` 'text/plain' | 'message/rfc822'
            - `language` string, nullable
            - `word_count` integer, nullable
            - `file_size` integer, nullable
            - `start_line` integer
            - `num_lines` integer
            - `file_extension` string, nullable
          - PDFChunkGeneratedMetadata
            - `type` 'pdf'
            - `file_type` 'application/pdf'
            - `total_pages` integer, nullable
            - `total_size` integer, nullable
            - `file_extension` string, nullable
            - `layout` LayoutMetadata — Per-page layout for chunks parsed in high-quality (visual) mode. ``elements`` are ordered by reading order (list position == reading order). ``width``/``height`` are the page-image dimensions the ``bbox`` coords are relative to, so consumers can normalize/render without a second fetch. Layout is part of the generated metadata payload and is returned with the chunk whenever present.
              - …
          - CodeChunkGeneratedMetadata
            - `type` 'code'
            - `file_type` string, required
            - `language` string, nullable
            - `word_count` integer, nullable
            - `file_size` integer, nullable
            - `start_line` integer
            - `num_lines` integer
            - `file_extension` string, nullable
          - AudioChunkGeneratedMetadata
            - `type` 'audio'
            - `file_type` string
            - `file_size` integer, nullable
            - `total_duration_seconds` number, nullable
            - `sample_rate` integer, nullable
            - `channels` integer, nullable
            - `audio_format` integer, nullable
            - `bpm` integer, nullable
            - `file_extension` string, nullable
          - VideoChunkGeneratedMetadata
            - `type` 'video'
            - `file_type` string
            - `file_size` integer, nullable
            - `total_duration_seconds` number, nullable
            - `fps` number, nullable
            - `width` integer, nullable
            - `height` integer, nullable
            - `frame_count` integer, nullable
            - `has_audio_stream` boolean
            - `bpm` integer, nullable
            - `file_extension` string, nullable
          - ImageChunkGeneratedMetadata
            - `type` 'image'
            - `file_type` string
            - `file_size` integer, nullable
            - `width` integer, nullable
            - `height` integer, nullable
            - `file_extension` string, nullable
            - `layout` LayoutMetadata — Per-page layout for chunks parsed in high-quality (visual) mode. ``elements`` are ordered by reading order (list position == reading order). ``width``/``height`` are the page-image dimensions the ``bbox`` coords are relative to, so consumers can normalize/render without a second fetch. Layout is part of the generated metadata payload and is returned with the chunk whenever present.
              - …
        - `model` string, nullable — model used for this chunk
        - `type` 'video_url' — Input type identifier
        - `transcription` string, nullable — speech recognition (sr) text of the video
        - `context` string, nullable — LLM-generated context that situates this video chunk within its source file
        - `summary` string, nullable — summary of the video
        - `video_url` VideoUrl — Model for video URL validation.
          - `url` string, required — The video URL. Can be either a URL or a Data URI.
  - `content_url` string, required — Presigned URL for file content

## 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)
