Skip to content

ML Prep API (v1)

Download OpenAPI description
Languages
Servers
Mock server

http://{{your_prep_ip_address}}/

Authenticate

Operations

Backups

Operations

Calibration

Operations

Camera

Operations

Configuration

Operations

Credentials

Operations

Deck

Operations

Diagnostics

Operations

Enclosure

Operations

Environment

Operations

Errors

Operations

HepaUv

Operations

Instruments

Operations

Labware

Operations

LabwareCategories

Operations

LabwareSignature

Operations

Lighting

Operations

LiquidClass

Operations

Retrieves the current liquid types

Request

Security
Bearer
curl -i -X GET \
  'http://{{your_prep_ip_address}}/api/v1/liquid-classes' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The list of liquid types

Bodyapplication/jsonArray [
idstring or nullread-only

The database id of the liquid type

namestring or null

The name for the liquid type

lockedboolean

Whether or not the liquid type is locked (can be edited)

]
Response
application/json
[ { "id": "string", "name": "string", "locked": true } ]

Saves a new liquid type

Request

Security
Bearer
Body
namestring or null

The name of the liquid

settingsobject(LiquidSettingsDto)
classSpecobject(LiquidClassSpecDto)

The liquid class specification object. Used as the criteria to determine which liquid class to use

curl -i -X POST \
  'http://{{your_prep_ip_address}}/api/v1/liquid-classes' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '{
    "name": "string",
    "settings": {
      "id": 0,
      "asFlowRate": 0.1,
      "asMixFlowRate": 0.1,
      "asBlowOutVolume": 0.1,
      "asSwapSpeed": 0.1,
      "asSettlingTime": 0.1,
      "asAirTransport": 0.1,
      "dsFlowRate": 0.1,
      "dsMixFlowRate": 0.1,
      "dsBlowOutVolume": 0.1,
      "dsSwapSpeed": 0.1,
      "dsSettlingTime": 0.1,
      "dsAirTransport": 0.1,
      "correctionCurve": [
        {
          "target": 0.1,
          "value": 0.1,
          "isUserAdded": true
        }
      ],
      "isUserLiquid": true
    },
    "classSpec": {
      "liquidType": "string",
      "tipName": "string",
      "tipStartPoint": "string",
      "multiDispense": true,
      "channelSelection": "string"
    }
  }'

Responses

Success

Response
No content

Updates an existing liquid type

Request

Security
Bearer
Bodyapplication/json
settingsobject(LiquidSettingsDto)
classSpecobject(LiquidClassSpecDto)

The liquid class specification object. Used as the criteria to determine which liquid class to use

curl -i -X PUT \
  'http://{{your_prep_ip_address}}/api/v1/liquid-classes' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "settings": {
      "id": 0,
      "asFlowRate": 0.1,
      "asMixFlowRate": 0.1,
      "asBlowOutVolume": 0.1,
      "asSwapSpeed": 0.1,
      "asSettlingTime": 0.1,
      "asAirTransport": 0.1,
      "dsFlowRate": 0.1,
      "dsMixFlowRate": 0.1,
      "dsBlowOutVolume": 0.1,
      "dsSwapSpeed": 0.1,
      "dsSettlingTime": 0.1,
      "dsAirTransport": 0.1,
      "correctionCurve": [
        {
          "target": 0.1,
          "value": 0.1,
          "isUserAdded": true
        }
      ],
      "isUserLiquid": true
    },
    "classSpec": {
      "liquidType": "string",
      "tipName": "string",
      "tipStartPoint": "string",
      "multiDispense": true,
      "channelSelection": "string"
    }
  }'

Responses

Success

Response
No content

Deletes a set of liquid types

Request

Security
Bearer
Body
liquidNamesArray of strings or null

The liquids to be deleted

ignoreProtocolCheckboolean

Option to ignore verifying if the liquid is in use by a protocol

curl -i -X POST \
  'http://{{your_prep_ip_address}}/api/v1/liquid-classes/batch-delete' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '{
    "liquidNames": [
      "string"
    ],
    "ignoreProtocolCheck": true
  }'

Responses

Success

Response
No content

Finds all protocols which use the liquid type(s)

Request

Security
Bearer
Body
liquidNamesArray of strings or null

The names of the liquids

curl -i -X POST \
  'http://{{your_prep_ip_address}}/api/v1/liquid-classes/find-usage' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '{
    "liquidNames": [
      "string"
    ]
  }'

Responses

The list of liquids with the protocols that use them

Bodyapplication/jsonArray [
liquidNamestring or null

The liquid type name

protocolsArray of strings or null

The list of protocols that use this liquid

]
Response
application/json
[ { "liquidName": "string", "protocols": [] } ]

Retrieves the liquid settings for the given query parameters

Request

The liquid settings depend on a few parameters.

liquidType: (supported types can be retrieved using GET /)

channelSelection: (OneChannel, TwoChannel, EightChannel, or Unknown)

tipName: (the labware reference id for the tip labware)

tipStartPoint: (FromLiquidLevel, or FromContainerBottom)

multiDispense: (true or false)

dispenseVolume: (the ammount of volume getting dispensed in μL)

Security
Bearer
Query
liquidTypestringrequired

The liquid type name (supported types can be retrieved using GET /)

channelSelectionstringrequired

The channel(s) used (OneChannel, TwoChannel, EightChannel, or Unknown)

tipNamestringrequired

The labware reference name for the tips used

tipStartPointstringrequired

Where the tip is transfering the liquid from (FromLiquidLevel, or FromContainerBottom)

multiDispensebooleanrequired

Whether it is for multi-dispense or not

dispenseVolumenumber(double)required

The ammount of volume getting dispensed in μL

curl -i -X GET \
  'http://{{your_prep_ip_address}}/api/v1/liquid-classes/settings?liquidType=string&channelSelection=string&tipName=string&tipStartPoint=string&multiDispense=true&dispenseVolume=0.1' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The liquid settings for the given query parameters

Bodyapplication/json
idinteger(int32)

The id for the liquid settings

asFlowRatenumber(double)

The aspirate flow rate in μL/second

asMixFlowRatenumber(double)

The aspirate mix flow rate in μL/second

asBlowOutVolumenumber(double)

The aspirate blow out volume in μL

asSwapSpeednumber(double)

The aspirate swap speed

asSettlingTimenumber(double)

The aspirate settling time

asAirTransportnumber(double)

The aspirate air transport

dsFlowRatenumber(double)

The dispense flow rate in μL/second

dsMixFlowRatenumber(double)

The dispense mix flow rate in μL/second

dsBlowOutVolumenumber(double)

The dispense blow out volume in μL

dsSwapSpeednumber(double)

The dispense swap speed

dsSettlingTimenumber(double)

The dispense settling time

dsAirTransportnumber(double)

The dispense air transport

correctionCurveArray of objects or null(CorrectionPoint)

The correction curve used to adjust the volumes

isUserLiquidboolean

Whether or not the liquid was defined by the user

Response
application/json
{ "id": 0, "asFlowRate": 0.1, "asMixFlowRate": 0.1, "asBlowOutVolume": 0.1, "asSwapSpeed": 0.1, "asSettlingTime": 0.1, "asAirTransport": 0.1, "dsFlowRate": 0.1, "dsMixFlowRate": 0.1, "dsBlowOutVolume": 0.1, "dsSwapSpeed": 0.1, "dsSettlingTime": 0.1, "dsAirTransport": 0.1, "correctionCurve": [ {} ], "isUserLiquid": true }

Import a liquid class from a file

Request

Security
Bearer
Path
ignoreLabwareDefinitionFilesstringrequired
Bodymultipart/form-data
FilesArray of strings(binary)

The file(s)

OverwriteAllboolean

Whether or not existing files should be overwritten

FilesToOverwritestring

Specify which files should be overwritten

ZipFileProtocolEntrystring

The zip file for the protocol

NewProtocolNamestring

The new name for the protocol if a protocol with the same name exists

curl -i -X PUT \
  'http://{{your_prep_ip_address}}/api/v1/liquid-classes/import/{ignoreLabwareDefinitionFiles}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: multipart/form-data' \
  -F Files=string \
  -F OverwriteAll=true \
  -F FilesToOverwrite=string \
  -F ZipFileProtocolEntry=string \
  -F NewProtocolName=string

Responses

The liquid class import results

Bodyapplication/jsonArray [
namestring or null
resultstring or null
]
Response
application/json
[ { "name": "string", "result": "string" } ]

Check if a liquid class exists before importing it

Request

Security
Bearer
Bodymultipart/form-data
FilesArray of strings(binary)

The file(s)

OverwriteAllboolean

Whether or not existing files should be overwritten

curl -i -X POST \
  'http://{{your_prep_ip_address}}/api/v1/liquid-classes/find-existing-imports' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: multipart/form-data' \
  -F Files=string \
  -F OverwriteAll=true

Responses

The existing liquid class files

Bodyapplication/jsonArray [
namestring or null
viewNamestring or null
typestring or null
lastModifiedDateTimestring(date-time)
]
Response
application/json
[ { "name": "string", "viewName": "string", "type": "string", "lastModifiedDateTime": "2019-08-24T14:15:22Z" } ]

Export the file containing the specified liquid types

Request

Security
Bearer
Query
liquidsArray of stringsrequired

The liquid types to export

curl -i -X GET \
  'http://{{your_prep_ip_address}}/api/v1/liquid-classes/export?liquids=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The existing liquid class files

Body
string(binary)
Response
No response example

Maintenance

Operations

NetworkConfiguration

Operations

Power

Operations

ProtocolRun

Operations

Protocols

Operations

ProtocolSteps

Operations

ProtocolSupport

Operations

ProtocolVerification

Operations

Repair

Operations

Report

Operations

Roles

Operations

RunData

Operations

Screenshots

Operations

ServiceSoftwareApi

Operations

Settings

Operations

SoftwareVersions

Operations

SystemReady

Operations

SystemTime

Operations

ThermalDevice

Operations

Traces

Operations

UserKba

Operations

Users

Operations

Verification

Operations

VerificationResult

Operations