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

# Store Files

> Legacy file repository upload endpoint implemented in scispot-legacy-backend FileController#uploadFilesOrMedia. Requires Authorization: Bearer token. Returns an array of per-file results. `mediaUrls` is accepted by the controller but not processed. Authenticated requests with no files can return HTTP 200 with an empty array.



## OpenAPI

````yaml /api-docs.yaml post /files/store
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:
    post:
      tags:
        - Scispot API - FILES API
      summary: Store Files
      description: >-
        Legacy file repository upload endpoint implemented in
        scispot-legacy-backend FileController#uploadFilesOrMedia. Requires
        Authorization: Bearer token. Returns an array of per-file results.
        `mediaUrls` is accepted by the controller but not processed.
        Authenticated requests with no files can return HTTP 200 with an empty
        array.
      requestBody:
        required: false
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                files:
                  type: array
                  items:
                    type: string
                    format: binary
                  description: One or more files to store.
                mediaUrls:
                  type: array
                  items:
                    type: string
                  description: >-
                    Accepted by controller but ignored by current legacy
                    implementation.
      responses:
        '200':
          description: All files processed successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    fileName:
                      type: string
                    fileId:
                      type: string
                    status:
                      type: string
                      enum:
                        - success
                        - error
                    message:
                      type: string
                  additionalProperties: true
              example:
                - fileName: example.pdf
                  fileId: <uuid>
                  status: success
                  message: File uploaded successfully
        '400':
          description: One or more files failed processing
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    fileName:
                      type: string
                    fileId:
                      type: string
                    status:
                      type: string
                      enum:
                        - success
                        - error
                    message:
                      type: string
                  additionalProperties: true
              example:
                - fileName: bad.pdf
                  status: error
                  message: 'Failed to process file: ...'
        '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

````