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

# Create Locations in Bulk

> This API endpoint is used to create single locations or locations in bulk. This is an async process, so the return message will only return the request ID for the async ticket. In order to check the creation status of this endpoint, use the /location/create/status endpoint with the request ID as the parameter.

Location Types supported by this endpoint includes

- Room

- Shelf

- Freezer

- Custom locations


Location Types that are not currently supported via this API

- Racks

- Manifest (Use the "Assign Manifest To A Location" endpoint to assign manifest locations)


There is a heirarchy for these locations where some location types cannot be created as a child of another location type.

Root Locations: Rooms, Shelves, Freezers, Custom Locations

Within Rooms: Freezers, Shelves, Custom Locations

Within Freezers: Shelves, Custom Locations

Within Shelves: Custom Locations

Within Custom Locations: Shelves, Custom Locations

Creates up to 20 location nodes including children. Maximum nested depth is 3. RACK cannot be created through this endpoint. FREEZER requires temperature and temperatureUnit; CUSTOM requires customTypeName.



## OpenAPI

````yaml /api-docs.yaml post /location/create
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:
  /location/create:
    post:
      tags:
        - Scispot API - LOCATIONS API
      summary: Create Locations in Bulk
      description: >-
        This API endpoint is used to create single locations or locations in
        bulk. This is an async process, so the return message will only return
        the request ID for the async ticket. In order to check the creation
        status of this endpoint, use the /location/create/status endpoint with
        the request ID as the parameter.


        Location Types supported by this endpoint includes


        - Room


        - Shelf


        - Freezer


        - Custom locations



        Location Types that are not currently supported via this API


        - Racks


        - Manifest (Use the "Assign Manifest To A Location" endpoint to assign
        manifest locations)



        There is a heirarchy for these locations where some location types
        cannot be created as a child of another location type.


        Root Locations: Rooms, Shelves, Freezers, Custom Locations


        Within Rooms: Freezers, Shelves, Custom Locations


        Within Freezers: Shelves, Custom Locations


        Within Shelves: Custom Locations


        Within Custom Locations: Shelves, Custom Locations


        Creates up to 20 location nodes including children. Maximum nested depth
        is 3. RACK cannot be created through this endpoint. FREEZER requires
        temperature and temperatureUnit; CUSTOM requires customTypeName.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                locations:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      locationType:
                        type: string
                      idRef:
                        type: string
                      children:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      temperature:
                        type: string
                      temperatureUnit:
                        type: string
                      customTypeName:
                        type: string
                    required:
                      - name
                      - locationType
                    additionalProperties: true
                  maxItems: 20
              required:
                - locations
              additionalProperties: true
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  requestId:
                    type: string
                  message:
                    type: string
                additionalProperties: true
          description: OK
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                additionalProperties: true
              example:
                success: false
                message: Bad request
        '401':
          description: Invalid Authentication Token
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                additionalProperties: true
              example:
                success: false
                message: Invalid Authentication Token
        '403':
          description: Missing Authentication Token
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                additionalProperties: true
              example:
                success: false
                message: Missing Authentication Token
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                additionalProperties: true
              example:
                success: false
                message: Validation error
        '500':
          description: Operation failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                additionalProperties: true
              example:
                success: false
                message: Operation failed
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: UUID
      description: Personal access token from Scispot Account → Personal Tokens

````