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

Maintenance

Operations

Creates initial maintenance values for a fresh install and updates.

Request

This should be used at first time setup and every update.

Security
Bearer
curl -i -X POST \
  'http://{{your_prep_ip_address}}/api/v1/maintenance/initialize' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Initialize successfully completed

Response
No content

Retrieves all maintenance procedures

Request

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

Responses

Get procedures was successful

Bodyapplication/jsonArray [
idstring or null
statusstring or null
namestring or null
infostring or null
lastExecutionTimestring(date-time)
]
Response
application/json
[ { "id": "1305bd608cc6486793af632284be9553", "status": "Ok", "name": "Procedure1", "info": "Info1", "lastExecutionTime": "2026-04-29T07:13:24.275456-07:00" }, { "id": "a787e117b4234a41bc87765d1abbf779", "status": "Expired", "name": "Procedure2", "info": "Info2", "lastExecutionTime": "2026-04-09T07:13:24.275456-07:00" } ]

Retrieves maintenance details of a specific procedure

Request

Security
Bearer
Path
idstringrequired

The id of the maintenance procedure

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

Responses

Get procedure was successful

Bodyapplication/json
idstring or null
statusstring or null
namestring or null
dueDateTimestring(date-time)
lastExecutionTimestring(date-time)
Response
application/json
{ "id": "fb5084ff4305445295493dc37c61d317", "status": "Ok", "name": "Maintenance Procedure 1", "dueDateTime": "2026-05-07T07:13:24.275456-07:00", "lastExecutionTime": "2026-04-30T07:13:24.275456-07:00" }

Starts a maintenance procedure

Request

Security
Bearer
Path
idstringrequired

maintenance procedure id

curl -i -X POST \
  'http://{{your_prep_ip_address}}/api/v1/maintenance/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Post procedure was successful

Response
No content

Retrieves jpg image from the maintenance image directory

Request

Images should be placed in: {Instinct Directory}\bin\GraphicsResources\Dialog\

Security
Bearer
Path
imageNamestringrequired

file name with no extension

curl -i -X GET \
  'http://{{your_prep_ip_address}}/api/v1/maintenance/images/{imageName}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

File stream of image

Bodyapplication/json
string(binary)
Response
application/json
"string"

Retrieve list of errors that occurred during the maintenance procedure

Request

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

Responses

List of errors

Bodyapplication/jsonArray [
messagestring or null
responsestring or null
]
Response
application/json
[ { "message": "Continue", "response": "Failed to complete maintenance." }, { "message": "Abort", "response": "Failed to complete maintenance 2." } ]

Retrieves the counters for each channel

Request

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

Responses

List of channel counters

Bodyapplication/jsonArray [
namestring or null
tipPickUpCounterinteger(int32)
tipEjectCounterinteger(int32)
aspirateCounterinteger(int32)
dispenseCounterinteger(int32)
]
Response
application/json
[ { "name": "Front", "tipPickUpCounter": 200, "tipEjectCounter": 199, "aspirateCounter": 50, "dispenseCounter": 100 }, { "name": "Rear", "tipPickUpCounter": 137, "tipEjectCounter": 137, "aspirateCounter": 220, "dispenseCounter": 220 } ]

Reset the counts for a channel or mph

Request

Security
Bearer
Path
channelstringrequired

channel to reset (front, rear, or mph)

curl -i -X POST \
  'http://{{your_prep_ip_address}}/api/v1/maintenance/reset-channel-counters/{channel}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Reset channel counters was successful

Response
No content

Get all options for the UV Decontamination routine interval setting

Request

Retrieves all available options for the UV Decontamination routine interval setting

Security
Bearer
curl -i -X GET \
  'http://{{your_prep_ip_address}}/api/v1/maintenance/uv-routine-interval-options' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The list of all options for the UV Decontamination routine interval setting

Bodyapplication/json
idinteger(int32)

The id of the UV routine interval setting option

descriptionstring or null

The description of the UV routine interval setting option

namestring or null

The name of the UV routine interval setting option

Response
application/json
{ "id": 0, "description": "string", "name": "string" }

Retrieves the UV Decontamination routine settings

Request

Security
Bearer
curl -i -X GET \
  'http://{{your_prep_ip_address}}/api/v1/maintenance/uv-routine-settings' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

UV Decontamination routine settings

Bodyapplication/json
intervalinteger(int32)(UVRoutineInterval)
Enum"EveryProtocolRun""Daily""Weekly""Monthly""Disabled"
Response
application/json
{ "interval": "EveryProtocolRun" }

Set the UV Decontamination routine settings

Request

Security
Bearer
Body
intervalinteger(int32)(UVRoutineInterval)
Enum"EveryProtocolRun""Daily""Weekly""Monthly""Disabled"
curl -i -X PUT \
  'http://{{your_prep_ip_address}}/api/v1/maintenance/uv-routine-settings' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '{
    "interval": "EveryProtocolRun"
  }'

Responses

Setting UV Decontamination routine settings was successful

Response
No content

Aborts the maintenance procedure if one is running

Request

Security
Bearer
curl -i -X POST \
  'http://{{your_prep_ip_address}}/api/v1/maintenance/abort' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Abort procedure was successful

Response
No content

Sends the response to a view

Request

Each view may have different requested responses. These may include ok/cancel/yes/no response and any settings or choices.

Security
Bearer
Body
viewIdstring or null

The id of the view to close

viewResultstring or null

The result for the view

viewInputstring or null

The input of the view

curl -i -X POST \
  'http://{{your_prep_ip_address}}/api/v1/maintenance/close-view' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '{
    "viewId": "5854c6bfedba41cba94560861b0075d8",
    "viewResult": "Ok",
    "viewInput": "ViewInput1;ViewInput2"
  }'

Responses

Close view was successful

Response
No content

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