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

# Upload Files And Queue Embedding

> Legacy file upload + embedding queue endpoint implemented in scispot-legacy-backend FileController#uploadFilesAndEmbed. Requires Authorization: Bearer token. Uploads files to S3 and queues supported file types for knowledge-base embedding. `isGlobal` is interpreted as a string boolean and `fileSource` defaults to `AI Lab Drive`.

Supported file extensions for embedding: pdf, docx, xlsx, xls, csv, pptx, md, txt, html, htm, json, jsonl, jpg, jpeg, png, gif, heic, heif, prism, eds, skax, edt, tif, tiff, g2i, zip, cs, c, asc, kfx2, msg, emf, cbz, pse.



## OpenAPI

````yaml /api-docs.yaml post /files/store-and-embed
openapi: 3.0.0
info:
  title: Scispot's API Documentation
  description: >-
    ### [Welcome! Feel Free To Visit Scispot.com](https://www.scispot.com)


    #### Overview


    This is a documentation listing API calls for the following Scispot
    applications:


    1. Labsheets (LIMS)


    2. ELN


    3. Manifests (plates, boxes, racks, etc.)


    4. Sequences



    ## [Getting Started](https://labsheets.scispot.io/#getting-started)


    ### [Create a new API Key in account
    settings](https://labsheets.scispot.io/)


    - Go to [Scispot](https://labsheets.scispot.io)


    - Click on the "Account" button in the navigation bar on the bottom left
    corner of your screen


    - Click "Personal Tokens" on the left side of the pop-up modal


    - Click "Generate New Token"


    - Name your token, select token access, and click "Generate"


    - Copy the API Key and save it somewhere safe - this token cannot be
    retrieved once it is generated


    - This token will be used as "apiKey" in all API requests
  version: 1.0.0
servers:
  - url: https://cloudlab.scispot.io
    description: Scispot Cloud Lab
security:
  - bearerAuth: []
tags:
  - name: Scispot API
  - name: Scispot API - LABSHEETS (LIMS) API
    description: >-
      #### Overview


      The following API calls are for the manipulation of Labsheets data.


      #### Terminology


      - **Labsheet** - A labsheet is a table that can be used to store and
      organize data. Labsheets can be created or manipulated in Scispot via GUI
      or API.


      - **Uuid** - Row uuids are unique identifiers for each labsheet row used
      in request and response bodies. Row uuids can be found using the Get Row
      Data endpoint and used in other endpoint requests to manipulate specific
      rows.


      - **ID** - IDs are user-defined values that can be used to identify rows
      in a labsheet. Create row IDs in labsheets by adding a column with type
      "ID" to your labsheet. The Update Row Data By ID Column endpoint uses IDs
      to update rows in a labsheet.


      - **Column Data Types** - These are data types set for each column in a
      labsheet and can be viewed in a labsheet's manage view menu, under the
      columns tab.
  - name: Scispot API - ELN API
    description: >-
      #### Overview


      The following API calls are for the manipulation of ELN data.


      #### Terminology


      - **Labspace** - "Labspace" is analogous to a directory or workspace. A
      labspace can contain folders,experiments, protocols and/or documentation
      pages. Labspaces can be created and manipulated through via GUI or API.

      - **Folder** - "Folder" is similar to a traditional folder. It allows
      users to organize their data inside different "Labspaces".

      - **Protocol** - A protocol is a base object used to store and organize
      protocol data. It is analogous to a page in a traditional laboratory
      record.

      - **Experiment** - An experiment is a base object used to store and
      organize experiment data and related protocols. It is also analogous to a
      page in a traditional laboratory record.

      - **Documentation** - A documentation page is a base object analogous to a
      simple note-taking page.
  - name: Scispot API - ELN API - Create
  - name: Scispot API - ELN API - Update
  - name: Scispot API - ELN API - Find
  - name: Scispot API - ELN API - List
  - name: Scispot API - ELN API - Delete
  - name: Scispot API - ELN API - Permissions (Super Admin Only)
    description: >-
      ### Permissions Endpoint


      These endpoint allows you to list, add, remove useres from a private
      folder.


      #### **Notes**:


      - The owner of the API token must have Super Admin permissions


      - These endpoints only work for folders that are already privated
  - name: Scispot API - MANIFESTS (PLATES, BOXES, RACKS) API
    description: |-
      #### Overview

      The following API calls are for the manipulation of manifest data.

      #### Terminology

      - **Manifest** - A visual representation of a well plate.
  - name: Scispot API - SEQUENCE API
    description: |-
      #### Overview

      The following API calls are for the manipulation of DNA sequence data.
  - name: Scispot API - FILES API
  - name: Scispot API - LOCATIONS API
  - name: Scispot API - LABFLOWS API
  - name: Scispot API - WEBHOOK API
paths:
  /files/store-and-embed:
    post:
      tags:
        - Scispot API - FILES API
      summary: Upload Files And Queue Embedding
      description: >-
        Legacy file upload + embedding queue endpoint implemented in
        scispot-legacy-backend FileController#uploadFilesAndEmbed. Requires
        Authorization: Bearer token. Uploads files to S3 and queues supported
        file types for knowledge-base embedding. `isGlobal` is interpreted as a
        string boolean and `fileSource` defaults to `AI Lab Drive`.


        Supported file extensions for embedding: pdf, docx, xlsx, xls, csv,
        pptx, md, txt, html, htm, json, jsonl, jpg, jpeg, png, gif, heic, heif,
        prism, eds, skax, edt, tif, tiff, g2i, zip, cs, c, asc, kfx2, msg, emf,
        cbz, pse.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
                - files
              properties:
                files:
                  type: array
                  items:
                    type: string
                    format: binary
                  description: One or more files to upload and embed.
                isGlobal:
                  type: string
                  default: 'false'
                fileSource:
                  type: string
                  default: AI Lab Drive
      responses:
        '200':
          description: All files uploaded and queued successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    fileName:
                      type: string
                    fileId:
                      type: string
                    ticketId:
                      type: string
                    status:
                      type: string
                      enum:
                        - success
                    message:
                      type: string
                  additionalProperties: true
              example:
                - fileName: example.pdf
                  fileId: <uuid>
                  ticketId: <uuid>
                  status: success
                  message: File uploaded successfully and queued for processing
        '400':
          description: >-
            No files provided, unsupported file type, or one or more files
            failed processing. Body is either an error object or an array of
            per-file results.
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      error:
                        type: string
                    additionalProperties: true
                  - type: array
                    items:
                      type: object
                      properties:
                        fileName:
                          type: string
                        fileId:
                          type: string
                        status:
                          type: string
                          enum:
                            - success
                            - error
                        message:
                          type: string
                        ticketId:
                          type: string
                        errorDetail:
                          type: string
                      additionalProperties: true
              example:
                error: No files provided
        '401':
          description: Missing or invalid bearer token
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                additionalProperties: true
              examples:
                missing:
                  value:
                    error: Missing Bearer Token
                invalid:
                  value:
                    error: Invalid Bearer Token
        '500':
          description: Unexpected server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                additionalProperties: true
              example:
                error: 'Unexpected server error: <message>'
      security:
        - bearerAuth: []
      servers:
        - url: https://new.scispot.io
          description: Scispot
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: UUID
      description: Personal access token from Scispot Account → Personal Tokens

````