Using Scispot's API to build integrations
Developers can use Scispot's REST API to interact with Scispot's Labsheets (LIMS) and Labspaces (ELN) programmatically. Interactions include working with:
Labsheets (Lab Information Management System): Scientific tables/databases that can be programmatically created for experiments, instrument data, samples, CRO integrations, metadata and more.
Labspaces (Electronic Lab Notebook): This includes experiment pages, protocols (methods) pages, and any generic pages for lab's standard operating procedures.
Manifests (Plates / Racks / Boxes): Digital plates, racks, and boxes can be programmatically connected with robots, instruments and more. You can also programmatically scan and upload data in bulk.
You need an access token to interact with the Scispot API. You can create your own secure token using your Scispot account by clicking on your Account Profile > Personal Token.
Conventions
The base URL to send all API requests is https://cloudlab.scispot.io
HTTPS is required for all API requests.
The Scispot API v2 follows RESTful conventions when possible, with most operations performed via GET
, POST
, and DELETE
requests on page and database resources.
Request and response bodies are encoded as JSON.
JSON conventions
Resources are addressable by a UUIDv4
"uuid"
property. For some resources such as Labspace pages ("Experiments", "Protocols" and "Documentation") and Manifests, human readable ID (hrid
) is also available. In some cases such as Labsheets rows, barcode ID is also available. For some resources like labspaces and labspace folders, "name
" servers as the identifier.For specifying labspace locations, : servers as the delimiter. Example - A folder named
X
in labspace ("mylabspace
") would be defined asmylabspace:x
Property names are in
camelCase
(notkebab-case
).The Scispot API v2 does not support empty strings.
Code samples & SDKs
Samples requests and responses are shown for each endpoint in the link here under folder named Scispot API V 2.0 (Beta)
Pagination
For endpoints for listing (list
) Labspace pages ("Experiments", "Protocols", "Documentations") and Labsheets Rows, pagination can be achieved by specifying two keys - "page
" and "pageSize
" as query parameters.
Query Parameters
pageSize
: The number of items to be fetched.page
: The index of desired pages. Minimum value of the page is always 1.
Authentication
Scispot API V 2.0 uses Bearer token for authentication. The API key generation is described in the section above. This API key must be passed as the bearer token.
Status Codes
Responses from the API use HTTP response codes are used to indicate general classes of success and error.
Success codes
HTTP status code | Description |
200 | Scispot successfully processed the request. |
Error codes
Error responses contain more detail about the error in the response body, in the "success"
and "message"
properties.
HTTP status code | Description |
2xx | This is returned when the request was successfully parsed and acknowledged. |
4xx | This is returned when something goes wrong with the query parameter or JSON body parsing process. |
5xx | This is returned when the server receives the request successfully but failed to process it due to an internal error. |
Examples
Error Code | Message |
401 | Invalid Authentication Token |
403 | Missing Authentication Token |
404 | page with name 'foo' could not be found |
422 | Missing key 'labspace' |
Refresh Interval Setting
Scispot has a refresh interval setting that controls when does new data become searchable. By default, it takes one second so newly indexed items might become available for search after one second.