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

# API overview

> How the Scispot REST API is organized and where to find each product area.

The standard Scispot REST API uses `https://cloudlab.scispot.io`. Files and inbound-webhook operations use their endpoint-specific hosts in the generated API reference. Endpoints are grouped by product:

* **Labsheets** — LIMS tables, rows, and schema
* **ELN** — protocols, experiments, and documentation
* **Manifests** — plates, boxes, racks, and locations
* **Sequences** — sequence records
* **Webhooks** — inbound events to Scispot

## Terminology

**Labsheet** - A Labsheet is a collection of columns and rows. It is the main data structure in Scispot.

* **Row ID** - A unique identifier for a row in a Labsheet. It can have three types: ROW\_UUID, ID\_BARCODE, or ID.
  * **ROW\_UUID** - This is the autogenerated identifier in the backend when a row is created.
  * **ID\_BARCODE** - This is the value of the ID column if the ID column was set to use autogenerated IDs.
  * **ID** - This is the value of the ID column if the ID column was set to use a manual ID.

* **Columns** - A Column determines the type of data that can be stored in a row.
  * **ID** - An ID column. This column is used to store the identifier for a row. It can be used to link to other data in Scispot.
  * **ID\_BARCODE** - An ID barcode column. This column is used to store the unique identifier for a row. It can be used to link to other data in Scispot.
  * **TEXT** - A text column. This column type can store any string value
  * **NUMBER** - A number column. This column can only store numeric values. (must convert scientific notation to decimal)
  * **QUANTITY** - A quantity column. This column can store a numeric value that represents a quantity.
  * **QUANTITY\_LEFT** - A quantity left column. This column is a derived column that is calculated based on the quantity column and cannot be set manually.
  * **QUANTITY\_CONSUMED** - A quantity consumed column. This column is a derived column that is calculated based on the quantity column and cannot be set manually.
  * **UNIT** - A unit column. This column can store a string value that represents a unit of measurement in a list of units.
  * **PRICE\_PER\_UNIT** - A price per unit column. This column can store a numeric value that represents a price per unit of measurement.
  * **CHECKBOX** - A checkbox column. This column can only store boolean values.
  * **LIST** - A list column. This column can store a string value that is one of the values in the list.
  * **STATUS** - A status column. This column can store a string value that is one of the values in the status list.
  * **DATE** - A date column. This column can store a date value. (datetime values will be converted to date)
  * **DATETIME** - A datetime column. This column can store a datetime value.
  * **LOCATION** - A location column. This column can store a uuid value that represents a location in the Scispot Location API.
  * **EXTERNAL\_BARCODE** - A external barcode column. This column can store a string value that represents a barcode that can be used with barcode scanners.
  * **ATTACHED\_FILES** - A attached files column. This column can store a list of file uuids that represents files in the Scispot File API.
  * **IMAGE\_COL** - A image column. This column can store an image uuid that represents an image in the Scispot File API.
  * **CONNECTION** - A reference column. This column can store a uuid value that represents a reference to another row in the  labsheet.
  * **LOOKUP\_REFERENCE** - A link to another labsheet column. This column can store a url value that represents a link to another row in a specified labsheet. (must have a specified labsheet to link to)
  * **LOOKUP** - A lookup column. This column uses the LINK column to lookup a column value in the specified labsheet. (cannot be set manually)
  * **PARENT** - A parent column. This column can store a uuid value that represents a parent row. (can only be set through the create children flow)
  * **CHILDREN** - A children column. This column can store a list of uuid values that represents child rows. (can only be set through the create children flow)
  * **SEQUENCE\_DATA** - A sequence data column. This column can store a sequence through the Scispot Sequence API.
  * **CHEM\_DATA** - A chem data column. This column can store a chem data. (must be set through the Labsheets GUI)
  * **CREATED\_BY** - A created by column. This column can store the user email who created the row. (cannot be set manually)
  * **DATE\_CREATED** - A creation date column. This column can store the datetime when the row was created. (cannot be set manually)
  * **LABSPACE\_PAGE\_REFERENCE** - A protocol template column. This column can store a uuid value as a link that represents a protocol template in the Scispot Labspace API.

* **MAGIC COLUMNS** - Magic columns are read only columns that are automatically updated by Scispot when the row has interaction with other Scispot features, such as labspaces.
  * **Labspaces** - Type: TEXT. A labspace column. This column links to all the labspaces that the row is associated with.
  * **Last Modified** - Type: DATE. A last modified column. This column stores the datetime when the row was last modified.
  * **Existing Manifest** - Type: TEXT. A link column. This column links to all of the manifests that the row is associated with.
  * **Name of Protocol** - Type: TEXT. A link column. This column links to all of the protocols that the row is associated with.
  * **Name of Experiment** - Type: TEXT. A link column. This column links to all of the experiments that the row is associated with.

## Authentication

Every request needs `Authorization: Bearer <token>`. See [Authentication](/authentication).

## Explore endpoints

Use this page to identify the product area that matches your integration. Then use the **API Reference** section in the sidebar to browse operations and use the interactive playground.
