Download OpenAPI specification:Download
This OpenAPI spec describes the HTTP API for Opentrons robots. It may be retrieved from a robot on port 31950 at /openapi. Some schemas used in requests and responses use the x-patternProperties
key to mean the JSON Schema patternProperties
behavior.
Gets information about the robot's network interfaces including their connectivity, their addresses, and their networking info
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "status": "full",
- "interfaces": {
- "wlan0": {
- "ipAddress": "192.168.43.97/24",
- "macAddress": "B8:27:EB:6C:95:CF",
- "gatewayAddress": "192.168.43.161",
- "state": "connected",
- "type": "wifi"
}, - "eth0": {
- "ipAddress": "169.254.229.173/16",
- "macAddress": "B8:27:EB:39:C0:9A",
- "state": "connected",
- "type": "ethernet"
}
}
}
Returns the list of the visible wifi networks along with some data about their security and strength.
rescan | boolean (Rescan) Default: false If |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "list": [
- {
- "ssid": "linksys",
- "signal": 50,
- "active": false,
- "security": "WPA2 802.1X",
- "securityType": "wpa-eap"
}
]
}
Configures the wireless network interface to connect to a network
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
ssid required | string (Ssid) The SSID to connect to. If this isn't an SSID that is being broadcast by a network, you should also set |
hidden | boolean (Hidden) Default: false
|
securityType | string (NetworkingSecurityType) Enum: "wpa-eap" "wpa-psk" "none" "unsupported" Top-level type of network security |
psk | string <password> (Psk) If this is a PSK-secured network ( |
object (Eapconfig) All options required to configure EAP access to the Wi-Fi. All options should match one of the cases described in |
{- "ssid": "linksys"
}
{- "message": "string",
- "ssid": "string"
}
Get a list of key files known to the system
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "keys": [
- {
- "uri": "/wifi/keys/abda234a234",
- "id": "abda234a234",
- "name": "client.pem"
}
]
}
Send a new key file to the robot
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
key required | string <binary> (Key) |
{- "uri": "string",
- "id": "string",
- "name": "string",
- "message": "string"
}
Delete a key file from the robot
key_uuid required | string (Key Uuid) The ID of key to delete, as determined by a previous call to GET /wifi/keys |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "message": "string"
}
Get the supported EAP variants and their configuration parameters
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "options": [
- {
- "name": "peap/mschapv2",
- "displayName": "PEAP/MS-CHAP v2",
- "options": [
- {
- "name": "identity",
- "displayName": "Username",
- "required": true,
- "type": "string"
}, - {
- "name": "anonymousIdentity",
- "displayName": "Anonymous Identity",
- "required": false,
- "type": "string"
}, - {
- "name": "caCert",
- "displayName": "CA Certificate File",
- "required": false,
- "type": "file"
}, - {
- "name": "password",
- "displayName": "password",
- "required": true,
- "type": "password"
}
]
}
]
}
Deactivates the Wi-Fi connection and removes it from known connections
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
ssid required | string (Ssid) The network's SSID |
{- "ssid": "string"
}
{- "message": "string"
}
Blink the gantry lights so you can pick it out of a crowd
seconds required | integer (Seconds) Time to blink the lights for |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "message": "string"
}
Get a list of useful positions.
Deprecated: This data only makes sense for OT-2 robots, not Flex robots. There is currently no public way to get these positions for Flex robots.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "positions": {
- "change_pipette": {
- "target": "mount",
- "left": [
- 325,
- 40,
- 30
], - "right": [
- 65,
- 40,
- 30
]
}, - "attach_tip": {
- "target": "pipette",
- "point": [
- 200,
- 90,
- 150
]
}
}
}
Move the robot's gantry to a position (usually to a position retrieved from GET /robot/positions
).
Deprecated: Run a moveToCoordinates
command in a maintenance run instead. See the /maintenance_runs
endpoints.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
target required | string (MotionTarget) Enum: "pipette" "mount" What should be moved. If mount, move the nominal position of the mount; if pipette, move the nozzle of the pipette |
point required | Array of numbers (Point) = 3 items A point in deck coordinates (x, y, z) |
mount required | string (Mount) Enum: "right" "left" Which mount to move |
model | string (Model) A pipette model that matches the pipette attached to the specified mount. Required if target is pipette |
{- "target": "mount",
- "point": [
- 100,
- 100,
- 80
], - "mount": "left"
}
{- "message": "string"
}
Home the robot.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
target required | string (HomeTarget) Enum: "pipette" "robot" What to home. Robot means to home all axes; pipette, only that pipette's carriage and pipette axes |
mount | string (Mount) Enum: "right" "left" Which mount to home, if target is pipette (required in that case) |
{- "target": "robot"
}
{- "message": "string"
}
Get the current status of the robot's rail lights
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "on": true
}
Turn the rail lights on or off
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
on required | boolean (On) The light state |
{- "on": true
}
{- "on": true
}
Get a list of available advanced settings (feature flags) and their values
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "settings": [
- {
- "id": "string",
- "old_id": "string",
- "title": "string",
- "description": "string",
- "restart_required": true,
- "value": true
}
], - "links": {
- "restart": "string"
}
}
Change an advanced setting (feature flag)
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
id required | string (Id) The ID of the setting to change (something returned by GET /settings) |
value | boolean (Value) The new value to set. If null, reset to default |
{- "id": "string",
- "value": true
}
{- "settings": [
- {
- "id": "string",
- "old_id": "string",
- "title": "string",
- "description": "string",
- "restart_required": true,
- "value": true
}
], - "links": {
- "restart": "string"
}
}
Set the minimum level of logs saved locally
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
log_level | string (LogLevels) Enum: "debug" "info" "warning" "error" The value to set (conforming to Python log levels) |
{- "log_level": "debug"
}
{- "message": "string"
}
Set the minimum level of logs sent upstream via syslog-ng to Opentrons. Removed in robot software v7.2.0.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
log_level | string (LogLevels) Enum: "debug" "info" "warning" "error" The value to set (conforming to Python log levels) |
{- "log_level": "debug"
}
{- "message": "string",
- "errorCode": "string"
}
Get the robot settings and data that can be reset through POST /settings/reset
.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "options": [
- {
- "id": "bootScripts",
- "name": "string",
- "description": "string"
}
]
}
Perform a reset of the requested robot settings or data.
The valid properties are given by GET /settings/reset/options
.
You should always restart the robot after using this endpoint to reset something.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
property name* additional property | boolean |
{- "property1": true,
- "property2": true
}
{- "message": "string"
}
Get the current robot config
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{ }
List all settings for all known pipettes by id. Only available on OT-2.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "property1": {
- "info": {
- "name": "string",
- "model": "string"
}, - "fields": {
- "quirks": {
- "property1": true,
- "property2": true
}, - "top": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "bottom": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "blowout": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTip": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpDistance": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpIncrement": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpPresses": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "plungerCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "tipLength": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}
}
}, - "property2": {
- "info": {
- "name": "string",
- "model": "string"
}, - "fields": {
- "quirks": {
- "property1": true,
- "property2": true
}, - "top": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "bottom": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "blowout": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTip": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpDistance": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpIncrement": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpPresses": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "plungerCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "tipLength": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}
}
}
}
Get the settings of a specific pipette by ID. Only available on OT-2.
pipette_id required | string (Pipette Id) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "info": {
- "name": "string",
- "model": "string"
}, - "fields": {
- "quirks": {
- "property1": true,
- "property2": true
}, - "top": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "bottom": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "blowout": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTip": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpDistance": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpIncrement": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpPresses": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "plungerCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "tipLength": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}
}
}
Change the settings of a specific pipette. Only available on OT-2.
pipette_id required | string (Pipette Id) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
object (Fields) |
{- "fields": {
- "property1": {
- "value": true
}, - "property2": {
- "value": true
}
}
}
{- "info": {
- "name": "string",
- "model": "string"
}, - "fields": {
- "quirks": {
- "property1": true,
- "property2": true
}, - "top": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "bottom": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "blowout": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTip": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpDistance": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpIncrement": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpPresses": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "plungerCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "tipLength": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}
}
}
Get the calibration status
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "deckCalibration": {
- "status": "OK",
- "data": {
- "type": "affine",
- "matrix": [
- [
- 0
]
], - "lastModified": "2019-08-24T14:15:22Z",
- "pipetteCalibratedWith": "string",
- "tiprack": "string",
- "source": "default",
- "status": {
- "markedBad": true,
- "source": "default",
- "markedAt": "2019-08-24T14:15:22Z"
}
}
}, - "instrumentCalibration": {
- "right": {
- "single": [
- 0
], - "multi": [
- 0
]
}, - "left": {
- "single": [
- 0
], - "multi": [
- 0
]
}
}
}
Command a module to take an action. Valid actions depend on the specific module attached, which is the model value from GET /modules/{serial}/data
or GET /modules
.
Deprecated: Removed with Opentrons-Version: 3
. Use POST /commands
instead.
serial required | string (Serial) Serial number of the module |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
command_type required | string (Command Type) The name of the module function to call |
args | Array of any (Args) The ordered args list for the call |
{- "command_type": "set_Temperature",
- "args": [
- 60
]
}
{- "message": "Success"
}
Command robot to flash its bundled firmware file for this module's type to this specific module
serial required | string (Serial) Serial number of the module |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "message": "string"
}
This endpoint lists properties of the pipettes currently attached to the robot like name, model, and mount.
If you're controlling a Flex, and not an OT-2, you might prefer the GET /instruments
endpoint instead.
refresh | boolean (Refresh) Default: false If Warning: Actively scanning disables the pipette motors and should only be done when no protocol is running and you know it won't cause a problem. Warning: Actively scanning is only valid on OT-2s. On Flex robots, it's unnecessary, and the behavior is currently undefined. |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "left": {
- "model": "p300_single_v1.5",
- "name": "p300_single",
- "tip_length": 51.7,
- "mount_axis": "z",
- "plunger_axis": "b",
- "id": "P3HS12123041"
}, - "right": {
- "mount_axis": "a",
- "plunger_axis": "c"
}
}
Query which motors are engaged and holding
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "x": {
- "enabled": true
}, - "y": {
- "enabled": true
}, - "z_l": {
- "enabled": true
}, - "z_r": {
- "enabled": true
}, - "p_l": {
- "enabled": true
}, - "p_r": {
- "enabled": true
}, - "q": {
- "enabled": true
}, - "g": {
- "enabled": true
}
}
Disengage a motor or set of motors
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
axes required | Array of strings (MotorName) Items Enum: "x" "y" "z_l" "z_r" "z_g" "p_l" "p_r" "q" "g" "z" "a" "b" "c" |
{- "axes": [
- "x"
]
}
{- "message": "string"
}
Capture an image from the OT-2's on-board camera and return it
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
null
Get the robot's troubleshooting logs.
If you want the list of steps executed in a protocol, like "aspirated 5 µL from well A1...", you probably want the protocol analysis commands (GET /protocols/{id}/analyses/{id}
) or run commands (GET /runs/{id}/commands
) instead.
log_identifier required | string (LogIdentifier) Enum: "api.log" "serial.log" "server.log" "combined_api_server.log" "touchscreen.log" Identifier of the log |
format | string (Log format type) Default: "text" Enum: "text" "json" Format to use for log records |
records | integer (Number of records to retrieve) ( 0 .. 100000 ] Default: 50000 |
null
Get information about the health of the robot server.
Use the health endpoint to check that the robot server is running and ready to operate. A 200 OK response means the server is running. The response includes information about the software and system.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "name": "Otie",
- "robot_model": "OT-2 Standard",
- "api_version": "3.15.2",
- "fw_version": "v2.15.0",
- "board_revision": "2.1",
- "logs": [
- "/logs/serial.log",
- "/logs/api.log"
], - "system_version": "1.2.1",
- "maximum_protocol_api_version": [
- 2,
- 8
], - "minimum_protocol_api_version": [
- 2,
- 0
], - "robot_serial": "OT2CEP20190604A02",
- "links": {
- "apiLog": "/logs/api.log",
- "serialLog": "/logs/serial.log",
- "serverLog": "/logs/server.log",
- "oddLog": "/logs/touchscreen.log",
- "apiSpec": "/openapi.json",
- "systemTime": "/system/time"
}
}
Gets information about the robot's network interfaces including their connectivity, their addresses, and their networking info
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "status": "full",
- "interfaces": {
- "wlan0": {
- "ipAddress": "192.168.43.97/24",
- "macAddress": "B8:27:EB:6C:95:CF",
- "gatewayAddress": "192.168.43.161",
- "state": "connected",
- "type": "wifi"
}, - "eth0": {
- "ipAddress": "169.254.229.173/16",
- "macAddress": "B8:27:EB:39:C0:9A",
- "state": "connected",
- "type": "ethernet"
}
}
}
Returns the list of the visible wifi networks along with some data about their security and strength.
rescan | boolean (Rescan) Default: false If |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "list": [
- {
- "ssid": "linksys",
- "signal": 50,
- "active": false,
- "security": "WPA2 802.1X",
- "securityType": "wpa-eap"
}
]
}
Configures the wireless network interface to connect to a network
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
ssid required | string (Ssid) The SSID to connect to. If this isn't an SSID that is being broadcast by a network, you should also set |
hidden | boolean (Hidden) Default: false
|
securityType | string (NetworkingSecurityType) Enum: "wpa-eap" "wpa-psk" "none" "unsupported" Top-level type of network security |
psk | string <password> (Psk) If this is a PSK-secured network ( |
object (Eapconfig) All options required to configure EAP access to the Wi-Fi. All options should match one of the cases described in |
{- "ssid": "linksys"
}
{- "message": "string",
- "ssid": "string"
}
Get a list of key files known to the system
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "keys": [
- {
- "uri": "/wifi/keys/abda234a234",
- "id": "abda234a234",
- "name": "client.pem"
}
]
}
Send a new key file to the robot
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
key required | string <binary> (Key) |
{- "uri": "string",
- "id": "string",
- "name": "string",
- "message": "string"
}
Delete a key file from the robot
key_uuid required | string (Key Uuid) The ID of key to delete, as determined by a previous call to GET /wifi/keys |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "message": "string"
}
Get the supported EAP variants and their configuration parameters
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "options": [
- {
- "name": "peap/mschapv2",
- "displayName": "PEAP/MS-CHAP v2",
- "options": [
- {
- "name": "identity",
- "displayName": "Username",
- "required": true,
- "type": "string"
}, - {
- "name": "anonymousIdentity",
- "displayName": "Anonymous Identity",
- "required": false,
- "type": "string"
}, - {
- "name": "caCert",
- "displayName": "CA Certificate File",
- "required": false,
- "type": "file"
}, - {
- "name": "password",
- "displayName": "password",
- "required": true,
- "type": "password"
}
]
}
]
}
Deactivates the Wi-Fi connection and removes it from known connections
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
ssid required | string (Ssid) The network's SSID |
{- "ssid": "string"
}
{- "message": "string"
}
Blink the gantry lights so you can pick it out of a crowd
seconds required | integer (Seconds) Time to blink the lights for |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "message": "string"
}
Get a list of useful positions.
Deprecated: This data only makes sense for OT-2 robots, not Flex robots. There is currently no public way to get these positions for Flex robots.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "positions": {
- "change_pipette": {
- "target": "mount",
- "left": [
- 325,
- 40,
- 30
], - "right": [
- 65,
- 40,
- 30
]
}, - "attach_tip": {
- "target": "pipette",
- "point": [
- 200,
- 90,
- 150
]
}
}
}
Move the robot's gantry to a position (usually to a position retrieved from GET /robot/positions
).
Deprecated: Run a moveToCoordinates
command in a maintenance run instead. See the /maintenance_runs
endpoints.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
target required | string (MotionTarget) Enum: "pipette" "mount" What should be moved. If mount, move the nominal position of the mount; if pipette, move the nozzle of the pipette |
point required | Array of numbers (Point) = 3 items A point in deck coordinates (x, y, z) |
mount required | string (Mount) Enum: "right" "left" Which mount to move |
model | string (Model) A pipette model that matches the pipette attached to the specified mount. Required if target is pipette |
{- "target": "mount",
- "point": [
- 100,
- 100,
- 80
], - "mount": "left"
}
{- "message": "string"
}
Home the robot.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
target required | string (HomeTarget) Enum: "pipette" "robot" What to home. Robot means to home all axes; pipette, only that pipette's carriage and pipette axes |
mount | string (Mount) Enum: "right" "left" Which mount to home, if target is pipette (required in that case) |
{- "target": "robot"
}
{- "message": "string"
}
Get the current status of the robot's rail lights
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "on": true
}
Turn the rail lights on or off
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
on required | boolean (On) The light state |
{- "on": true
}
{- "on": true
}
Get a list of available advanced settings (feature flags) and their values
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "settings": [
- {
- "id": "string",
- "old_id": "string",
- "title": "string",
- "description": "string",
- "restart_required": true,
- "value": true
}
], - "links": {
- "restart": "string"
}
}
Change an advanced setting (feature flag)
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
id required | string (Id) The ID of the setting to change (something returned by GET /settings) |
value | boolean (Value) The new value to set. If null, reset to default |
{- "id": "string",
- "value": true
}
{- "settings": [
- {
- "id": "string",
- "old_id": "string",
- "title": "string",
- "description": "string",
- "restart_required": true,
- "value": true
}
], - "links": {
- "restart": "string"
}
}
Set the minimum level of logs saved locally
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
log_level | string (LogLevels) Enum: "debug" "info" "warning" "error" The value to set (conforming to Python log levels) |
{- "log_level": "debug"
}
{- "message": "string"
}
Set the minimum level of logs sent upstream via syslog-ng to Opentrons. Removed in robot software v7.2.0.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
log_level | string (LogLevels) Enum: "debug" "info" "warning" "error" The value to set (conforming to Python log levels) |
{- "log_level": "debug"
}
{- "message": "string",
- "errorCode": "string"
}
Get the robot settings and data that can be reset through POST /settings/reset
.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "options": [
- {
- "id": "bootScripts",
- "name": "string",
- "description": "string"
}
]
}
Perform a reset of the requested robot settings or data.
The valid properties are given by GET /settings/reset/options
.
You should always restart the robot after using this endpoint to reset something.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
property name* additional property | boolean |
{- "property1": true,
- "property2": true
}
{- "message": "string"
}
Get the current robot config
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{ }
List all settings for all known pipettes by id. Only available on OT-2.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "property1": {
- "info": {
- "name": "string",
- "model": "string"
}, - "fields": {
- "quirks": {
- "property1": true,
- "property2": true
}, - "top": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "bottom": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "blowout": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTip": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpDistance": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpIncrement": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpPresses": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "plungerCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "tipLength": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}
}
}, - "property2": {
- "info": {
- "name": "string",
- "model": "string"
}, - "fields": {
- "quirks": {
- "property1": true,
- "property2": true
}, - "top": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "bottom": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "blowout": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTip": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpDistance": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpIncrement": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpPresses": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "plungerCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "tipLength": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}
}
}
}
Get the settings of a specific pipette by ID. Only available on OT-2.
pipette_id required | string (Pipette Id) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "info": {
- "name": "string",
- "model": "string"
}, - "fields": {
- "quirks": {
- "property1": true,
- "property2": true
}, - "top": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "bottom": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "blowout": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTip": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpDistance": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpIncrement": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpPresses": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "plungerCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "tipLength": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}
}
}
Change the settings of a specific pipette. Only available on OT-2.
pipette_id required | string (Pipette Id) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
object (Fields) |
{- "fields": {
- "property1": {
- "value": true
}, - "property2": {
- "value": true
}
}
}
{- "info": {
- "name": "string",
- "model": "string"
}, - "fields": {
- "quirks": {
- "property1": true,
- "property2": true
}, - "top": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "bottom": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "blowout": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTip": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpDistance": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpIncrement": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpPresses": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "pickUpSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "plungerCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipCurrent": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "dropTipSpeed": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}, - "tipLength": {
- "units": "string",
- "type": "float",
- "min": 0,
- "max": 0,
- "default": 0,
- "value": 0
}
}
}
Get the calibration status
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "deckCalibration": {
- "status": "OK",
- "data": {
- "type": "affine",
- "matrix": [
- [
- 0
]
], - "lastModified": "2019-08-24T14:15:22Z",
- "pipetteCalibratedWith": "string",
- "tiprack": "string",
- "source": "default",
- "status": {
- "markedBad": true,
- "source": "default",
- "markedAt": "2019-08-24T14:15:22Z"
}
}
}, - "instrumentCalibration": {
- "right": {
- "single": [
- 0
], - "multi": [
- 0
]
}, - "left": {
- "single": [
- 0
], - "multi": [
- 0
]
}
}
}
Command a module to take an action. Valid actions depend on the specific module attached, which is the model value from GET /modules/{serial}/data
or GET /modules
.
Deprecated: Removed with Opentrons-Version: 3
. Use POST /commands
instead.
serial required | string (Serial) Serial number of the module |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
command_type required | string (Command Type) The name of the module function to call |
args | Array of any (Args) The ordered args list for the call |
{- "command_type": "set_Temperature",
- "args": [
- 60
]
}
{- "message": "Success"
}
Command robot to flash its bundled firmware file for this module's type to this specific module
serial required | string (Serial) Serial number of the module |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "message": "string"
}
This endpoint lists properties of the pipettes currently attached to the robot like name, model, and mount.
If you're controlling a Flex, and not an OT-2, you might prefer the GET /instruments
endpoint instead.
refresh | boolean (Refresh) Default: false If Warning: Actively scanning disables the pipette motors and should only be done when no protocol is running and you know it won't cause a problem. Warning: Actively scanning is only valid on OT-2s. On Flex robots, it's unnecessary, and the behavior is currently undefined. |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "left": {
- "model": "p300_single_v1.5",
- "name": "p300_single",
- "tip_length": 51.7,
- "mount_axis": "z",
- "plunger_axis": "b",
- "id": "P3HS12123041"
}, - "right": {
- "mount_axis": "a",
- "plunger_axis": "c"
}
}
Query which motors are engaged and holding
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "x": {
- "enabled": true
}, - "y": {
- "enabled": true
}, - "z_l": {
- "enabled": true
}, - "z_r": {
- "enabled": true
}, - "p_l": {
- "enabled": true
}, - "p_r": {
- "enabled": true
}, - "q": {
- "enabled": true
}, - "g": {
- "enabled": true
}
}
Disengage a motor or set of motors
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
axes required | Array of strings (MotorName) Items Enum: "x" "y" "z_l" "z_r" "z_g" "p_l" "p_r" "q" "g" "z" "a" "b" "c" |
{- "axes": [
- "x"
]
}
{- "message": "string"
}
Capture an image from the OT-2's on-board camera and return it
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
null
Get the robot's troubleshooting logs.
If you want the list of steps executed in a protocol, like "aspirated 5 µL from well A1...", you probably want the protocol analysis commands (GET /protocols/{id}/analyses/{id}
) or run commands (GET /runs/{id}/commands
) instead.
log_identifier required | string (LogIdentifier) Enum: "api.log" "serial.log" "server.log" "combined_api_server.log" "touchscreen.log" Identifier of the log |
format | string (Log format type) Default: "text" Enum: "text" "json" Format to use for log records |
records | integer (Number of records to retrieve) ( 0 .. 100000 ] Default: 50000 |
null
Get information about the health of the robot server.
Use the health endpoint to check that the robot server is running and ready to operate. A 200 OK response means the server is running. The response includes information about the software and system.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "name": "Otie",
- "robot_model": "OT-2 Standard",
- "api_version": "3.15.2",
- "fw_version": "v2.15.0",
- "board_revision": "2.1",
- "logs": [
- "/logs/serial.log",
- "/logs/api.log"
], - "system_version": "1.2.1",
- "maximum_protocol_api_version": [
- 2,
- 8
], - "minimum_protocol_api_version": [
- 2,
- 0
], - "robot_serial": "OT2CEP20190604A02",
- "links": {
- "apiLog": "/logs/api.log",
- "serialLog": "/logs/serial.log",
- "serverLog": "/logs/server.log",
- "oddLog": "/logs/touchscreen.log",
- "apiSpec": "/openapi.json",
- "systemTime": "/system/time"
}
}
Get a list of all active and inactive runs, in order from oldest to newest.
pageLength | integer (Pagelength) The maximum number of runs to return. If this is less than the total number of runs, the most-recently created runs will be returned. If this is omitted or |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- {
- "id": "string",
- "ok": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "status": "idle",
- "current": true,
- "actions": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "actionType": "play"
}
], - "errors": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}
], - "pipettes": [
- {
- "id": "string",
- "pipetteName": "p10_single",
- "mount": "left"
}
], - "modules": [
- {
- "id": "string",
- "model": "temperatureModuleV1",
- "location": {
- "slotName": "1"
}, - "serialNumber": "string"
}
], - "labware": [
- {
- "id": "string",
- "loadName": "string",
- "definitionUri": "string",
- "location": {
- "slotName": "1"
}, - "offsetId": "string",
- "displayName": "string"
}
], - "liquids": [
- {
- "id": "string",
- "displayName": "string",
- "description": "string",
- "displayColor": "string"
}
], - "labwareOffsets": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
], - "runTimeParameters": [
- {
- "displayName": "string",
- "variableName": "string",
- "description": "string",
- "suffix": "string",
- "type": "int",
- "min": 0,
- "max": 0,
- "value": 0,
- "default": 0
}
], - "protocolId": "string",
- "completedAt": "2019-08-24T14:15:22Z",
- "startedAt": "2019-08-24T14:15:22Z"
}
], - "links": {
- "current": {
- "href": "string",
- "meta": { }
}
}, - "meta": {
- "cursor": 0,
- "totalLength": 0
}
}
Create a new run to track robot interaction.
When too many runs already exist, old ones will be automatically deleted to make room for the new one.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | object (Data) the document’s 'primary data' |
{- "data": {
- "protocolId": "string",
- "labwareOffsets": [
- {
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
], - "runTimeParameterValues": {
- "property1": 0,
- "property2": 0
}
}
}
{- "data": {
- "id": "string",
- "ok": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "status": "idle",
- "current": true,
- "actions": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "actionType": "play"
}
], - "errors": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}
], - "pipettes": [
- {
- "id": "string",
- "pipetteName": "p10_single",
- "mount": "left"
}
], - "modules": [
- {
- "id": "string",
- "model": "temperatureModuleV1",
- "location": {
- "slotName": "1"
}, - "serialNumber": "string"
}
], - "labware": [
- {
- "id": "string",
- "loadName": "string",
- "definitionUri": "string",
- "location": {
- "slotName": "1"
}, - "offsetId": "string",
- "displayName": "string"
}
], - "liquids": [
- {
- "id": "string",
- "displayName": "string",
- "description": "string",
- "displayColor": "string"
}
], - "labwareOffsets": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
], - "runTimeParameters": [
- {
- "displayName": "string",
- "variableName": "string",
- "description": "string",
- "suffix": "string",
- "type": "int",
- "min": 0,
- "max": 0,
- "value": 0,
- "default": 0
}
], - "protocolId": "string",
- "completedAt": "2019-08-24T14:15:22Z",
- "startedAt": "2019-08-24T14:15:22Z"
}
}
Get a specific run by its unique identifier.
runId required | string (Runid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "id": "string",
- "ok": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "status": "idle",
- "current": true,
- "actions": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "actionType": "play"
}
], - "errors": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}
], - "pipettes": [
- {
- "id": "string",
- "pipetteName": "p10_single",
- "mount": "left"
}
], - "modules": [
- {
- "id": "string",
- "model": "temperatureModuleV1",
- "location": {
- "slotName": "1"
}, - "serialNumber": "string"
}
], - "labware": [
- {
- "id": "string",
- "loadName": "string",
- "definitionUri": "string",
- "location": {
- "slotName": "1"
}, - "offsetId": "string",
- "displayName": "string"
}
], - "liquids": [
- {
- "id": "string",
- "displayName": "string",
- "description": "string",
- "displayColor": "string"
}
], - "labwareOffsets": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
], - "runTimeParameters": [
- {
- "displayName": "string",
- "variableName": "string",
- "description": "string",
- "suffix": "string",
- "type": "int",
- "min": 0,
- "max": 0,
- "value": 0,
- "default": 0
}
], - "protocolId": "string",
- "completedAt": "2019-08-24T14:15:22Z",
- "startedAt": "2019-08-24T14:15:22Z"
}
}
Delete a specific run by its unique identifier.
runId required | string (Runid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{ }
Update a specific run, returning the updated resource.
runId required | string (Runid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | object (Data) the document’s 'primary data' |
{- "data": {
- "current": true
}
}
{- "data": {
- "id": "string",
- "ok": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "status": "idle",
- "current": true,
- "actions": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "actionType": "play"
}
], - "errors": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}
], - "pipettes": [
- {
- "id": "string",
- "pipetteName": "p10_single",
- "mount": "left"
}
], - "modules": [
- {
- "id": "string",
- "model": "temperatureModuleV1",
- "location": {
- "slotName": "1"
}, - "serialNumber": "string"
}
], - "labware": [
- {
- "id": "string",
- "loadName": "string",
- "definitionUri": "string",
- "location": {
- "slotName": "1"
}, - "offsetId": "string",
- "displayName": "string"
}
], - "liquids": [
- {
- "id": "string",
- "displayName": "string",
- "description": "string",
- "displayColor": "string"
}
], - "labwareOffsets": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
], - "runTimeParameters": [
- {
- "displayName": "string",
- "variableName": "string",
- "description": "string",
- "suffix": "string",
- "type": "int",
- "min": 0,
- "max": 0,
- "value": 0,
- "default": 0
}
], - "protocolId": "string",
- "completedAt": "2019-08-24T14:15:22Z",
- "startedAt": "2019-08-24T14:15:22Z"
}
}
Get a list of all commands in the run and their statuses.
The commands are returned in order from oldest to newest.
This endpoint returns command summaries. Use GET /runs/{runId}/commands/{commandId}
to get all information available for a given command.
runId required | string (Runid) |
cursor | integer (Cursor) The starting index of the desired first command in the list. If unspecified, a cursor will be selected automatically based on the currently running or most recently executed command. |
pageLength | integer (Pagelength) Default: 20 The maximum number of commands in the list to return. |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- {
- "id": "string",
- "key": "string",
- "commandType": "aspirate",
- "createdAt": "2019-08-24T14:15:22Z",
- "startedAt": "2019-08-24T14:15:22Z",
- "completedAt": "2019-08-24T14:15:22Z",
- "status": "queued",
- "error": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}, - "params": {
- "labwareId": "string",
- "wellName": "string",
- "wellLocation": {
- "origin": "top",
- "offset": {
- "x": 0,
- "y": 0,
- "z": 0
}
}, - "flowRate": 0,
- "volume": 0,
- "pipetteId": "string"
}, - "intent": "protocol",
- "notes": [
- {
- "noteKind": "warning",
- "shortMessage": "string",
- "longMessage": "string",
- "source": "string"
}
]
}
], - "links": {
- "current": {
- "href": "string",
- "meta": {
- "runId": "string",
- "commandId": "string",
- "index": 0,
- "key": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}, - "meta": {
- "cursor": 0,
- "totalLength": 0
}
}
Add a single command to the run. You can add commands to a run for two reasons:
data.source == "setup"
)data.source == "protocol"
)data.source == "fixit"
)Setup commands may be enqueued before the run has been started. You could use setup commands to prepare a module or run labware calibration procedures.
Protocol commands may be enqueued anytime using this endpoint. You can create a protocol purely over HTTP using protocol commands. If you are running a protocol from a file(s), then you will likely not need to enqueue protocol commands using this endpoint.
Fixit commands may be enqueued while the run is awaiting-recovery
state.
These commands are intended to fix a failed command.
They will be executed right after the failed command
and only if the run is in a awaiting-recovery
state.
Once enqueued, setup commands will execute immediately with priority,
while protocol commands will wait until a play
action is issued.
A play action may be issued while setup commands are still queued,
in which case all setup commands will finish executing before
the run moves on to protocol commands.
If you are running a protocol file(s), use caution with this endpoint, as added commands may interfere with commands added by the protocol
runId required | string (Runid) |
waitUntilComplete | boolean (Waituntilcomplete) Default: false If |
timeout | integer (Timeout) > 0 If The timer starts as soon as you enqueue the new command with this request, not when the new command starts running. So if there are other commands in the queue before the new one, they will also count towards the timeout. If the timeout elapses before the command succeeds or fails, the command will be returned with its current status. Compatibility note: on robot software v6.2.0 and older, the default was 30 seconds, not infinite. |
failedCommandId | string (Failedcommandid) FIXIT command use only. Reference of the failed command id we are trying to fix. |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | any (Data) |
{- "data": {
- "commandType": "aspirate",
- "params": {
- "labwareId": "string",
- "wellName": "string",
- "wellLocation": {
- "origin": "top",
- "offset": {
- "x": 0,
- "y": 0,
- "z": 0
}
}, - "flowRate": 0,
- "volume": 0,
- "pipetteId": "string"
}, - "intent": "protocol",
- "key": "string"
}
}
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "commandType": "aspirate",
- "key": "string",
- "status": "queued",
- "params": {
- "labwareId": "string",
- "wellName": "string",
- "wellLocation": {
- "origin": "top",
- "offset": {
- "x": 0,
- "y": 0,
- "z": 0
}
}, - "flowRate": 0,
- "volume": 0,
- "pipetteId": "string"
}, - "result": {
- "position": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "volume": 0
}, - "error": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}, - "startedAt": "2019-08-24T14:15:22Z",
- "completedAt": "2019-08-24T14:15:22Z",
- "intent": "protocol",
- "notes": [
- {
- "noteKind": "warning",
- "shortMessage": "string",
- "longMessage": "string",
- "source": "string"
}
], - "failedCommandId": "string"
}
}
Get all commands of a completed run as a list of pre-serialized commands.Warning: This endpoint is experimental. We may change or remove it without warning.
The commands list will only be available after a run has completed (whether successful, failed or stopped) and its data has been committed to the database. If a request is received before the run is completed, it will return a 503 Unavailable error. This is a faster alternative to fetching the full commands list using GET /runs/{runId}/commands
. For large protocols (10k+ commands), the above endpoint can take minutes to respond, whereas this one should only take a few seconds.
runId required | string (Runid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- "string"
], - "meta": {
- "cursor": 0,
- "totalLength": 0
}
}
Get a command along with any associated payload, result, and execution information.
runId required | string (Runid) |
commandId required | string (Commandid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "commandType": "aspirate",
- "key": "string",
- "status": "queued",
- "params": {
- "labwareId": "string",
- "wellName": "string",
- "wellLocation": {
- "origin": "top",
- "offset": {
- "x": 0,
- "y": 0,
- "z": 0
}
}, - "flowRate": 0,
- "volume": 0,
- "pipetteId": "string"
}, - "result": {
- "position": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "volume": 0
}, - "error": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}, - "startedAt": "2019-08-24T14:15:22Z",
- "completedAt": "2019-08-24T14:15:22Z",
- "intent": "protocol",
- "notes": [
- {
- "noteKind": "warning",
- "shortMessage": "string",
- "longMessage": "string",
- "source": "string"
}
], - "failedCommandId": "string"
}
}
Provide an action in order to control execution of the run.
runId required | string (Runid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | object (Data) the document’s 'primary data' |
{- "data": {
- "actionType": "play"
}
}
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "actionType": "play"
}
}
Add a labware offset to an existing run, returning the created offset.
There is no matching GET /runs/{runId}/labware_offsets
endpoint. To read the list of labware offsets currently on the run, see the run's labwareOffsets
field.
runId required | string (Runid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | object (Data) the document’s 'primary data' |
{- "data": {
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
}
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
}
Add a labware definition to a run, returning the added definition's URI.
runId required | string (Runid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | object (Data) the document’s 'primary data' |
{- "data": {
- "schemaVersion": 1,
- "version": 1,
- "namespace": "string",
- "metadata": {
- "displayName": "string",
- "displayCategory": "tipRack",
- "displayVolumeUnits": "µL",
- "tags": [
- "string"
]
}, - "brand": {
- "brand": "string",
- "brandId": [
- "string"
], - "links": [
- "string"
]
}, - "parameters": {
- "format": "96Standard",
- "quirks": [
- "string"
], - "isTiprack": true,
- "tipLength": 0,
- "tipOverlap": 0,
- "loadName": "string",
- "isMagneticModuleCompatible": true,
- "magneticModuleEngageHeight": 0
}, - "ordering": [
- [
- "string"
]
], - "cornerOffsetFromSlot": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "dimensions": {
- "yDimension": 0,
- "zDimension": 0,
- "xDimension": 0
}, - "wells": {
- "property1": {
- "depth": 0,
- "x": 0,
- "y": 0,
- "z": 0,
- "totalLiquidVolume": 0,
- "xDimension": 0,
- "yDimension": 0,
- "diameter": 0,
- "shape": "rectangular"
}, - "property2": {
- "depth": 0,
- "x": 0,
- "y": 0,
- "z": 0,
- "totalLiquidVolume": 0,
- "xDimension": 0,
- "yDimension": 0,
- "diameter": 0,
- "shape": "rectangular"
}
}, - "groups": [
- {
- "wells": [
- "string"
], - "metadata": {
- "displayName": "string",
- "displayCategory": "tipRack",
- "wellBottomShape": "flat"
}, - "brand": {
- "brand": "string",
- "brandId": [
- "string"
], - "links": [
- "string"
]
}
}
], - "allowedRoles": [
- "labware"
], - "stackingOffsetWithLabware": {
- "property1": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "property2": {
- "x": 0,
- "y": 0,
- "z": 0
}
}, - "stackingOffsetWithModule": {
- "property1": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "property2": {
- "x": 0,
- "y": 0,
- "z": 0
}
}, - "gripperOffsets": {
- "property1": {
- "pickUpOffset": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "dropOffset": {
- "x": 0,
- "y": 0,
- "z": 0
}
}, - "property2": {
- "pickUpOffset": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "dropOffset": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
}, - "gripHeightFromLabwareBottom": 0,
- "gripForce": 0
}
}
{- "data": {
- "id": "string",
- "ok": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "status": "idle",
- "current": true,
- "actions": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "actionType": "play"
}
], - "errors": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}
], - "pipettes": [
- {
- "id": "string",
- "pipetteName": "p10_single",
- "mount": "left"
}
], - "modules": [
- {
- "id": "string",
- "model": "temperatureModuleV1",
- "location": {
- "slotName": "1"
}, - "serialNumber": "string"
}
], - "labware": [
- {
- "id": "string",
- "loadName": "string",
- "definitionUri": "string",
- "location": {
- "slotName": "1"
}, - "offsetId": "string",
- "displayName": "string"
}
], - "liquids": [
- {
- "id": "string",
- "displayName": "string",
- "description": "string",
- "displayColor": "string"
}
], - "labwareOffsets": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
], - "runTimeParameters": [
- {
- "displayName": "string",
- "variableName": "string",
- "description": "string",
- "suffix": "string",
- "type": "int",
- "min": 0,
- "max": 0,
- "value": 0,
- "default": 0
}
], - "protocolId": "string",
- "completedAt": "2019-08-24T14:15:22Z",
- "startedAt": "2019-08-24T14:15:22Z"
}
}
Get the definitions of all the labware that the given run has loaded so far.
When the run is first created, this list will be empty. As it executes and goes through loadLabware
commands, those commands' result.definition
s will be added to this list. Repeated definitions will be deduplicated.
runId required | string (Runid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "id": "string",
- "ok": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "status": "idle",
- "current": true,
- "actions": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "actionType": "play"
}
], - "errors": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}
], - "pipettes": [
- {
- "id": "string",
- "pipetteName": "p10_single",
- "mount": "left"
}
], - "modules": [
- {
- "id": "string",
- "model": "temperatureModuleV1",
- "location": {
- "slotName": "1"
}, - "serialNumber": "string"
}
], - "labware": [
- {
- "id": "string",
- "loadName": "string",
- "definitionUri": "string",
- "location": {
- "slotName": "1"
}, - "offsetId": "string",
- "displayName": "string"
}
], - "liquids": [
- {
- "id": "string",
- "displayName": "string",
- "description": "string",
- "displayColor": "string"
}
], - "labwareOffsets": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
], - "runTimeParameters": [
- {
- "displayName": "string",
- "variableName": "string",
- "description": "string",
- "suffix": "string",
- "type": "int",
- "min": 0,
- "max": 0,
- "value": 0,
- "default": 0
}
], - "protocolId": "string",
- "completedAt": "2019-08-24T14:15:22Z",
- "startedAt": "2019-08-24T14:15:22Z"
}
}
Create a new maintenance run to track robot interaction.
If a maintenance run already exists, it will be cleared and a new one will be created.
Will raise an error if a protocol run exists and is not idle.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | object (Data) the document’s 'primary data' |
{- "data": {
- "labwareOffsets": [
- {
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
]
}
}
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "status": "idle",
- "current": true,
- "actions": [
- null
], - "errors": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}
], - "pipettes": [
- {
- "id": "string",
- "pipetteName": "p10_single",
- "mount": "left"
}
], - "modules": [
- {
- "id": "string",
- "model": "temperatureModuleV1",
- "location": {
- "slotName": "1"
}, - "serialNumber": "string"
}
], - "labware": [
- {
- "id": "string",
- "loadName": "string",
- "definitionUri": "string",
- "location": {
- "slotName": "1"
}, - "offsetId": "string",
- "displayName": "string"
}
], - "liquids": [
- {
- "id": "string",
- "displayName": "string",
- "description": "string",
- "displayColor": "string"
}
], - "labwareOffsets": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
], - "completedAt": "2019-08-24T14:15:22Z",
- "startedAt": "2019-08-24T14:15:22Z"
}
}
Get the currently active maintenance run, if any
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "status": "idle",
- "current": true,
- "actions": [
- null
], - "errors": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}
], - "pipettes": [
- {
- "id": "string",
- "pipetteName": "p10_single",
- "mount": "left"
}
], - "modules": [
- {
- "id": "string",
- "model": "temperatureModuleV1",
- "location": {
- "slotName": "1"
}, - "serialNumber": "string"
}
], - "labware": [
- {
- "id": "string",
- "loadName": "string",
- "definitionUri": "string",
- "location": {
- "slotName": "1"
}, - "offsetId": "string",
- "displayName": "string"
}
], - "liquids": [
- {
- "id": "string",
- "displayName": "string",
- "description": "string",
- "displayColor": "string"
}
], - "labwareOffsets": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
], - "completedAt": "2019-08-24T14:15:22Z",
- "startedAt": "2019-08-24T14:15:22Z"
}, - "links": {
- "current": {
- "href": "string",
- "meta": { }
}
}
}
Get a specific run by its unique identifier.
runId required | string (Runid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "status": "idle",
- "current": true,
- "actions": [
- null
], - "errors": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}
], - "pipettes": [
- {
- "id": "string",
- "pipetteName": "p10_single",
- "mount": "left"
}
], - "modules": [
- {
- "id": "string",
- "model": "temperatureModuleV1",
- "location": {
- "slotName": "1"
}, - "serialNumber": "string"
}
], - "labware": [
- {
- "id": "string",
- "loadName": "string",
- "definitionUri": "string",
- "location": {
- "slotName": "1"
}, - "offsetId": "string",
- "displayName": "string"
}
], - "liquids": [
- {
- "id": "string",
- "displayName": "string",
- "description": "string",
- "displayColor": "string"
}
], - "labwareOffsets": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
], - "completedAt": "2019-08-24T14:15:22Z",
- "startedAt": "2019-08-24T14:15:22Z"
}
}
Delete a specific run by its unique identifier.
runId required | string (Runid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{ }
Get a list of all commands in the run and their statuses. This endpoint returns command summaries. Use GET /maintenance_runs/{runId}/commands/{commandId}
to get all information available for a given command.
runId required | string (Runid) |
cursor | integer (Cursor) The starting index of the desired first command in the list. If unspecified, a cursor will be selected automatically based on the currently running or most recently executed command. |
pageLength | integer (Pagelength) Default: 20 The maximum number of commands in the list to return. |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- {
- "id": "string",
- "key": "string",
- "commandType": "aspirate",
- "createdAt": "2019-08-24T14:15:22Z",
- "startedAt": "2019-08-24T14:15:22Z",
- "completedAt": "2019-08-24T14:15:22Z",
- "status": "queued",
- "error": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}, - "params": {
- "labwareId": "string",
- "wellName": "string",
- "wellLocation": {
- "origin": "top",
- "offset": {
- "x": 0,
- "y": 0,
- "z": 0
}
}, - "flowRate": 0,
- "volume": 0,
- "pipetteId": "string"
}, - "intent": "protocol"
}
], - "links": {
- "current": {
- "href": "string",
- "meta": {
- "runId": "string",
- "commandId": "string",
- "index": 0,
- "key": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}, - "meta": {
- "cursor": 0,
- "totalLength": 0
}
}
Add a single command to the maintenance run.
These commands will execute immediately and in the order they are enqueued. The execution of these commands cannot be paused, but a maintenance run can be deleted at any point, as long as there are no commands running.
runId required | string (Runid) |
waitUntilComplete | boolean (Waituntilcomplete) Default: false If |
timeout | integer (Timeout) > 0 If The timer starts as soon as you enqueue the new command with this request, not when the new command starts running. So if there are other commands in the queue before the new one, they will also count towards the timeout. If the timeout elapses before the command succeeds or fails, the command will be returned with its current status. Compatibility note: on robot software v6.2.0 and older, the default was 30 seconds, not infinite. |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | any (Data) |
{- "data": {
- "commandType": "aspirate",
- "params": {
- "labwareId": "string",
- "wellName": "string",
- "wellLocation": {
- "origin": "top",
- "offset": {
- "x": 0,
- "y": 0,
- "z": 0
}
}, - "flowRate": 0,
- "volume": 0,
- "pipetteId": "string"
}, - "intent": "protocol",
- "key": "string"
}
}
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "commandType": "aspirate",
- "key": "string",
- "status": "queued",
- "params": {
- "labwareId": "string",
- "wellName": "string",
- "wellLocation": {
- "origin": "top",
- "offset": {
- "x": 0,
- "y": 0,
- "z": 0
}
}, - "flowRate": 0,
- "volume": 0,
- "pipetteId": "string"
}, - "result": {
- "position": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "volume": 0
}, - "error": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}, - "startedAt": "2019-08-24T14:15:22Z",
- "completedAt": "2019-08-24T14:15:22Z",
- "intent": "protocol",
- "notes": [
- {
- "noteKind": "warning",
- "shortMessage": "string",
- "longMessage": "string",
- "source": "string"
}
], - "failedCommandId": "string"
}
}
Get a command along with any associated payload, result, and execution information.
runId required | string (Runid) |
commandId required | string (Commandid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "commandType": "aspirate",
- "key": "string",
- "status": "queued",
- "params": {
- "labwareId": "string",
- "wellName": "string",
- "wellLocation": {
- "origin": "top",
- "offset": {
- "x": 0,
- "y": 0,
- "z": 0
}
}, - "flowRate": 0,
- "volume": 0,
- "pipetteId": "string"
}, - "result": {
- "position": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "volume": 0
}, - "error": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}, - "startedAt": "2019-08-24T14:15:22Z",
- "completedAt": "2019-08-24T14:15:22Z",
- "intent": "protocol",
- "notes": [
- {
- "noteKind": "warning",
- "shortMessage": "string",
- "longMessage": "string",
- "source": "string"
}
], - "failedCommandId": "string"
}
}
Add a labware offset to an existing run, returning the created offset.
There is no matching GET /maintenance_runs/{runId}/labware_offsets
endpoint. To read the list of labware offsets currently on the run, see the run's labwareOffsets
field.
runId required | string (Runid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | object (Data) the document’s 'primary data' |
{- "data": {
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
}
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
}
Add a labware definition to a run, returning the added definition's URI.
runId required | string (Runid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | object (Data) the document’s 'primary data' |
{- "data": {
- "schemaVersion": 1,
- "version": 1,
- "namespace": "string",
- "metadata": {
- "displayName": "string",
- "displayCategory": "tipRack",
- "displayVolumeUnits": "µL",
- "tags": [
- "string"
]
}, - "brand": {
- "brand": "string",
- "brandId": [
- "string"
], - "links": [
- "string"
]
}, - "parameters": {
- "format": "96Standard",
- "quirks": [
- "string"
], - "isTiprack": true,
- "tipLength": 0,
- "tipOverlap": 0,
- "loadName": "string",
- "isMagneticModuleCompatible": true,
- "magneticModuleEngageHeight": 0
}, - "ordering": [
- [
- "string"
]
], - "cornerOffsetFromSlot": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "dimensions": {
- "yDimension": 0,
- "zDimension": 0,
- "xDimension": 0
}, - "wells": {
- "property1": {
- "depth": 0,
- "x": 0,
- "y": 0,
- "z": 0,
- "totalLiquidVolume": 0,
- "xDimension": 0,
- "yDimension": 0,
- "diameter": 0,
- "shape": "rectangular"
}, - "property2": {
- "depth": 0,
- "x": 0,
- "y": 0,
- "z": 0,
- "totalLiquidVolume": 0,
- "xDimension": 0,
- "yDimension": 0,
- "diameter": 0,
- "shape": "rectangular"
}
}, - "groups": [
- {
- "wells": [
- "string"
], - "metadata": {
- "displayName": "string",
- "displayCategory": "tipRack",
- "wellBottomShape": "flat"
}, - "brand": {
- "brand": "string",
- "brandId": [
- "string"
], - "links": [
- "string"
]
}
}
], - "allowedRoles": [
- "labware"
], - "stackingOffsetWithLabware": {
- "property1": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "property2": {
- "x": 0,
- "y": 0,
- "z": 0
}
}, - "stackingOffsetWithModule": {
- "property1": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "property2": {
- "x": 0,
- "y": 0,
- "z": 0
}
}, - "gripperOffsets": {
- "property1": {
- "pickUpOffset": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "dropOffset": {
- "x": 0,
- "y": 0,
- "z": 0
}
}, - "property2": {
- "pickUpOffset": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "dropOffset": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
}, - "gripHeightFromLabwareBottom": 0,
- "gripForce": 0
}
}
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "status": "idle",
- "current": true,
- "actions": [
- null
], - "errors": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}
], - "pipettes": [
- {
- "id": "string",
- "pipetteName": "p10_single",
- "mount": "left"
}
], - "modules": [
- {
- "id": "string",
- "model": "temperatureModuleV1",
- "location": {
- "slotName": "1"
}, - "serialNumber": "string"
}
], - "labware": [
- {
- "id": "string",
- "loadName": "string",
- "definitionUri": "string",
- "location": {
- "slotName": "1"
}, - "offsetId": "string",
- "displayName": "string"
}
], - "liquids": [
- {
- "id": "string",
- "displayName": "string",
- "description": "string",
- "displayColor": "string"
}
], - "labwareOffsets": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "definitionUri": "string",
- "location": {
- "slotName": "1",
- "moduleModel": "temperatureModuleV1",
- "definitionUri": "string"
}, - "vector": {
- "x": 0,
- "y": 0,
- "z": 0
}
}
], - "completedAt": "2019-08-24T14:15:22Z",
- "startedAt": "2019-08-24T14:15:22Z"
}
}
Return all stored protocols, in order from first-uploaded to last-uploaded.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "files": [
- {
- "name": "string",
- "role": "main"
}
], - "protocolType": "json",
- "robotType": "OT-2 Standard",
- "metadata": { },
- "analyses": [
- null
], - "analysisSummaries": [
- {
- "id": "string",
- "status": "pending"
}
], - "key": "string"
}
], - "meta": {
- "cursor": 0,
- "totalLength": 0
}
}
Upload a protocol to your device. You may include the following files:
When too many protocols already exist, old ones will be automatically deleted
to make room for the new one.
A protocol will never be automatically deleted if there's a run
referring to it, though. (See the /runs/
endpoints.)
If you upload the exact same set of files multiple times, the first protocol resource will be returned instead of creating duplicate ones.
When a new protocol resource is created, an analysis is started for it.
A new analysis is also started if the same protocol file is uploaded but with
a different set of run-time parameter values than the most recent request.
See the /protocols/{id}/analyses/
endpoints for more details.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
files required | Array of strings <binary> (Files) [ items <binary > ] |
key | string (Key) An arbitrary client-defined string to attach to the new protocol resource. This should be no longer than ~100 characters or so. It's intended to store something like a UUID, to help clients that store protocols locally keep track of which local files correspond to which protocol resources on the robot. |
runTimeParameterValues | string (Runtimeparametervalues) Key-value pairs of run-time parameters defined in a protocol. Note that this is expected to be a string holding a JSON object. Also, if this data is included in the request, the server will always trigger an analysis (for now). |
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "files": [
- {
- "name": "string",
- "role": "main"
}
], - "protocolType": "json",
- "robotType": "OT-2 Standard",
- "metadata": { },
- "analyses": [
- null
], - "analysisSummaries": [
- {
- "id": "string",
- "status": "pending"
}
], - "key": "string"
}
}
Get the IDs of all protocols stored on the server.
Warning: This is an experimental endpoint and is only meant for internal use by Opentrons. We might remove it or change its behavior without warning.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- "string"
], - "meta": {
- "cursor": 0,
- "totalLength": 0
}
}
Get an uploaded protocol by ID.
Args: protocolId: Protocol identifier to fetch, pulled from URL. protocol_store: In-memory database of protocol resources. analysis_store: In-memory database of protocol analyses.
protocolId required | string (Protocolid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "files": [
- {
- "name": "string",
- "role": "main"
}
], - "protocolType": "json",
- "robotType": "OT-2 Standard",
- "metadata": { },
- "analyses": [
- null
], - "analysisSummaries": [
- {
- "id": "string",
- "status": "pending"
}
], - "key": "string"
}, - "links": {
- "referencingRuns": [
- {
- "id": "string",
- "href": "string"
}
]
}
}
Delete an uploaded protocol by ID.
Arguments: protocolId: Protocol identifier to delete, pulled from URL. protocol_store: In-memory database of protocol resources.
protocolId required | string (Protocolid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{ }
Get a protocol's full analyses list.
Analyses are returned in order from least-recently started to most-recently started.
Arguments: protocolId: Protocol identifier to delete, pulled from URL. protocol_store: Database of protocol resources. analysis_store: Database of analysis resources.
protocolId required | string (Protocolid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- {
- "id": "string",
- "status": "pending"
}
], - "meta": {
- "cursor": 0,
- "totalLength": 0
}
}
Generate an analysis for the protocol, based on last analysis and current request data.
protocolId required | string (Protocolid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | object (Data) the document’s 'primary data' |
{- "data": {
- "runTimeParameterValues": { },
- "forceReAnalyze": false
}
}
{- "data": [
- {
- "id": "string",
- "status": "pending"
}
], - "meta": {
- "cursor": 0,
- "totalLength": 0
}
}
Get a protocol analysis by analysis ID.
Arguments: protocolId: The ID of the protocol, pulled from the URL. analysisId: The ID of the analysis, pulled from the URL. protocol_store: Protocol resource storage. analysis_store: Analysis resource storage.
protocolId required | string (Protocolid) |
analysisId required | string (Analysisid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "id": "string",
- "status": "pending"
}
}
Warning: This endpoint is experimental. We may change or remove it without warning.
This is a faster alternative to GET /protocols/{protocolId}/analyses
and GET /protocols/{protocolId}/analyses/{analysisId}
. For large analyses (10k+ commands), those other endpoints can take minutes to respond, whereas this one should only take a few seconds.
For a completed analysis, this returns the same JSON data as the GET /protocols/:id/analyses/:id
endpoint, except that it's not wrapped in a top-level data
object.
For a pending analysis, this returns a 404 response, unlike those other endpoints, which return a 200 response with "status": "pending"
.
protocolId required | string (Protocolid) |
analysisId required | string (Analysisid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
null
Get a list of commands that have been run on the device since boot. Only returns command run via the /commands
endpoint.
cursor | integer (Cursor) The starting index of the desired first command in the list. If unspecified, a cursor will be selected automatically based on the currently running or most recently executed command. |
pageLength | integer (Pagelength) Default: 20 The maximum number of commands in the list to return. |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "commandType": "home",
- "key": "string",
- "status": "queued",
- "params": {
- "axes": [
- "x"
], - "skipIfMountPositionOk": "left"
}, - "result": { },
- "error": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}, - "startedAt": "2019-08-24T14:15:22Z",
- "completedAt": "2019-08-24T14:15:22Z",
- "intent": "protocol",
- "notes": [
- {
- "noteKind": "warning",
- "shortMessage": "string",
- "longMessage": "string",
- "source": "string"
}
], - "failedCommandId": "string"
}
], - "meta": {
- "cursor": 0,
- "totalLength": 0
}
}
Run a single command on the robot. This endpoint is meant for simple, stateless control of the robot. For complex control, create a run with POST /runs
and issue commands on that run.
waitUntilComplete | boolean (Waituntilcomplete) Default: false If |
timeout | integer (Timeout) > 0 If The timer starts as soon as you enqueue the new command with this request, not when the new command starts running. So if there are other commands in the queue before the new one, they will also count towards the timeout. If the timeout elapses before the command succeeds or fails, the command will be returned with its current status. Compatibility note: on robot software v6.2.0 and older, the default was 30 seconds, not infinite. |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | any (Data) |
{- "data": {
- "commandType": "home",
- "params": {
- "axes": [
- "x"
], - "skipIfMountPositionOk": "left"
}, - "intent": "protocol",
- "key": "string"
}
}
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "commandType": "home",
- "key": "string",
- "status": "queued",
- "params": {
- "axes": [
- "x"
], - "skipIfMountPositionOk": "left"
}, - "result": { },
- "error": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}, - "startedAt": "2019-08-24T14:15:22Z",
- "completedAt": "2019-08-24T14:15:22Z",
- "intent": "protocol",
- "notes": [
- {
- "noteKind": "warning",
- "shortMessage": "string",
- "longMessage": "string",
- "source": "string"
}
], - "failedCommandId": "string"
}
}
Get a single stateless command that has been queued or executed. Only returns command run via the /commands
endpoint.
commandId required | string (Commandid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "commandType": "home",
- "key": "string",
- "status": "queued",
- "params": {
- "axes": [
- "x"
], - "skipIfMountPositionOk": "left"
}, - "result": { },
- "error": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "errorCode": "4000",
- "errorType": "string",
- "detail": "string",
- "errorInfo": { },
- "wrappedErrors": [ ]
}, - "startedAt": "2019-08-24T14:15:22Z",
- "completedAt": "2019-08-24T14:15:22Z",
- "intent": "protocol",
- "notes": [
- {
- "noteKind": "warning",
- "shortMessage": "string",
- "longMessage": "string",
- "source": "string"
}
], - "failedCommandId": "string"
}
}
Get the robot's current deck configuration. See PUT /deck_configuration
for background information.
Warning: The behavior of this endpoint is currently only defined for Flex robots, not OT-2 robots.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "cutoutFixtures": [
- {
- "cutoutFixtureId": "string",
- "cutoutId": "string",
- "opentronsModuleSerialNumber": "string"
}
], - "lastModifiedAt": "2019-08-24T14:15:22Z"
}
}
Inform the robot how its deck is physically set up.
When you use the /runs
and /maintenance_runs
endpoints to command the robot to move, the robot will automatically dodge the obstacles that you declare here.
If a run command tries to do something that inherently conflicts with this deck configuration, such as loading a labware into a staging area slot that this deck configuration doesn't provide, the run command will fail with an error.
After you set the deck configuration, it will persist, even across reboots, until you set it to something else.
Warning: Currently, you can call this endpoint at any time, even while there is an active run. However, the robot can't adapt to deck configuration changes in the middle of a run. The robot will effectively take a snapshot of the deck configuration when the run is first played. In the future, this endpoint may error if you try to call it in the middle of an active run, so don't rely on being able to do that.
Warning: Only use this on Flex robots, never OT-2 robots. The behavior on OT-2 robots is currently undefined and it may interfere with protocol execution.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | object (Data) the document’s 'primary data' |
{- "data": {
- "cutoutFixtures": [
- {
- "cutoutFixtureId": "string",
- "cutoutId": "string",
- "opentronsModuleSerialNumber": "string"
}
]
}
}
{- "data": {
- "cutoutFixtures": [
- {
- "cutoutFixtureId": "string",
- "cutoutId": "string",
- "opentronsModuleSerialNumber": "string"
}
], - "lastModifiedAt": "2019-08-24T14:15:22Z"
}
}
Get a list of all modules currently attached to the robot.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- {
- "id": "string",
- "serialNumber": "string",
- "firmwareVersion": "string",
- "hardwareRevision": "string",
- "hasAvailableUpdate": true,
- "moduleType": "temperatureModuleType",
- "moduleModel": "temperatureModuleV1",
- "moduleOffset": {
- "offset": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "slot": "string",
- "source": "default",
- "last_modified": "2019-08-24T14:15:22Z"
}, - "data": {
- "status": "holding at target",
- "currentTemperature": 0,
- "targetTemperature": 0
}, - "usbPort": {
- "port": 0,
- "portGroup": "string",
- "hub": true,
- "hubPort": 0,
- "path": "string"
}
}
], - "meta": {
- "cursor": 0,
- "totalLength": 0
}
}
Get a list of all instruments (pipettes & gripper) currently attached to the robot.
Warning: The behavior of this endpoint is currently only defined for Flex robots. For OT-2 robots, use /pipettes
instead.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- {
- "mount": "string",
- "instrumentType": "pipette",
- "instrumentModel": "string",
- "serialNumber": "string",
- "subsystem": "gantry_x",
- "ok": true,
- "firmwareVersion": "string",
- "data": {
- "channels": 1,
- "min_volume": 0,
- "max_volume": 0,
- "calibratedOffset": {
- "offset": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "source": "default",
- "last_modified": "2019-08-24T14:15:22Z",
- "reasonability_check_failures": [
- {
- "kind": "inconsistent-pipette-offset",
- "offsets": {
- "property1": {
- "x": 0,
- "y": 0,
- "z": 0
}, - "property2": {
- "x": 0,
- "y": 0,
- "z": 0
}
}, - "limit": 0
}
]
}
}, - "instrumentName": "p10_single",
- "state": {
- "tip_detected": true
}
}
], - "meta": {
- "cursor": 0,
- "totalLength": 0
}
}
Warning: These /sessions/
endpoints are tightly coupled to the Opentrons App and are not intended for general public use.
session_type | string (SessionType) Enum: "calibrationCheck" "tipLengthCalibration" "deckCalibration" "pipetteOffsetCalibration" Will limit the results to only this session type |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "details": {
- "instruments": [
- {
- "model": "p300_single_v1.5",
- "name": "p300_single",
- "tip_length": 51.7,
- "mount": "left",
- "id": "P3HS12123041"
}, - {
- "mount": "right"
}
], - "currentStep": "sessionStarted",
- "comparisonsByPipette": {
- "comparingFirstPipetteHeight": {
- "differenceVector": [
- 1,
- 0,
- 0
], - "exceedsThreshold": false
}
}
}, - "sessionType": "calibrationCheck",
- "createParams": {
- "hasCalibrationBlock": false,
- "tipRacks": [ ]
}
}
], - "links": {
- "property1": {
- "href": "string",
- "meta": { }
}, - "property2": {
- "href": "string",
- "meta": { }
}
}
}
Create a session to perform a calibration procedure on an OT-2.
Warning: These /sessions/
endpoints are tightly coupled to the Opentrons App and are not intended for general public use.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | CalibrationCheckCreateAttributes (object) or TipLengthCalibrationCreateAttributes (object) or DeckCalibrationCreateAttributes (object) or PipetteOffsetCalibrationCreateAttributes (object) (Data) the document’s 'primary data' |
{- "data": {
- "sessionType": "calibrationCheck",
- "createParams": {
- "hasCalibrationBlock": false,
- "tipRacks": [ ]
}
}
}
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "details": {
- "instruments": [
- {
- "model": "p300_single_v1.5",
- "name": "p300_single",
- "tip_length": 51.7,
- "mount": "left",
- "id": "P3HS12123041"
}, - {
- "mount": "right"
}
], - "currentStep": "sessionStarted",
- "comparisonsByPipette": {
- "comparingFirstPipetteHeight": {
- "differenceVector": [
- 1,
- 0,
- 0
], - "exceedsThreshold": false
}
}
}, - "sessionType": "calibrationCheck",
- "createParams": {
- "hasCalibrationBlock": false,
- "tipRacks": [ ]
}
}, - "links": {
- "property1": {
- "href": "string",
- "meta": { }
}, - "property2": {
- "href": "string",
- "meta": { }
}
}
}
Warning: These /sessions/
endpoints are tightly coupled to the Opentrons App and are not intended for general public use.
sessionId required | string (Sessionid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "details": {
- "instruments": [
- {
- "model": "p300_single_v1.5",
- "name": "p300_single",
- "tip_length": 51.7,
- "mount": "left",
- "id": "P3HS12123041"
}, - {
- "mount": "right"
}
], - "currentStep": "sessionStarted",
- "comparisonsByPipette": {
- "comparingFirstPipetteHeight": {
- "differenceVector": [
- 1,
- 0,
- 0
], - "exceedsThreshold": false
}
}
}, - "sessionType": "calibrationCheck",
- "createParams": {
- "hasCalibrationBlock": false,
- "tipRacks": [ ]
}
}, - "links": {
- "property1": {
- "href": "string",
- "meta": { }
}, - "property2": {
- "href": "string",
- "meta": { }
}
}
}
Warning: These /sessions/
endpoints are tightly coupled to the Opentrons App and are not intended for general public use.
sessionId required | string (Sessionid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "details": {
- "instruments": [
- {
- "model": "p300_single_v1.5",
- "name": "p300_single",
- "tip_length": 51.7,
- "mount": "left",
- "id": "P3HS12123041"
}, - {
- "mount": "right"
}
], - "currentStep": "sessionStarted",
- "comparisonsByPipette": {
- "comparingFirstPipetteHeight": {
- "differenceVector": [
- 1,
- 0,
- 0
], - "exceedsThreshold": false
}
}
}, - "sessionType": "calibrationCheck",
- "createParams": {
- "hasCalibrationBlock": false,
- "tipRacks": [ ]
}
}, - "links": {
- "property1": {
- "href": "string",
- "meta": { }
}, - "property2": {
- "href": "string",
- "meta": { }
}
}
}
Warning: These /sessions/
endpoints are tightly coupled to the Opentrons App and are not intended for general public use.
sessionId required | string (Sessionid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | SessionCommandRequest[Literal[<ProtocolCommand.start_run: 'protocol.startRun'>, <ProtocolCommand.start_simulate: 'protocol.startSimulate'>, <ProtocolCommand.cancel: 'protocol.cancel'>, <ProtocolCommand.pause: 'protocol.pause'>, <ProtocolCommand.resume: 'protocol.resume'>, <CalibrationCommand.move_to_tip_rack: 'calibration.moveToTipRack'>, <CalibrationCommand.move_to_point_one: 'calibration.moveToPointOne'>, <CalibrationCommand.move_to_deck: 'calibration.moveToDeck'>, <CalibrationCommand.move_to_reference_point: 'calibration.moveToReferencePoint'>, <CalibrationCommand.pick_up_tip: 'calibration.pickUpTip'>, <CalibrationCommand.confirm_tip_attached: 'calibration.confirmTip'>, <CalibrationCommand.invalidate_tip: 'calibration.invalidateTip'>, <CalibrationCommand.save_offset: 'calibration.saveOffset'>, <CalibrationCommand.exit: 'calibration.exitSession'>, <CalibrationCommand.invalidate_last_action: 'calibration.invalidateLastAction'>, <DeckCalibrationCommand.move_to_point_two: 'calibration.deck.moveToPointTwo'>, <DeckCalibrationCommand.move_to_point_three: 'calibration.deck.moveToPointThree'>, <CheckCalibrationCommand.compare_point: 'calibration.check.comparePoint'>, <CheckCalibrationCommand.switch_pipette: 'calibration.check.switchPipette'>, <CheckCalibrationCommand.return_tip: 'calibration.check.returnTip'>, <CheckCalibrationCommand.transition: 'calibration.check.transition'>], EmptyModel, EmptyModel] (object) or SessionCommandRequest[Literal[<EquipmentCommand.load_labware: 'equipment.loadLabware'>], LoadLabwareCreate, LoadLabwareResult] (object) or SessionCommandRequest[Literal[<EquipmentCommand.load_pipette: 'equipment.loadPipette'>], LoadPipetteCreate, LoadPipetteResult] (object) or SessionCommandRequest[Literal[<PipetteCommand.aspirate: 'pipette.aspirate'>], AspirateCreate, AspirateResult] (object) or SessionCommandRequest[Literal[<PipetteCommand.dispense: 'pipette.dispense'>], DispenseCreate, DispenseResult] (object) or SessionCommandRequest[Literal[<PipetteCommand.pick_up_tip: 'pipette.pickUpTip'>], PickUpTipCreate, PickUpTipResult] (object) or SessionCommandRequest[Literal[<PipetteCommand.drop_tip: 'pipette.dropTip'>], DropTipCreate, DropTipResult] (object) or SessionCommandRequest[Literal[<CalibrationCommand.jog: 'calibration.jog'>], JogPosition, EmptyModel] (object) or SessionCommandRequest[Literal[<CalibrationCommand.set_has_calibration_block: 'calibration.setHasCalibrationBlock'>], SetHasCalibrationBlockRequestData, EmptyModel] (object) or SessionCommandRequest[Literal[<CalibrationCommand.load_labware: 'calibration.loadLabware'>], LoadLabwareByDefinitionRequestData, EmptyModel] (object) (Data) the document’s 'primary data' |
{- "data": {
- "command": "protocol.startRun",
- "data": { }
}
}
{- "data": {
- "id": "string",
- "command": "protocol.startRun",
- "data": { },
- "status": "executed",
- "createdAt": "2019-08-24T14:15:22Z",
- "startedAt": "2019-08-24T14:15:22Z",
- "completedAt": "2019-08-24T14:15:22Z",
- "result": { }
}, - "links": {
- "property1": {
- "href": "string",
- "meta": { }
}, - "property2": {
- "href": "string",
- "meta": { }
}
}
}
This endpoint has been removed. Use the /runs
endpoints to manage labware offsets.
loadName | string (Loadname) |
namespace | string (Namespace) |
version | integer (Version) |
parent | string (Parent) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- {
- "calibrationData": {
- "tipLength": {
- "value": 10,
- "lastModified": "2020-07-10T12:50:47.156321"
}, - "offset": {
- "value": [
- 1,
- -2,
- 10
], - "lastModified": "2020-07-10T12:40:17.05"
}
}, - "version": "1",
- "parent": "",
- "namespace": "opentrons",
- "loadName": "opentrons_96_tiprack_300ul"
}
], - "links": {
- "property1": {
- "href": "string",
- "meta": { }
}, - "property2": {
- "href": "string",
- "meta": { }
}
}
}
This endpoint has been removed. Use the /runs
endpoints to manage labware offsets.
calibrationId required | string (Calibrationid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
null
This endpoint has been removed. Use the /runs
endpoints to manage labware offsets.
calibrationId required | string (Calibrationid) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
null
Fetch all saved pipette offset calibrations from the robot
pipette_id | string (Pipette Id) |
mount | string (MountType) Enum: "left" "right" Pipette mount type |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- {
- "id": "string",
- "pipette": "string",
- "mount": "string",
- "offset": [
- 0,
- 0,
- 0
], - "tiprack": "string",
- "tiprackUri": "string",
- "lastModified": "2019-08-24T14:15:22Z",
- "source": "default",
- "status": {
- "markedBad": true,
- "source": "default",
- "markedAt": "2019-08-24T14:15:22Z"
}
}
], - "links": {
- "property1": {
- "href": "string",
- "meta": { }
}, - "property2": {
- "href": "string",
- "meta": { }
}
}
}
Delete one specific pipette calibration by pipette serial and mount.
pipette_id required | string (Pipette Id) |
mount required | string (MountType) Enum: "left" "right" Pipette mount type |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
null
Fetch all saved tip length calibrations from the robot
tiprack_hash | string (Tiprack Hash) Deprecated Filter results by their |
pipette_id | string (Pipette Id) Filter results by their |
tiprack_uri | string (Tiprack Uri) Filter results by their |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- {
- "id": "string",
- "tipLength": 0,
- "tiprack": "string",
- "pipette": "string",
- "lastModified": "2019-08-24T14:15:22Z",
- "source": "default",
- "status": {
- "markedBad": true,
- "source": "default",
- "markedAt": "2019-08-24T14:15:22Z"
}, - "uri": "string"
}
], - "links": {
- "property1": {
- "href": "string",
- "meta": { }
}, - "property2": {
- "href": "string",
- "meta": { }
}
}
}
Delete one specific tip length calibration by pipette serial and tiprack uri
pipette_id required | string (Pipette Id) The |
tiprack_hash | string (Tiprack Hash) Deprecated The This is deprecated because it was prone to bugs where semantically identical definitions had different hashes. Use You must supply either this or |
tiprack_uri | string (Tiprack Uri) The You must supply either this or |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
null
Get robot's time status, which includes- current UTC date & time, local timezone, whether robot time is synced with an NTP server &/or it has an active RTC.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "systemTime": "2019-08-24T14:15:22Z",
- "id": "string"
}, - "links": {
- "property1": {
- "href": "string",
- "meta": { }
}, - "property2": {
- "href": "string",
- "meta": { }
}
}
}
Update system time
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
required | object (Data) the document’s 'primary data' |
{- "data": {
- "systemTime": "2019-08-24T14:15:22Z"
}
}
{- "data": {
- "systemTime": "2019-08-24T14:15:22Z",
- "id": "string"
}, - "links": {
- "property1": {
- "href": "string",
- "meta": { }
}, - "property2": {
- "href": "string",
- "meta": { }
}
}
}
Get the details of all hardware subsystems attached to the robot.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- {
- "name": "gantry_x",
- "ok": true,
- "current_fw_version": "string",
- "next_fw_version": "string",
- "fw_update_needed": true,
- "revision": "string"
}
], - "meta": {
- "cursor": 0,
- "totalLength": 0
}
}
Get the details of a single hardware subsystem attached to the robot.
subsystem required | any (SubSystem) Enum: "gantry_x" "gantry_y" "head" "pipette_left" "pipette_right" "gripper" "rear_panel" "hepa_uv" "motor_controller_board" Specific hardware elements of the robot system. Only certain subsystems might be valid for a certain robot, and not all subsystems might be attached at any given time. In general, specific subsystems should only be provided if general queries indicate that they are present. |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "name": "gantry_x",
- "ok": true,
- "current_fw_version": "string",
- "next_fw_version": "string",
- "fw_update_needed": true,
- "revision": "string"
}
}
Get a list of currently-running subsystem firmware updates. This is a good snapshot of what, if anything, is currently being updated and may block other robot work. To guarantee data about an update you were previously interested in, get its id
using /subsystems/updates/all
.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "subsystem": "gantry_x",
- "updateStatus": "queued"
}
], - "meta": {
- "cursor": 0,
- "totalLength": 0
}
}
As /subsystems/updates/current
, but filtered by the route parameter.
subsystem required | any (SubSystem) Enum: "gantry_x" "gantry_y" "head" "pipette_left" "pipette_right" "gripper" "rear_panel" "hepa_uv" "motor_controller_board" Specific hardware elements of the robot system. Only certain subsystems might be valid for a certain robot, and not all subsystems might be attached at any given time. In general, specific subsystems should only be provided if general queries indicate that they are present. |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "subsystem": "gantry_x",
- "updateStatus": "queued",
- "updateProgress": 0,
- "updateError": "string"
}
}
Get a list of all updates, including both ongoing updates and updates that started since the last boot but are now complete.
While an update might complete and therefore disappear from/subsystems/updates/current
, you can always find that update in the response to this endpoint by its id
.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "subsystem": "gantry_x",
- "updateStatus": "queued",
- "updateProgress": 0,
- "updateError": "string"
}
], - "meta": {
- "cursor": 0,
- "totalLength": 0
}
}
As /subsystems/updates/all
, but returning only one resource: the one with the id
matching the route parameter (if it exists).
id required | string (Id) |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "subsystem": "gantry_x",
- "updateStatus": "queued",
- "updateProgress": 0,
- "updateError": "string"
}
}
Begin a firmware update for a given subsystem.
subsystem required | any (SubSystem) Enum: "gantry_x" "gantry_y" "head" "pipette_left" "pipette_right" "gripper" "rear_panel" "hepa_uv" "motor_controller_board" Specific hardware elements of the robot system. Only certain subsystems might be valid for a certain robot, and not all subsystems might be attached at any given time. In general, specific subsystems should only be provided if general queries indicate that they are present. |
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "subsystem": "gantry_x",
- "updateStatus": "queued",
- "updateProgress": 0,
- "updateError": "string"
}
}
Get the current estop status of the robot, as well as a list of connected estops.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "status": "notPresent",
- "leftEstopPhysicalStatus": "engaged",
- "rightEstopPhysicalStatus": "engaged"
}
}
If the estop is currently logically engaged (the estop was previously pressed but is now released), this endpoint will reset the state to reflect the current physical status.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "status": "notPresent",
- "leftEstopPhysicalStatus": "engaged",
- "rightEstopPhysicalStatus": "engaged"
}
}
Get whether the robot door is open or closed.
required | Opentrons-Version (string) or Opentrons-Version (integer) (Opentrons-Version) The HTTP API version to use for this request. Must be |
{- "data": {
- "status": "open",
- "doorRequiredClosedForProtocol": true
}
}