### Create Labsheet Request Source: https://docs.scispot.com Example of a cURL request to create a new labsheet with specified columns and folder location. ```curl curl --location 'https://cloudlab.scispot.io/labsheets/create' \ --header 'Content-Type: application/json' \ --data '{ "name":"Sample Data", "folder": "Sample Folder", "columns":[ { "position":0, "name":"Sample ID", "type":"ID" }, { "position":1, "name":"Description", "type":"TEXT" }, { "position":2, "name":"Date Added", "type":"DATE" }, { "position":3, "name":"Amount", "type":"NUMBER" }, { "position":4, "name": "Reference Data", "type": "CONNECTION" }, { "position":5, "name": "List Type Column", "type": "LIST", "references": ["YES", "NO"] }, { "position": 6, "type": "PROTOCOLS" } ] }' ``` -------------------------------- ### GET /labflows/list-samples Source: https://docs.scispot.com Retrieves a list of all samples associated with a specific labflow. ```APIDOC ## GET /labflows/list-samples ### Description Retrieves a list of all samples associated with a specific labflow. ### Method GET ### Endpoint https://cloudlab.scispot.io/labflows/list-samples ### Parameters #### Query Parameters - **labflowId** (string) - Required - Id of the labflow ### Response #### Success Response (200) - **success** (boolean) - Status of the request - **labflowId** (string) - The ID of the labflow - **labflowName** (string) - The name of the labflow - **totalSamples** (integer) - Total count of samples - **sampleIds** (array) - List of sample UUIDs ### Response Example { "success": true, "labflowId": "314e9bad-6504-4e06-816a-bd5dbc92609d", "labflowName": "FLOW-43", "totalSamples": 16, "sampleIds": [ "a677c049-8afc-4d66-8f76-918a3e67074b" ] } ``` -------------------------------- ### POST /labsheets/create Source: https://docs.scispot.com Creates a new labsheet within the Scispot platform. Requires a unique name and a defined set of columns, including exactly one ID type column. ```APIDOC ## POST https://cloudlab.scispot.io/labsheets/create ### Description Creates a new labsheet. Labsheet names must be unique, and every labsheet must contain exactly one ID type column. ### Method POST ### Endpoint https://cloudlab.scispot.io/labsheets/create ### Parameters #### Request Body - **name** (string) - Required - Name of the labsheet to be created. - **columns** (array) - Required - An array of column objects specifying name, position, and type. - **folder** (string) - Optional - Name of destination folder where labsheet will be created. - **waitRefresh** (boolean) - Optional - Waits for data to be reindexed before returning success. ### Request Example { "name":"Sample Data", "folder": "Sample Folder", "columns":[ { "position":0, "name":"Sample ID", "type":"ID" }, { "position":1, "name":"Description", "type":"TEXT" } ] } ### Response #### Success Response (200) - **name** (string) - The name of the created labsheet. - **uuid** (string) - The unique identifier for the created labsheet. #### Response Example { "name": "Sample Data", "uuid": "12345678-abcd-9012-efgh-345678901234" } ``` -------------------------------- ### Create Labsheet Response Source: https://docs.scispot.com Successful response body returned after creating a new labsheet. ```json { "name": "Sample Data", "uuid": "12345678-abcd-9012-efgh-345678901234" } ``` -------------------------------- ### POST /labflows/link-samples-to-test Source: https://docs.scispot.com Links a list of samples to a specific test within a labflow. ```APIDOC ## POST /labflows/link-samples-to-test ### Description Links a list of samples to a specific test within a labflow. ### Method POST ### Endpoint https://cloudlab.scispot.io/labflows/link-samples-to-test ### Parameters #### Request Body - **labflowId** (string) - Required - Id of the labflow - **protocoltemplateId** (string) - Required - Id of the protocol template added as a test - **sampleUuids** (array) - Required - List of samples to link to the test ### Response #### Success Response (200) - **success** (boolean) - Status of the request - **message** (string) - Confirmation message - **samplesLinked** (integer) - Number of samples successfully linked ### Response Example { "success": true, "message": "Samples linked to test successfully", "samplesLinked": 1 } ``` -------------------------------- ### Link Samples to Test in Labflow Source: https://docs.scispot.com Links a list of samples to a specific test within a labflow, requiring a Bearer Token for authorization. ```curl curl --location --request POST 'https://cloudlab.scispot.io/labflows/link-samples-to-test' \ --data '' ``` ```json { "success": true, "message": "Samples linked to test successfully", "performTestStepId": "9aa396e5-2ee2-42db-94b2-6b6f94779b9b", "protocoltemplateId": "de1bb834-fd79-416e-88ff-f9a21ca8e163", "samplesLinked": 1 } ``` -------------------------------- ### List all Samples in a Labflow Source: https://docs.scispot.com Retrieves a list of sample IDs associated with a specific labflow ID. ```curl curl --location 'https://cloudlab.scispot.io/labflows/list-samples?labflowId=314e9bad-6504-4e06-816a-bd5dbc92609d' ``` ```json { "success": true, "labflowId": "314e9bad-6504-4e06-816a-bd5dbc92609d", "labflowName": "FLOW-43", "totalSamples": 16, "sampleIds": [ "a677c049-8afc-4d66-8f76-918a3e67074b", "190197cd-fedf-46e3-bfbd-fe4ba88dfbc6", "3e05f0a1-ec16-4713-b9f9-6a26347c1adf", "b26277df-ff8d-451b-9165-79cd63c035f5", "112ee51c-e60d-4cd4-a8b5-2717bd05f6cf", "31254183-70f0-454b-bcdb-98a8a4a16c64", "ea2fb69e-be01-4a11-8d1c-95d17c97ac73", "3bfc0b66-2c20-4e33-95cc-8d2b3ff5eb11", "949288b2-402d-4026-9ba6-d4d8d54e3460", "8115a47f-fa7a-47f1-80dd-5866e130698d", "da1e9c6b-a794-4763-9dcc-848776a37c1f", "7762abd0-ce91-49f0-ab3e-b02598205b40", "eddc60de-1f99-4314-aa7e-5d1d056ae4eb", "563654ed-a5ed-404b-b4af-019332bbebd7", "9a98fc23-0b82-41e3-8e95-1770ef745d41", "4000c887-05dd-4550-ac2e-df1bb40a5448" ] } ``` -------------------------------- ### POST /labflows/add-test Source: https://docs.scispot.com Adds a new test to an existing labflow using a protocol template. ```APIDOC ## POST /labflows/add-test ### Description Adds a new test to an existing labflow using a protocol template. ### Method POST ### Endpoint https://cloudlab.scispot.io/labflows/add-test ### Parameters #### Request Body - **labflowId** (string) - Required - Id of the labflow - **protocoltemplateId** (string) - Required - Id of the protocol template added as a test ### Response #### Success Response (200) - **success** (boolean) - Status of the request - **message** (string) - Confirmation message - **performTestStepId** (string) - ID of the created test step ### Response Example { "success": true, "message": "Test added to labflow successfully", "performTestStepId": "9aa396e5-2ee2-42db-94b2-6b6f94779b9b" } ``` -------------------------------- ### POST https://events.scispot.io/webhooks/custom Source: https://docs.scispot.com Push a JSON payload to Scispot. Depending on the 'Scispot-Event-Type' header, automatic actions can be performed in Scispot. ```APIDOC ## POST https://events.scispot.io/webhooks/custom ### Description Push a JSON payload to Scispot. Depending on the "Scispot-Event-Type", automatic actions can be performed in Scispot. ### Method POST ### Endpoint https://events.scispot.io/webhooks/custom ### Headers - **Authorization** (string) - Required - Bearer Token - **Scispot-Event-Type** (string) - Required - Tag to describe type of event that triggered the webhook. ### Request Body - **run_id** (string) - Required - The ID of the run. - **workflow_id** (string) - Required - The ID of the workflow. - **timestamp** (string) - Required - ISO 8601 timestamp. - **state** (string) - Required - The state of the event (e.g., Success). ### Request Example { "run_id": "123e4567-e89b-12d3-a456-426614174000", "workflow_id": "987e4567-e89b-12d3-a456-426614174999", "timestamp":"2025-01-01T13:41:00.000000+00:00", "state": "Success" } ### Response #### Success Response (200) - **success** (boolean) - Indicates if the request was processed successfully. #### Response Example { "success": true } ``` -------------------------------- ### Add New Test in Labflow Source: https://docs.scispot.com Adds a protocol template as a test to a labflow using form-data. ```curl curl --location 'https://cloudlab.scispot.io/labflows/add-test' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --form 'labflowId="314e9bad-6504-4e06-816a-bd5dbc92609d"' \ --form 'protocoltemplateId="1b018b34-f3e9-4537-88c4-99b4cfc6718e"' ``` ```json { "success": true, "message": "Test added to labflow successfully", "performTestStepId": "9aa396e5-2ee2-42db-94b2-6b6f94779b9b", "protocoltemplateId": "1b018b34-f3e9-4537-88c4-99b4cfc6718e", "performTestStep": { "uuid": "9aa396e5-2ee2-42db-94b2-6b6f94779b9b", "stepUniqueId": "ab3b0ad3-dcfd-4b49-86ee-9e2276dbe469", "position": "3", "type": "PERFORM_TEST", "data": { "type": "TESTS", "uuids": [ "1261952c-ae4d-4a39-8c08-f1fb1aef9a16", "9205408b-6fd1-438c-85ac-5eebf08cd9c7", "de1bb834-fd79-416e-88ff-f9a21ca8e163", "e8a040f9-b630-47d4-90e3-a4b705b52ef2", "978adcb1-089b-4101-8724-eb385309601f", "1b018b34-f3e9-4537-88c4-99b4cfc6718e" ], "extra": [ { "testUuid": "1261952c-ae4d-4a39-8c08-f1fb1aef9a16", "sampleUuids": [ "3da0fdc2-5ff4-4896-b179-49d5d129c6f8", "85e85d38-53eb-4ce9-8b9d-2b42add9c860", "e367502b-bc7f-4bb5-868b-05a3d8627c50" ] }, { "testUuid": "9205408b-6fd1-438c-85ac-5eebf08cd9c7", "sampleUuids": [ "3da0fdc2-5ff4-4896-b179-49d5d129c6f8", "85e85d38-53eb-4ce9-8b9d-2b42add9c860", "e367502b-bc7f-4bb5-868b-05a3d8627c50" ] }, { "testUuid": "978adcb1-089b-4101-8724-eb385309601f", "sampleUuids": [ "3da0fdc2-5ff4-4896-b179-49d5d129c6f8" ] } ] }, "status": "active" } } ``` -------------------------------- ### Push Webhook to Scispot via cURL Source: https://docs.scispot.com Use this cURL command to send a JSON payload to the Scispot webhook endpoint. Ensure the Scispot-Event-Type header is set to define the event trigger. ```bash curl --location 'https://events.scispot.io/webhooks/custom' \ --header 'Content-Type: application/json' \ --header 'Scispot-Event-Type: Labware Movement' \ --data '{ "run_id": "123e4567-e89b-12d3-a456-426614174000", "workflow_id": "987e4567-e89b-12d3-a456-426614174999", "timestamp":"2025-01-01T13:41:00.000000+00:00", "state": "Success" }' ``` -------------------------------- ### Webhook Success Response Source: https://docs.scispot.com The expected JSON response body upon a successful webhook submission. ```json { 'success': true } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.