diff --git a/api/src/opentrons/hardware_control/backends/ot3controller.py b/api/src/opentrons/hardware_control/backends/ot3controller.py index eced853b962..223f76f31bc 100644 --- a/api/src/opentrons/hardware_control/backends/ot3controller.py +++ b/api/src/opentrons/hardware_control/backends/ot3controller.py @@ -899,6 +899,7 @@ def _lookup_serial_key(pipette_name: FirmwarePipetteName) -> str: FirmwarePipetteName.p50_multi: "P50M", FirmwarePipetteName.p1000_96: "P1KH", FirmwarePipetteName.p50_96: "P50H", + FirmwarePipetteName.p200_96: "P2HH", } return lookup_name[pipette_name] diff --git a/api/src/opentrons/protocol_api/protocol_context.py b/api/src/opentrons/protocol_api/protocol_context.py index a89c2a04f62..5d0f9722a6b 100644 --- a/api/src/opentrons/protocol_api/protocol_context.py +++ b/api/src/opentrons/protocol_api/protocol_context.py @@ -894,7 +894,10 @@ def load_instrument( mount, checked_instrument_name ) - is_96_channel = checked_instrument_name == PipetteNameType.P1000_96 + is_96_channel = checked_instrument_name in [ + PipetteNameType.P1000_96, + PipetteNameType.P200_96, + ] tip_racks = tip_racks or [] diff --git a/api/src/opentrons/protocol_api/validation.py b/api/src/opentrons/protocol_api/validation.py index 372913ad20e..17c49ef592a 100644 --- a/api/src/opentrons/protocol_api/validation.py +++ b/api/src/opentrons/protocol_api/validation.py @@ -65,6 +65,7 @@ "flex_1channel_1000": PipetteNameType.P1000_SINGLE_FLEX, "flex_8channel_1000": PipetteNameType.P1000_MULTI_FLEX, "flex_96channel_1000": PipetteNameType.P1000_96, + "flex_96channel_200": PipetteNameType.P200_96, } @@ -92,7 +93,7 @@ def ensure_mount_for_pipette( mount: Union[str, Mount, None], pipette: PipetteNameType ) -> Mount: """Ensure that an input value represents a valid mount, and is valid for the given pipette.""" - if pipette == PipetteNameType.P1000_96: + if pipette in [PipetteNameType.P1000_96, PipetteNameType.P200_96]: # Always validate the raw mount input, even if the pipette is a 96-channel and we're not going # to use the mount value. if mount is not None: diff --git a/hardware/opentrons_hardware/firmware_bindings/constants.py b/hardware/opentrons_hardware/firmware_bindings/constants.py index 6d173e6effc..0b0421fdebe 100644 --- a/hardware/opentrons_hardware/firmware_bindings/constants.py +++ b/hardware/opentrons_hardware/firmware_bindings/constants.py @@ -332,6 +332,7 @@ class PipetteName(int, Enum): p50_multi = 0x03 p1000_96 = 0x04 p50_96 = 0x05 + p200_96 = 0x06 unknown = 0xFFFF diff --git a/hardware/opentrons_hardware/instruments/pipettes/serials.py b/hardware/opentrons_hardware/instruments/pipettes/serials.py index e697821373a..c4a8fc441d0 100644 --- a/hardware/opentrons_hardware/instruments/pipettes/serials.py +++ b/hardware/opentrons_hardware/instruments/pipettes/serials.py @@ -31,6 +31,7 @@ "P50M": PipetteName.p50_multi, "P1KH": PipetteName.p1000_96, "P50H": PipetteName.p50_96, + "P2HH": PipetteName.p200_96, } SERIAL_FORMAT_MSG = ( diff --git a/shared-data/command/schemas/10.json b/shared-data/command/schemas/10.json new file mode 100644 index 00000000000..0ee0e4801c7 --- /dev/null +++ b/shared-data/command/schemas/10.json @@ -0,0 +1,4879 @@ +{ + "title": "CreateCommandUnion", + "description": "Model that validates a union of all CommandCreate models.", + "discriminator": { + "propertyName": "commandType", + "mapping": { + "airGapInPlace": "#/definitions/AirGapInPlaceCreate", + "aspirate": "#/definitions/AspirateCreate", + "aspirateInPlace": "#/definitions/AspirateInPlaceCreate", + "comment": "#/definitions/CommentCreate", + "configureForVolume": "#/definitions/ConfigureForVolumeCreate", + "configureNozzleLayout": "#/definitions/ConfigureNozzleLayoutCreate", + "custom": "#/definitions/CustomCreate", + "dispense": "#/definitions/DispenseCreate", + "dispenseInPlace": "#/definitions/DispenseInPlaceCreate", + "blowout": "#/definitions/BlowOutCreate", + "blowOutInPlace": "#/definitions/BlowOutInPlaceCreate", + "dropTip": "#/definitions/DropTipCreate", + "dropTipInPlace": "#/definitions/DropTipInPlaceCreate", + "home": "#/definitions/HomeCreate", + "retractAxis": "#/definitions/RetractAxisCreate", + "loadLabware": "#/definitions/LoadLabwareCreate", + "reloadLabware": "#/definitions/ReloadLabwareCreate", + "loadLiquid": "#/definitions/LoadLiquidCreate", + "loadModule": "#/definitions/LoadModuleCreate", + "loadPipette": "#/definitions/LoadPipetteCreate", + "moveLabware": "#/definitions/MoveLabwareCreate", + "moveRelative": "#/definitions/MoveRelativeCreate", + "moveToCoordinates": "#/definitions/MoveToCoordinatesCreate", + "moveToWell": "#/definitions/MoveToWellCreate", + "moveToAddressableArea": "#/definitions/MoveToAddressableAreaCreate", + "moveToAddressableAreaForDropTip": "#/definitions/MoveToAddressableAreaForDropTipCreate", + "prepareToAspirate": "#/definitions/PrepareToAspirateCreate", + "waitForResume": "#/definitions/WaitForResumeCreate", + "pause": "#/definitions/WaitForResumeCreate", + "waitForDuration": "#/definitions/WaitForDurationCreate", + "pickUpTip": "#/definitions/PickUpTipCreate", + "savePosition": "#/definitions/SavePositionCreate", + "setRailLights": "#/definitions/SetRailLightsCreate", + "touchTip": "#/definitions/TouchTipCreate", + "setStatusBar": "#/definitions/SetStatusBarCreate", + "verifyTipPresence": "#/definitions/VerifyTipPresenceCreate", + "getTipPresence": "#/definitions/GetTipPresenceCreate", + "liquidProbe": "#/definitions/LiquidProbeCreate", + "tryLiquidProbe": "#/definitions/TryLiquidProbeCreate", + "heaterShaker/waitForTemperature": "#/definitions/opentrons__protocol_engine__commands__heater_shaker__wait_for_temperature__WaitForTemperatureCreate", + "heaterShaker/setTargetTemperature": "#/definitions/opentrons__protocol_engine__commands__heater_shaker__set_target_temperature__SetTargetTemperatureCreate", + "heaterShaker/deactivateHeater": "#/definitions/DeactivateHeaterCreate", + "heaterShaker/setAndWaitForShakeSpeed": "#/definitions/SetAndWaitForShakeSpeedCreate", + "heaterShaker/deactivateShaker": "#/definitions/DeactivateShakerCreate", + "heaterShaker/openLabwareLatch": "#/definitions/OpenLabwareLatchCreate", + "heaterShaker/closeLabwareLatch": "#/definitions/CloseLabwareLatchCreate", + "magneticModule/disengage": "#/definitions/DisengageCreate", + "magneticModule/engage": "#/definitions/EngageCreate", + "temperatureModule/setTargetTemperature": "#/definitions/opentrons__protocol_engine__commands__temperature_module__set_target_temperature__SetTargetTemperatureCreate", + "temperatureModule/waitForTemperature": "#/definitions/opentrons__protocol_engine__commands__temperature_module__wait_for_temperature__WaitForTemperatureCreate", + "temperatureModule/deactivate": "#/definitions/DeactivateTemperatureCreate", + "thermocycler/setTargetBlockTemperature": "#/definitions/SetTargetBlockTemperatureCreate", + "thermocycler/waitForBlockTemperature": "#/definitions/WaitForBlockTemperatureCreate", + "thermocycler/setTargetLidTemperature": "#/definitions/SetTargetLidTemperatureCreate", + "thermocycler/waitForLidTemperature": "#/definitions/WaitForLidTemperatureCreate", + "thermocycler/deactivateBlock": "#/definitions/DeactivateBlockCreate", + "thermocycler/deactivateLid": "#/definitions/DeactivateLidCreate", + "thermocycler/openLid": "#/definitions/opentrons__protocol_engine__commands__thermocycler__open_lid__OpenLidCreate", + "thermocycler/closeLid": "#/definitions/opentrons__protocol_engine__commands__thermocycler__close_lid__CloseLidCreate", + "thermocycler/runProfile": "#/definitions/RunProfileCreate", + "thermocycler/runExtendedProfile": "#/definitions/RunExtendedProfileCreate", + "absorbanceReader/closeLid": "#/definitions/opentrons__protocol_engine__commands__absorbance_reader__close_lid__CloseLidCreate", + "absorbanceReader/openLid": "#/definitions/opentrons__protocol_engine__commands__absorbance_reader__open_lid__OpenLidCreate", + "absorbanceReader/initialize": "#/definitions/InitializeCreate", + "absorbanceReader/read": "#/definitions/ReadAbsorbanceCreate", + "calibration/calibrateGripper": "#/definitions/CalibrateGripperCreate", + "calibration/calibratePipette": "#/definitions/CalibratePipetteCreate", + "calibration/calibrateModule": "#/definitions/CalibrateModuleCreate", + "calibration/moveToMaintenancePosition": "#/definitions/MoveToMaintenancePositionCreate", + "unsafe/blowOutInPlace": "#/definitions/UnsafeBlowOutInPlaceCreate", + "unsafe/dropTipInPlace": "#/definitions/UnsafeDropTipInPlaceCreate", + "unsafe/updatePositionEstimators": "#/definitions/UpdatePositionEstimatorsCreate", + "unsafe/engageAxes": "#/definitions/UnsafeEngageAxesCreate", + "unsafe/ungripLabware": "#/definitions/UnsafeUngripLabwareCreate", + "unsafe/placeLabware": "#/definitions/UnsafePlaceLabwareCreate" + } + }, + "oneOf": [ + { + "$ref": "#/definitions/AirGapInPlaceCreate" + }, + { + "$ref": "#/definitions/AspirateCreate" + }, + { + "$ref": "#/definitions/AspirateInPlaceCreate" + }, + { + "$ref": "#/definitions/CommentCreate" + }, + { + "$ref": "#/definitions/ConfigureForVolumeCreate" + }, + { + "$ref": "#/definitions/ConfigureNozzleLayoutCreate" + }, + { + "$ref": "#/definitions/CustomCreate" + }, + { + "$ref": "#/definitions/DispenseCreate" + }, + { + "$ref": "#/definitions/DispenseInPlaceCreate" + }, + { + "$ref": "#/definitions/BlowOutCreate" + }, + { + "$ref": "#/definitions/BlowOutInPlaceCreate" + }, + { + "$ref": "#/definitions/DropTipCreate" + }, + { + "$ref": "#/definitions/DropTipInPlaceCreate" + }, + { + "$ref": "#/definitions/HomeCreate" + }, + { + "$ref": "#/definitions/RetractAxisCreate" + }, + { + "$ref": "#/definitions/LoadLabwareCreate" + }, + { + "$ref": "#/definitions/ReloadLabwareCreate" + }, + { + "$ref": "#/definitions/LoadLiquidCreate" + }, + { + "$ref": "#/definitions/LoadModuleCreate" + }, + { + "$ref": "#/definitions/LoadPipetteCreate" + }, + { + "$ref": "#/definitions/MoveLabwareCreate" + }, + { + "$ref": "#/definitions/MoveRelativeCreate" + }, + { + "$ref": "#/definitions/MoveToCoordinatesCreate" + }, + { + "$ref": "#/definitions/MoveToWellCreate" + }, + { + "$ref": "#/definitions/MoveToAddressableAreaCreate" + }, + { + "$ref": "#/definitions/MoveToAddressableAreaForDropTipCreate" + }, + { + "$ref": "#/definitions/PrepareToAspirateCreate" + }, + { + "$ref": "#/definitions/WaitForResumeCreate" + }, + { + "$ref": "#/definitions/WaitForDurationCreate" + }, + { + "$ref": "#/definitions/PickUpTipCreate" + }, + { + "$ref": "#/definitions/SavePositionCreate" + }, + { + "$ref": "#/definitions/SetRailLightsCreate" + }, + { + "$ref": "#/definitions/TouchTipCreate" + }, + { + "$ref": "#/definitions/SetStatusBarCreate" + }, + { + "$ref": "#/definitions/VerifyTipPresenceCreate" + }, + { + "$ref": "#/definitions/GetTipPresenceCreate" + }, + { + "$ref": "#/definitions/LiquidProbeCreate" + }, + { + "$ref": "#/definitions/TryLiquidProbeCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__heater_shaker__wait_for_temperature__WaitForTemperatureCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__heater_shaker__set_target_temperature__SetTargetTemperatureCreate" + }, + { + "$ref": "#/definitions/DeactivateHeaterCreate" + }, + { + "$ref": "#/definitions/SetAndWaitForShakeSpeedCreate" + }, + { + "$ref": "#/definitions/DeactivateShakerCreate" + }, + { + "$ref": "#/definitions/OpenLabwareLatchCreate" + }, + { + "$ref": "#/definitions/CloseLabwareLatchCreate" + }, + { + "$ref": "#/definitions/DisengageCreate" + }, + { + "$ref": "#/definitions/EngageCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__temperature_module__set_target_temperature__SetTargetTemperatureCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__temperature_module__wait_for_temperature__WaitForTemperatureCreate" + }, + { + "$ref": "#/definitions/DeactivateTemperatureCreate" + }, + { + "$ref": "#/definitions/SetTargetBlockTemperatureCreate" + }, + { + "$ref": "#/definitions/WaitForBlockTemperatureCreate" + }, + { + "$ref": "#/definitions/SetTargetLidTemperatureCreate" + }, + { + "$ref": "#/definitions/WaitForLidTemperatureCreate" + }, + { + "$ref": "#/definitions/DeactivateBlockCreate" + }, + { + "$ref": "#/definitions/DeactivateLidCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__thermocycler__open_lid__OpenLidCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__thermocycler__close_lid__CloseLidCreate" + }, + { + "$ref": "#/definitions/RunProfileCreate" + }, + { + "$ref": "#/definitions/RunExtendedProfileCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__absorbance_reader__close_lid__CloseLidCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__absorbance_reader__open_lid__OpenLidCreate" + }, + { + "$ref": "#/definitions/InitializeCreate" + }, + { + "$ref": "#/definitions/ReadAbsorbanceCreate" + }, + { + "$ref": "#/definitions/CalibrateGripperCreate" + }, + { + "$ref": "#/definitions/CalibratePipetteCreate" + }, + { + "$ref": "#/definitions/CalibrateModuleCreate" + }, + { + "$ref": "#/definitions/MoveToMaintenancePositionCreate" + }, + { + "$ref": "#/definitions/UnsafeBlowOutInPlaceCreate" + }, + { + "$ref": "#/definitions/UnsafeDropTipInPlaceCreate" + }, + { + "$ref": "#/definitions/UpdatePositionEstimatorsCreate" + }, + { + "$ref": "#/definitions/UnsafeEngageAxesCreate" + }, + { + "$ref": "#/definitions/UnsafeUngripLabwareCreate" + }, + { + "$ref": "#/definitions/UnsafePlaceLabwareCreate" + } + ], + "definitions": { + "AirGapInPlaceParams": { + "title": "AirGapInPlaceParams", + "description": "Payload required to air gap in place.", + "type": "object", + "properties": { + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "volume": { + "title": "Volume", + "description": "The amount of liquid to aspirate, in \u00b5L. Must not be greater than the remaining available amount, which depends on the pipette (see `loadPipette`), its configuration (see `configureForVolume`), the tip (see `pickUpTip`), and the amount you've aspirated so far. There is some tolerance for floating point rounding errors.", + "minimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["flowRate", "volume", "pipetteId"] + }, + "CommandIntent": { + "title": "CommandIntent", + "description": "Run intent for a given command.\n\nProps:\n PROTOCOL: the command is part of the protocol run itself.\n SETUP: the command is part of the setup phase of a run.", + "enum": ["protocol", "setup", "fixit"], + "type": "string" + }, + "AirGapInPlaceCreate": { + "title": "AirGapInPlaceCreate", + "description": "AirGapInPlace command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "airGapInPlace", + "enum": ["airGapInPlace"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/AirGapInPlaceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "WellOrigin": { + "title": "WellOrigin", + "description": "Origin of WellLocation offset.\n\nProps:\n TOP: the top-center of the well\n BOTTOM: the bottom-center of the well\n CENTER: the middle-center of the well\n MENISCUS: the meniscus-center of the well", + "enum": ["top", "bottom", "center", "meniscus"], + "type": "string" + }, + "WellOffset": { + "title": "WellOffset", + "description": "An offset vector in (x, y, z).", + "type": "object", + "properties": { + "x": { + "title": "X", + "default": 0, + "type": "number" + }, + "y": { + "title": "Y", + "default": 0, + "type": "number" + }, + "z": { + "title": "Z", + "default": 0, + "type": "number" + } + } + }, + "LiquidHandlingWellLocation": { + "title": "LiquidHandlingWellLocation", + "description": "A relative location in reference to a well's location.\n\nTo be used with commands that handle liquids.", + "type": "object", + "properties": { + "origin": { + "default": "top", + "allOf": [ + { + "$ref": "#/definitions/WellOrigin" + } + ] + }, + "offset": { + "$ref": "#/definitions/WellOffset" + }, + "volumeOffset": { + "title": "Volumeoffset", + "description": "A volume of liquid, in \u00b5L, to offset the z-axis offset. When \"operationVolume\" is specified, this volume is pulled from the command volume parameter.", + "default": 0.0, + "anyOf": [ + { + "type": "number" + }, + { + "enum": ["operationVolume"], + "type": "string" + } + ] + } + } + }, + "AspirateParams": { + "title": "AspirateParams", + "description": "Parameters required to aspirate from a specific well.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to perform the operation", + "allOf": [ + { + "$ref": "#/definitions/LiquidHandlingWellLocation" + } + ] + }, + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "volume": { + "title": "Volume", + "description": "The amount of liquid to aspirate, in \u00b5L. Must not be greater than the remaining available amount, which depends on the pipette (see `loadPipette`), its configuration (see `configureForVolume`), the tip (see `pickUpTip`), and the amount you've aspirated so far. There is some tolerance for floating point rounding errors.", + "minimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["labwareId", "wellName", "flowRate", "volume", "pipetteId"] + }, + "AspirateCreate": { + "title": "AspirateCreate", + "description": "Create aspirate command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "aspirate", + "enum": ["aspirate"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/AspirateParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "AspirateInPlaceParams": { + "title": "AspirateInPlaceParams", + "description": "Payload required to aspirate in place.", + "type": "object", + "properties": { + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "volume": { + "title": "Volume", + "description": "The amount of liquid to aspirate, in \u00b5L. Must not be greater than the remaining available amount, which depends on the pipette (see `loadPipette`), its configuration (see `configureForVolume`), the tip (see `pickUpTip`), and the amount you've aspirated so far. There is some tolerance for floating point rounding errors.", + "minimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["flowRate", "volume", "pipetteId"] + }, + "AspirateInPlaceCreate": { + "title": "AspirateInPlaceCreate", + "description": "AspirateInPlace command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "aspirateInPlace", + "enum": ["aspirateInPlace"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/AspirateInPlaceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "CommentParams": { + "title": "CommentParams", + "description": "Payload required to annotate execution with a comment.", + "type": "object", + "properties": { + "message": { + "title": "Message", + "description": "A user-facing message", + "type": "string" + } + }, + "required": ["message"] + }, + "CommentCreate": { + "title": "CommentCreate", + "description": "Comment command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "comment", + "enum": ["comment"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/CommentParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "ConfigureForVolumeParams": { + "title": "ConfigureForVolumeParams", + "description": "Parameters required to configure volume for a specific pipette.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "volume": { + "title": "Volume", + "description": "Amount of liquid in uL. Must be at least 0 and no greater than a pipette-specific maximum volume.", + "minimum": 0, + "type": "number" + }, + "tipOverlapNotAfterVersion": { + "title": "Tipoverlapnotafterversion", + "description": "A version of tip overlap data to not exceed. The highest-versioned tip overlap data that does not exceed this version will be used. Versions are expressed as vN where N is an integer, counting up from v0. If None, the current highest version will be used.", + "type": "string" + } + }, + "required": ["pipetteId", "volume"] + }, + "ConfigureForVolumeCreate": { + "title": "ConfigureForVolumeCreate", + "description": "Configure for volume command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "configureForVolume", + "enum": ["configureForVolume"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/ConfigureForVolumeParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "AllNozzleLayoutConfiguration": { + "title": "AllNozzleLayoutConfiguration", + "description": "All basemodel to represent a reset to the nozzle configuration. Sending no parameters resets to default.", + "type": "object", + "properties": { + "style": { + "title": "Style", + "default": "ALL", + "enum": ["ALL"], + "type": "string" + } + } + }, + "SingleNozzleLayoutConfiguration": { + "title": "SingleNozzleLayoutConfiguration", + "description": "Minimum information required for a new nozzle configuration.", + "type": "object", + "properties": { + "style": { + "title": "Style", + "default": "SINGLE", + "enum": ["SINGLE"], + "type": "string" + }, + "primaryNozzle": { + "title": "Primarynozzle", + "description": "The primary nozzle to use in the layout configuration. This nozzle will update the critical point of the current pipette. For now, this is also the back left corner of your rectangle.", + "enum": ["A1", "H1", "A12", "H12"], + "type": "string" + } + }, + "required": ["primaryNozzle"] + }, + "RowNozzleLayoutConfiguration": { + "title": "RowNozzleLayoutConfiguration", + "description": "Minimum information required for a new nozzle configuration.", + "type": "object", + "properties": { + "style": { + "title": "Style", + "default": "ROW", + "enum": ["ROW"], + "type": "string" + }, + "primaryNozzle": { + "title": "Primarynozzle", + "description": "The primary nozzle to use in the layout configuration. This nozzle will update the critical point of the current pipette. For now, this is also the back left corner of your rectangle.", + "enum": ["A1", "H1", "A12", "H12"], + "type": "string" + } + }, + "required": ["primaryNozzle"] + }, + "ColumnNozzleLayoutConfiguration": { + "title": "ColumnNozzleLayoutConfiguration", + "description": "Information required for nozzle configurations of type ROW and COLUMN.", + "type": "object", + "properties": { + "style": { + "title": "Style", + "default": "COLUMN", + "enum": ["COLUMN"], + "type": "string" + }, + "primaryNozzle": { + "title": "Primarynozzle", + "description": "The primary nozzle to use in the layout configuration. This nozzle will update the critical point of the current pipette. For now, this is also the back left corner of your rectangle.", + "enum": ["A1", "H1", "A12", "H12"], + "type": "string" + } + }, + "required": ["primaryNozzle"] + }, + "QuadrantNozzleLayoutConfiguration": { + "title": "QuadrantNozzleLayoutConfiguration", + "description": "Information required for nozzle configurations of type QUADRANT.", + "type": "object", + "properties": { + "style": { + "title": "Style", + "default": "QUADRANT", + "enum": ["QUADRANT"], + "type": "string" + }, + "primaryNozzle": { + "title": "Primarynozzle", + "description": "The primary nozzle to use in the layout configuration. This nozzle will update the critical point of the current pipette. For now, this is also the back left corner of your rectangle.", + "enum": ["A1", "H1", "A12", "H12"], + "type": "string" + }, + "frontRightNozzle": { + "title": "Frontrightnozzle", + "description": "The front right nozzle in your configuration.", + "pattern": "[A-Z]\\d{1,2}", + "type": "string" + }, + "backLeftNozzle": { + "title": "Backleftnozzle", + "description": "The back left nozzle in your configuration.", + "pattern": "[A-Z]\\d{1,2}", + "type": "string" + } + }, + "required": ["primaryNozzle", "frontRightNozzle", "backLeftNozzle"] + }, + "ConfigureNozzleLayoutParams": { + "title": "ConfigureNozzleLayoutParams", + "description": "Parameters required to configure the nozzle layout for a specific pipette.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "configurationParams": { + "title": "Configurationparams", + "anyOf": [ + { + "$ref": "#/definitions/AllNozzleLayoutConfiguration" + }, + { + "$ref": "#/definitions/SingleNozzleLayoutConfiguration" + }, + { + "$ref": "#/definitions/RowNozzleLayoutConfiguration" + }, + { + "$ref": "#/definitions/ColumnNozzleLayoutConfiguration" + }, + { + "$ref": "#/definitions/QuadrantNozzleLayoutConfiguration" + } + ] + } + }, + "required": ["pipetteId", "configurationParams"] + }, + "ConfigureNozzleLayoutCreate": { + "title": "ConfigureNozzleLayoutCreate", + "description": "Configure nozzle layout creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "configureNozzleLayout", + "enum": ["configureNozzleLayout"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/ConfigureNozzleLayoutParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "CustomParams": { + "title": "CustomParams", + "description": "Payload used by a custom command.", + "type": "object", + "properties": {} + }, + "CustomCreate": { + "title": "CustomCreate", + "description": "A request to create a custom command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "custom", + "enum": ["custom"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/CustomParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DispenseParams": { + "title": "DispenseParams", + "description": "Payload required to dispense to a specific well.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to perform the operation", + "allOf": [ + { + "$ref": "#/definitions/LiquidHandlingWellLocation" + } + ] + }, + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "volume": { + "title": "Volume", + "description": "The amount of liquid to dispense, in \u00b5L. Must not be greater than the currently aspirated volume. There is some tolerance for floating point rounding errors.", + "minimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "pushOut": { + "title": "Pushout", + "description": "push the plunger a small amount farther than necessary for accurate low-volume dispensing", + "type": "number" + } + }, + "required": ["labwareId", "wellName", "flowRate", "volume", "pipetteId"] + }, + "DispenseCreate": { + "title": "DispenseCreate", + "description": "Create dispense command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "dispense", + "enum": ["dispense"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DispenseParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DispenseInPlaceParams": { + "title": "DispenseInPlaceParams", + "description": "Payload required to dispense in place.", + "type": "object", + "properties": { + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "volume": { + "title": "Volume", + "description": "The amount of liquid to dispense, in \u00b5L. Must not be greater than the currently aspirated volume. There is some tolerance for floating point rounding errors.", + "minimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "pushOut": { + "title": "Pushout", + "description": "push the plunger a small amount farther than necessary for accurate low-volume dispensing", + "type": "number" + } + }, + "required": ["flowRate", "volume", "pipetteId"] + }, + "DispenseInPlaceCreate": { + "title": "DispenseInPlaceCreate", + "description": "DispenseInPlace command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "dispenseInPlace", + "enum": ["dispenseInPlace"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DispenseInPlaceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "WellLocation": { + "title": "WellLocation", + "description": "A relative location in reference to a well's location.", + "type": "object", + "properties": { + "origin": { + "default": "top", + "allOf": [ + { + "$ref": "#/definitions/WellOrigin" + } + ] + }, + "offset": { + "$ref": "#/definitions/WellOffset" + }, + "volumeOffset": { + "title": "Volumeoffset", + "description": "A volume of liquid, in \u00b5L, to offset the z-axis offset.", + "default": 0.0, + "type": "number" + } + } + }, + "BlowOutParams": { + "title": "BlowOutParams", + "description": "Payload required to blow-out a specific well.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to perform the operation", + "allOf": [ + { + "$ref": "#/definitions/WellLocation" + } + ] + }, + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["labwareId", "wellName", "flowRate", "pipetteId"] + }, + "BlowOutCreate": { + "title": "BlowOutCreate", + "description": "Create blow-out command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "blowout", + "enum": ["blowout"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/BlowOutParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "BlowOutInPlaceParams": { + "title": "BlowOutInPlaceParams", + "description": "Payload required to blow-out in place.", + "type": "object", + "properties": { + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["flowRate", "pipetteId"] + }, + "BlowOutInPlaceCreate": { + "title": "BlowOutInPlaceCreate", + "description": "BlowOutInPlace command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "blowOutInPlace", + "enum": ["blowOutInPlace"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/BlowOutInPlaceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DropTipWellOrigin": { + "title": "DropTipWellOrigin", + "description": "The origin of a DropTipWellLocation offset.\n\nProps:\n TOP: the top-center of the well\n BOTTOM: the bottom-center of the well\n CENTER: the middle-center of the well\n DEFAULT: the default drop-tip location of the well,\n based on pipette configuration and length of the tip.", + "enum": ["top", "bottom", "center", "default"], + "type": "string" + }, + "DropTipWellLocation": { + "title": "DropTipWellLocation", + "description": "Like WellLocation, but for dropping tips.\n\nUnlike a typical WellLocation, the location for a drop tip\ndefaults to location based on the tip length rather than the well's top.", + "type": "object", + "properties": { + "origin": { + "default": "default", + "allOf": [ + { + "$ref": "#/definitions/DropTipWellOrigin" + } + ] + }, + "offset": { + "$ref": "#/definitions/WellOffset" + } + } + }, + "DropTipParams": { + "title": "DropTipParams", + "description": "Payload required to drop a tip in a specific well.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to drop the tip.", + "allOf": [ + { + "$ref": "#/definitions/DropTipWellLocation" + } + ] + }, + "homeAfter": { + "title": "Homeafter", + "description": "Whether to home this pipette's plunger after dropping the tip. You should normally leave this unspecified to let the robot choose a safe default depending on its hardware.", + "type": "boolean" + }, + "alternateDropLocation": { + "title": "Alternatedroplocation", + "description": "Whether to alternate location where tip is dropped within the labware. If True, this command will ignore the wellLocation provided and alternate between dropping tips at two predetermined locations inside the specified labware well. If False, the tip will be dropped at the top center of the well.", + "default": false, + "type": "boolean" + } + }, + "required": ["pipetteId", "labwareId", "wellName"] + }, + "DropTipCreate": { + "title": "DropTipCreate", + "description": "Drop tip command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "dropTip", + "enum": ["dropTip"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DropTipParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DropTipInPlaceParams": { + "title": "DropTipInPlaceParams", + "description": "Payload required to drop a tip in place.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "homeAfter": { + "title": "Homeafter", + "description": "Whether to home this pipette's plunger after dropping the tip. You should normally leave this unspecified to let the robot choose a safe default depending on its hardware.", + "type": "boolean" + } + }, + "required": ["pipetteId"] + }, + "DropTipInPlaceCreate": { + "title": "DropTipInPlaceCreate", + "description": "Drop tip in place command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "dropTipInPlace", + "enum": ["dropTipInPlace"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DropTipInPlaceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "MotorAxis": { + "title": "MotorAxis", + "description": "Motor axis on which to issue a home command.", + "enum": [ + "x", + "y", + "leftZ", + "rightZ", + "leftPlunger", + "rightPlunger", + "extensionZ", + "extensionJaw" + ], + "type": "string" + }, + "MountType": { + "title": "MountType", + "description": "An enumeration.", + "enum": ["left", "right", "extension"], + "type": "string" + }, + "HomeParams": { + "title": "HomeParams", + "description": "Payload required for a Home command.", + "type": "object", + "properties": { + "axes": { + "description": "Axes to return to their home positions. If omitted, will home all motors. Extra axes may be implicitly homed to ensure accurate homing of the explicitly specified axes.", + "type": "array", + "items": { + "$ref": "#/definitions/MotorAxis" + } + }, + "skipIfMountPositionOk": { + "description": "If this parameter is provided, the gantry will only be homed if the specified mount has an invalid position. If omitted, the homing action will be executed unconditionally.", + "allOf": [ + { + "$ref": "#/definitions/MountType" + } + ] + } + } + }, + "HomeCreate": { + "title": "HomeCreate", + "description": "Data to create a Home command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "home", + "enum": ["home"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/HomeParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "RetractAxisParams": { + "title": "RetractAxisParams", + "description": "Payload required for a Retract Axis command.", + "type": "object", + "properties": { + "axis": { + "description": "Axis to retract to its home position as quickly as safely possible. The difference between retracting an axis and homing an axis using the home command is that a home will always probe the limit switch and will work as the first motion command a robot will need to execute; On the other hand, retraction will rely on this previously determined home position to move to it as fast as safely possible. So on the Flex, it will move (fast) the axis to the previously recorded home position and on the OT2, it will move (fast) the axis a safe distance from the previously recorded home position, and then slowly approach the limit switch.", + "allOf": [ + { + "$ref": "#/definitions/MotorAxis" + } + ] + } + }, + "required": ["axis"] + }, + "RetractAxisCreate": { + "title": "RetractAxisCreate", + "description": "Data to create a Retract Axis command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "retractAxis", + "enum": ["retractAxis"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/RetractAxisParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DeckSlotName": { + "title": "DeckSlotName", + "description": "Deck slot identifiers.", + "enum": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "A1", + "A2", + "A3", + "B1", + "B2", + "B3", + "C1", + "C2", + "C3", + "D1", + "D2", + "D3" + ] + }, + "DeckSlotLocation": { + "title": "DeckSlotLocation", + "description": "The location of something placed in a single deck slot.", + "type": "object", + "properties": { + "slotName": { + "description": "A slot on the robot's deck.\n\nThe plain numbers like `\"5\"` are for the OT-2, and the coordinates like `\"C2\"` are for the Flex.\n\nWhen you provide one of these values, you can use either style. It will automatically be converted to match the robot.\n\nWhen one of these values is returned, it will always match the robot.", + "allOf": [ + { + "$ref": "#/definitions/DeckSlotName" + } + ] + } + }, + "required": ["slotName"] + }, + "ModuleLocation": { + "title": "ModuleLocation", + "description": "The location of something placed atop a hardware module.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "The ID of a loaded module from a prior `loadModule` command.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "OnLabwareLocation": { + "title": "OnLabwareLocation", + "description": "The location of something placed atop another labware.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "The ID of a loaded Labware from a prior `loadLabware` command.", + "type": "string" + } + }, + "required": ["labwareId"] + }, + "AddressableAreaLocation": { + "title": "AddressableAreaLocation", + "description": "The location of something place in an addressable area. This is a superset of deck slots.", + "type": "object", + "properties": { + "addressableAreaName": { + "title": "Addressableareaname", + "description": "The name of the addressable area that you want to use. Valid values are the `id`s of `addressableArea`s in the [deck definition](https://github.com/Opentrons/opentrons/tree/edge/shared-data/deck).", + "type": "string" + } + }, + "required": ["addressableAreaName"] + }, + "LoadLabwareParams": { + "title": "LoadLabwareParams", + "description": "Payload required to load a labware into a slot.", + "type": "object", + "properties": { + "location": { + "title": "Location", + "description": "Location the labware should be loaded into.", + "anyOf": [ + { + "$ref": "#/definitions/DeckSlotLocation" + }, + { + "$ref": "#/definitions/ModuleLocation" + }, + { + "$ref": "#/definitions/OnLabwareLocation" + }, + { + "enum": ["offDeck"], + "type": "string" + }, + { + "$ref": "#/definitions/AddressableAreaLocation" + } + ] + }, + "loadName": { + "title": "Loadname", + "description": "Name used to reference a labware definition.", + "type": "string" + }, + "namespace": { + "title": "Namespace", + "description": "The namespace the labware definition belongs to.", + "type": "string" + }, + "version": { + "title": "Version", + "description": "The labware definition version.", + "type": "integer" + }, + "labwareId": { + "title": "Labwareid", + "description": "An optional ID to assign to this labware. If None, an ID will be generated.", + "type": "string" + }, + "displayName": { + "title": "Displayname", + "description": "An optional user-specified display name or label for this labware.", + "type": "string" + } + }, + "required": ["location", "loadName", "namespace", "version"] + }, + "LoadLabwareCreate": { + "title": "LoadLabwareCreate", + "description": "Load labware command creation request.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "loadLabware", + "enum": ["loadLabware"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/LoadLabwareParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "ReloadLabwareParams": { + "title": "ReloadLabwareParams", + "description": "Payload required to load a labware into a slot.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "The already-loaded labware instance to update.", + "type": "string" + } + }, + "required": ["labwareId"] + }, + "ReloadLabwareCreate": { + "title": "ReloadLabwareCreate", + "description": "Reload labware command creation request.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "reloadLabware", + "enum": ["reloadLabware"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/ReloadLabwareParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "LoadLiquidParams": { + "title": "LoadLiquidParams", + "description": "Payload required to load a liquid into a well.", + "type": "object", + "properties": { + "liquidId": { + "title": "Liquidid", + "description": "Unique identifier of the liquid to load. If this is the sentinel value EMPTY, all values of volumeByWell must be 0.", + "anyOf": [ + { + "type": "string" + }, + { + "enum": ["EMPTY"], + "type": "string" + } + ] + }, + "labwareId": { + "title": "Labwareid", + "description": "Unique identifier of labware to load liquid into.", + "type": "string" + }, + "volumeByWell": { + "title": "Volumebywell", + "description": "Volume of liquid, in \u00b5L, loaded into each well by name, in this labware. If the liquid id is the sentinel value EMPTY, all volumes must be 0.", + "type": "object", + "additionalProperties": { + "type": "number" + } + } + }, + "required": ["liquidId", "labwareId", "volumeByWell"] + }, + "LoadLiquidCreate": { + "title": "LoadLiquidCreate", + "description": "Load liquid command creation request.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "loadLiquid", + "enum": ["loadLiquid"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/LoadLiquidParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "ModuleModel": { + "title": "ModuleModel", + "description": "All available modules' models.", + "enum": [ + "temperatureModuleV1", + "temperatureModuleV2", + "magneticModuleV1", + "magneticModuleV2", + "thermocyclerModuleV1", + "thermocyclerModuleV2", + "heaterShakerModuleV1", + "magneticBlockV1", + "absorbanceReaderV1" + ], + "type": "string" + }, + "LoadModuleParams": { + "title": "LoadModuleParams", + "description": "Payload required to load a module.", + "type": "object", + "properties": { + "model": { + "description": "The model name of the module to load.\n\nProtocol Engine will look for a connected module that either exactly matches this one, or is compatible.\n\n For example, if you request a `temperatureModuleV1` here, Protocol Engine might load a `temperatureModuleV1` or a `temperatureModuleV2`.\n\n The model that it finds connected will be available through `result.model`.", + "allOf": [ + { + "$ref": "#/definitions/ModuleModel" + } + ] + }, + "location": { + "title": "Location", + "description": "The location into which this module should be loaded.\n\nFor the Thermocycler Module, which occupies multiple deck slots, this should be the front-most occupied slot (normally slot 7).", + "allOf": [ + { + "$ref": "#/definitions/DeckSlotLocation" + } + ] + }, + "moduleId": { + "title": "Moduleid", + "description": "An optional ID to assign to this module. If None, an ID will be generated.", + "type": "string" + } + }, + "required": ["model", "location"] + }, + "LoadModuleCreate": { + "title": "LoadModuleCreate", + "description": "The model for a creation request for a load module command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "loadModule", + "enum": ["loadModule"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/LoadModuleParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "PipetteNameType": { + "title": "PipetteNameType", + "description": "Pipette load name values.", + "enum": [ + "p10_single", + "p10_multi", + "p20_single_gen2", + "p20_multi_gen2", + "p50_single", + "p50_multi", + "p50_single_flex", + "p50_multi_flex", + "p300_single", + "p300_multi", + "p300_single_gen2", + "p300_multi_gen2", + "p1000_single", + "p1000_single_gen2", + "p1000_single_flex", + "p1000_multi_flex", + "p1000_96", + "p200_96" + ], + "type": "string" + }, + "LoadPipetteParams": { + "title": "LoadPipetteParams", + "description": "Payload needed to load a pipette on to a mount.", + "type": "object", + "properties": { + "pipetteName": { + "description": "The load name of the pipette to be required.", + "allOf": [ + { + "$ref": "#/definitions/PipetteNameType" + } + ] + }, + "mount": { + "description": "The mount the pipette should be present on.", + "allOf": [ + { + "$ref": "#/definitions/MountType" + } + ] + }, + "pipetteId": { + "title": "Pipetteid", + "description": "An optional ID to assign to this pipette. If None, an ID will be generated.", + "type": "string" + }, + "tipOverlapNotAfterVersion": { + "title": "Tipoverlapnotafterversion", + "description": "A version of tip overlap data to not exceed. The highest-versioned tip overlap data that does not exceed this version will be used. Versions are expressed as vN where N is an integer, counting up from v0. If None, the current highest version will be used.", + "type": "string" + }, + "liquidPresenceDetection": { + "title": "Liquidpresencedetection", + "description": "Enable liquid presence detection for this pipette. Defaults to False.", + "type": "boolean" + } + }, + "required": ["pipetteName", "mount"] + }, + "LoadPipetteCreate": { + "title": "LoadPipetteCreate", + "description": "Load pipette command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "loadPipette", + "enum": ["loadPipette"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/LoadPipetteParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "LabwareMovementStrategy": { + "title": "LabwareMovementStrategy", + "description": "Strategy to use for labware movement.", + "enum": ["usingGripper", "manualMoveWithPause", "manualMoveWithoutPause"], + "type": "string" + }, + "LabwareOffsetVector": { + "title": "LabwareOffsetVector", + "description": "Offset, in deck coordinates from nominal to actual position.", + "type": "object", + "properties": { + "x": { + "title": "X", + "type": "number" + }, + "y": { + "title": "Y", + "type": "number" + }, + "z": { + "title": "Z", + "type": "number" + } + }, + "required": ["x", "y", "z"] + }, + "MoveLabwareParams": { + "title": "MoveLabwareParams", + "description": "Input parameters for a ``moveLabware`` command.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "The ID of the labware to move.", + "type": "string" + }, + "newLocation": { + "title": "Newlocation", + "description": "Where to move the labware.", + "anyOf": [ + { + "$ref": "#/definitions/DeckSlotLocation" + }, + { + "$ref": "#/definitions/ModuleLocation" + }, + { + "$ref": "#/definitions/OnLabwareLocation" + }, + { + "enum": ["offDeck"], + "type": "string" + }, + { + "$ref": "#/definitions/AddressableAreaLocation" + } + ] + }, + "strategy": { + "description": "Whether to use the gripper to perform the labware movement or to perform a manual movement with an option to pause.", + "allOf": [ + { + "$ref": "#/definitions/LabwareMovementStrategy" + } + ] + }, + "pickUpOffset": { + "title": "Pickupoffset", + "description": "Offset to use when picking up labware. Experimental param, subject to change", + "allOf": [ + { + "$ref": "#/definitions/LabwareOffsetVector" + } + ] + }, + "dropOffset": { + "title": "Dropoffset", + "description": "Offset to use when dropping off labware. Experimental param, subject to change", + "allOf": [ + { + "$ref": "#/definitions/LabwareOffsetVector" + } + ] + } + }, + "required": ["labwareId", "newLocation", "strategy"] + }, + "MoveLabwareCreate": { + "title": "MoveLabwareCreate", + "description": "A request to create a ``moveLabware`` command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "moveLabware", + "enum": ["moveLabware"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveLabwareParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "MovementAxis": { + "title": "MovementAxis", + "description": "Axis on which to issue a relative movement.", + "enum": ["x", "y", "z"], + "type": "string" + }, + "MoveRelativeParams": { + "title": "MoveRelativeParams", + "description": "Payload required for a MoveRelative command.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Pipette to move.", + "type": "string" + }, + "axis": { + "description": "Axis along which to move.", + "allOf": [ + { + "$ref": "#/definitions/MovementAxis" + } + ] + }, + "distance": { + "title": "Distance", + "description": "Distance to move in millimeters. A positive number will move towards the right (x), back (y), top (z) of the deck.", + "type": "number" + } + }, + "required": ["pipetteId", "axis", "distance"] + }, + "MoveRelativeCreate": { + "title": "MoveRelativeCreate", + "description": "Data to create a MoveRelative command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "moveRelative", + "enum": ["moveRelative"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveRelativeParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DeckPoint": { + "title": "DeckPoint", + "description": "Coordinates of a point in deck space.", + "type": "object", + "properties": { + "x": { + "title": "X", + "type": "number" + }, + "y": { + "title": "Y", + "type": "number" + }, + "z": { + "title": "Z", + "type": "number" + } + }, + "required": ["x", "y", "z"] + }, + "MoveToCoordinatesParams": { + "title": "MoveToCoordinatesParams", + "description": "Payload required to move a pipette to coordinates.", + "type": "object", + "properties": { + "minimumZHeight": { + "title": "Minimumzheight", + "description": "Optional minimal Z margin in mm. If this is larger than the API's default safe Z margin, it will make the arc higher. If it's smaller, it will have no effect.", + "type": "number" + }, + "forceDirect": { + "title": "Forcedirect", + "description": "If true, moving from one labware/well to another will not arc to the default safe z, but instead will move directly to the specified location. This will also force the `minimumZHeight` param to be ignored. A 'direct' movement is in X/Y/Z simultaneously.", + "default": false, + "type": "boolean" + }, + "speed": { + "title": "Speed", + "description": "Override the travel speed in mm/s. This controls the straight linear speed of motion.", + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "coordinates": { + "title": "Coordinates", + "description": "X, Y and Z coordinates in mm from deck's origin location (left-front-bottom corner of work space)", + "allOf": [ + { + "$ref": "#/definitions/DeckPoint" + } + ] + } + }, + "required": ["pipetteId", "coordinates"] + }, + "MoveToCoordinatesCreate": { + "title": "MoveToCoordinatesCreate", + "description": "Move to coordinates command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "moveToCoordinates", + "enum": ["moveToCoordinates"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveToCoordinatesParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "MoveToWellParams": { + "title": "MoveToWellParams", + "description": "Payload required to move a pipette to a specific well.", + "type": "object", + "properties": { + "minimumZHeight": { + "title": "Minimumzheight", + "description": "Optional minimal Z margin in mm. If this is larger than the API's default safe Z margin, it will make the arc higher. If it's smaller, it will have no effect.", + "type": "number" + }, + "forceDirect": { + "title": "Forcedirect", + "description": "If true, moving from one labware/well to another will not arc to the default safe z, but instead will move directly to the specified location. This will also force the `minimumZHeight` param to be ignored. A 'direct' movement is in X/Y/Z simultaneously.", + "default": false, + "type": "boolean" + }, + "speed": { + "title": "Speed", + "description": "Override the travel speed in mm/s. This controls the straight linear speed of motion.", + "type": "number" + }, + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to perform the operation", + "allOf": [ + { + "$ref": "#/definitions/WellLocation" + } + ] + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["labwareId", "wellName", "pipetteId"] + }, + "MoveToWellCreate": { + "title": "MoveToWellCreate", + "description": "Move to well command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "moveToWell", + "enum": ["moveToWell"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveToWellParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "AddressableOffsetVector": { + "title": "AddressableOffsetVector", + "description": "Offset, in deck coordinates, from nominal to actual position of an addressable area.", + "type": "object", + "properties": { + "x": { + "title": "X", + "type": "number" + }, + "y": { + "title": "Y", + "type": "number" + }, + "z": { + "title": "Z", + "type": "number" + } + }, + "required": ["x", "y", "z"] + }, + "MoveToAddressableAreaParams": { + "title": "MoveToAddressableAreaParams", + "description": "Payload required to move a pipette to a specific addressable area.\n\nAn *addressable area* is a space in the robot that may or may not be usable depending on how\nthe robot's deck is configured. For example, if a Flex is configured with a waste chute, it will\nhave additional addressable areas representing the opening of the waste chute, where tips and\nlabware can be dropped.\n\nThis moves the pipette so all of its nozzles are centered over the addressable area.\nIf the pipette is currently configured with a partial tip layout, this centering is over all\nthe pipette's physical nozzles, not just the nozzles that are active.\n\nThe z-position will be chosen to put the bottom of the tips---or the bottom of the nozzles,\nif there are no tips---level with the top of the addressable area.\n\nWhen this command is executed, Protocol Engine will make sure the robot's deck is configured\nsuch that the requested addressable area actually exists. For example, if you request\nthe addressable area B4, it will make sure the robot is set up with a B3/B4 staging area slot.\nIf that's not the case, the command will fail.", + "type": "object", + "properties": { + "minimumZHeight": { + "title": "Minimumzheight", + "description": "Optional minimal Z margin in mm. If this is larger than the API's default safe Z margin, it will make the arc higher. If it's smaller, it will have no effect.", + "type": "number" + }, + "forceDirect": { + "title": "Forcedirect", + "description": "If true, moving from one labware/well to another will not arc to the default safe z, but instead will move directly to the specified location. This will also force the `minimumZHeight` param to be ignored. A 'direct' movement is in X/Y/Z simultaneously.", + "default": false, + "type": "boolean" + }, + "speed": { + "title": "Speed", + "description": "Override the travel speed in mm/s. This controls the straight linear speed of motion.", + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "addressableAreaName": { + "title": "Addressableareaname", + "description": "The name of the addressable area that you want to use. Valid values are the `id`s of `addressableArea`s in the [deck definition](https://github.com/Opentrons/opentrons/tree/edge/shared-data/deck).", + "type": "string" + }, + "offset": { + "title": "Offset", + "description": "Relative offset of addressable area to move pipette's critical point.", + "default": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "allOf": [ + { + "$ref": "#/definitions/AddressableOffsetVector" + } + ] + }, + "stayAtHighestPossibleZ": { + "title": "Stayathighestpossiblez", + "description": "If `true`, the pipette will retract to its highest possible height and stay there instead of descending to the destination. `minimumZHeight` will be ignored.", + "default": false, + "type": "boolean" + } + }, + "required": ["pipetteId", "addressableAreaName"] + }, + "MoveToAddressableAreaCreate": { + "title": "MoveToAddressableAreaCreate", + "description": "Move to addressable area command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "moveToAddressableArea", + "enum": ["moveToAddressableArea"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveToAddressableAreaParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "MoveToAddressableAreaForDropTipParams": { + "title": "MoveToAddressableAreaForDropTipParams", + "description": "Payload required to move a pipette to a specific addressable area.\n\nAn *addressable area* is a space in the robot that may or may not be usable depending on how\nthe robot's deck is configured. For example, if a Flex is configured with a waste chute, it will\nhave additional addressable areas representing the opening of the waste chute, where tips and\nlabware can be dropped.\n\nThis moves the pipette so all of its nozzles are centered over the addressable area.\nIf the pipette is currently configured with a partial tip layout, this centering is over all\nthe pipette's physical nozzles, not just the nozzles that are active.\n\nThe z-position will be chosen to put the bottom of the tips---or the bottom of the nozzles,\nif there are no tips---level with the top of the addressable area.\n\nWhen this command is executed, Protocol Engine will make sure the robot's deck is configured\nsuch that the requested addressable area actually exists. For example, if you request\nthe addressable area B4, it will make sure the robot is set up with a B3/B4 staging area slot.\nIf that's not the case, the command will fail.", + "type": "object", + "properties": { + "minimumZHeight": { + "title": "Minimumzheight", + "description": "Optional minimal Z margin in mm. If this is larger than the API's default safe Z margin, it will make the arc higher. If it's smaller, it will have no effect.", + "type": "number" + }, + "forceDirect": { + "title": "Forcedirect", + "description": "If true, moving from one labware/well to another will not arc to the default safe z, but instead will move directly to the specified location. This will also force the `minimumZHeight` param to be ignored. A 'direct' movement is in X/Y/Z simultaneously.", + "default": false, + "type": "boolean" + }, + "speed": { + "title": "Speed", + "description": "Override the travel speed in mm/s. This controls the straight linear speed of motion.", + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "addressableAreaName": { + "title": "Addressableareaname", + "description": "The name of the addressable area that you want to use. Valid values are the `id`s of `addressableArea`s in the [deck definition](https://github.com/Opentrons/opentrons/tree/edge/shared-data/deck).", + "type": "string" + }, + "offset": { + "title": "Offset", + "description": "Relative offset of addressable area to move pipette's critical point.", + "default": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "allOf": [ + { + "$ref": "#/definitions/AddressableOffsetVector" + } + ] + }, + "alternateDropLocation": { + "title": "Alternatedroplocation", + "description": "Whether to alternate location where tip is dropped within the addressable area. If True, this command will ignore the offset provided and alternate between dropping tips at two predetermined locations inside the specified labware well. If False, the tip will be dropped at the top center of the area.", + "default": false, + "type": "boolean" + }, + "ignoreTipConfiguration": { + "title": "Ignoretipconfiguration", + "description": "Whether to utilize the critical point of the tip configuraiton when moving to an addressable area. If True, this command will ignore the tip configuration and use the center of the entire instrument as the critical point for movement. If False, this command will use the critical point provided by the current tip configuration.", + "default": true, + "type": "boolean" + } + }, + "required": ["pipetteId", "addressableAreaName"] + }, + "MoveToAddressableAreaForDropTipCreate": { + "title": "MoveToAddressableAreaForDropTipCreate", + "description": "Move to addressable area for drop tip command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "moveToAddressableAreaForDropTip", + "enum": ["moveToAddressableAreaForDropTip"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveToAddressableAreaForDropTipParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "PrepareToAspirateParams": { + "title": "PrepareToAspirateParams", + "description": "Parameters required to prepare a specific pipette for aspiration.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["pipetteId"] + }, + "PrepareToAspirateCreate": { + "title": "PrepareToAspirateCreate", + "description": "Prepare for aspirate command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "prepareToAspirate", + "enum": ["prepareToAspirate"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/PrepareToAspirateParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "WaitForResumeParams": { + "title": "WaitForResumeParams", + "description": "Payload required to pause the protocol.", + "type": "object", + "properties": { + "message": { + "title": "Message", + "description": "A user-facing message associated with the pause", + "type": "string" + } + } + }, + "WaitForResumeCreate": { + "title": "WaitForResumeCreate", + "description": "Wait for resume command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "waitForResume", + "enum": ["waitForResume", "pause"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/WaitForResumeParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "WaitForDurationParams": { + "title": "WaitForDurationParams", + "description": "Payload required to pause the protocol.", + "type": "object", + "properties": { + "seconds": { + "title": "Seconds", + "description": "Duration, in seconds, to wait for.", + "type": "number" + }, + "message": { + "title": "Message", + "description": "A user-facing message associated with the pause", + "type": "string" + } + }, + "required": ["seconds"] + }, + "WaitForDurationCreate": { + "title": "WaitForDurationCreate", + "description": "Wait for duration command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "waitForDuration", + "enum": ["waitForDuration"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/WaitForDurationParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "PickUpTipWellOrigin": { + "title": "PickUpTipWellOrigin", + "description": "The origin of a PickUpTipWellLocation offset.\n\nProps:\n TOP: the top-center of the well\n BOTTOM: the bottom-center of the well\n CENTER: the middle-center of the well", + "enum": ["top", "bottom", "center"], + "type": "string" + }, + "PickUpTipWellLocation": { + "title": "PickUpTipWellLocation", + "description": "A relative location in reference to a well's location.\n\nTo be used for picking up tips.", + "type": "object", + "properties": { + "origin": { + "default": "top", + "allOf": [ + { + "$ref": "#/definitions/PickUpTipWellOrigin" + } + ] + }, + "offset": { + "$ref": "#/definitions/WellOffset" + } + } + }, + "PickUpTipParams": { + "title": "PickUpTipParams", + "description": "Payload needed to move a pipette to a specific well.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to pick up the tip.", + "allOf": [ + { + "$ref": "#/definitions/PickUpTipWellLocation" + } + ] + } + }, + "required": ["pipetteId", "labwareId", "wellName"] + }, + "PickUpTipCreate": { + "title": "PickUpTipCreate", + "description": "Pick up tip command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "pickUpTip", + "enum": ["pickUpTip"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/PickUpTipParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "SavePositionParams": { + "title": "SavePositionParams", + "description": "Payload needed to save a pipette's current position.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Unique identifier of the pipette in question.", + "type": "string" + }, + "positionId": { + "title": "Positionid", + "description": "An optional ID to assign to this command instance. Auto-assigned if not defined.", + "type": "string" + }, + "failOnNotHomed": { + "title": "Failonnothomed", + "default": true, + "descrption": "Require all axes to be homed before saving position.", + "type": "boolean" + } + }, + "required": ["pipetteId"] + }, + "SavePositionCreate": { + "title": "SavePositionCreate", + "description": "Save position command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "savePosition", + "enum": ["savePosition"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/SavePositionParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "SetRailLightsParams": { + "title": "SetRailLightsParams", + "description": "Payload required to set the rail lights on or off.", + "type": "object", + "properties": { + "on": { + "title": "On", + "description": "The field that determines if the light is turned off or on.", + "type": "boolean" + } + }, + "required": ["on"] + }, + "SetRailLightsCreate": { + "title": "SetRailLightsCreate", + "description": "setRailLights command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "setRailLights", + "enum": ["setRailLights"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/SetRailLightsParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "TouchTipParams": { + "title": "TouchTipParams", + "description": "Payload needed to touch a pipette tip the sides of a specific well.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to perform the operation", + "allOf": [ + { + "$ref": "#/definitions/WellLocation" + } + ] + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "radius": { + "title": "Radius", + "description": "The proportion of the target well's radius the pipette tip will move towards.", + "default": 1.0, + "type": "number" + }, + "speed": { + "title": "Speed", + "description": "Override the travel speed in mm/s. This controls the straight linear speed of motion.", + "type": "number" + } + }, + "required": ["labwareId", "wellName", "pipetteId"] + }, + "TouchTipCreate": { + "title": "TouchTipCreate", + "description": "Touch tip command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "touchTip", + "enum": ["touchTip"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/TouchTipParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "StatusBarAnimation": { + "title": "StatusBarAnimation", + "description": "Status Bar animation options.", + "enum": ["idle", "confirm", "updating", "disco", "off"] + }, + "SetStatusBarParams": { + "title": "SetStatusBarParams", + "description": "Payload required to set the status bar to run an animation.", + "type": "object", + "properties": { + "animation": { + "description": "The animation that should be executed on the status bar.", + "allOf": [ + { + "$ref": "#/definitions/StatusBarAnimation" + } + ] + } + }, + "required": ["animation"] + }, + "SetStatusBarCreate": { + "title": "SetStatusBarCreate", + "description": "setStatusBar command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "setStatusBar", + "enum": ["setStatusBar"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/SetStatusBarParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "TipPresenceStatus": { + "title": "TipPresenceStatus", + "description": "Tip presence status reported by a pipette.", + "enum": ["present", "absent", "unknown"], + "type": "string" + }, + "InstrumentSensorId": { + "title": "InstrumentSensorId", + "description": "Primary and secondary sensor ids.", + "enum": ["primary", "secondary", "both"], + "type": "string" + }, + "VerifyTipPresenceParams": { + "title": "VerifyTipPresenceParams", + "description": "Payload required for a VerifyTipPresence command.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "expectedState": { + "description": "The expected tip presence status on the pipette.", + "allOf": [ + { + "$ref": "#/definitions/TipPresenceStatus" + } + ] + }, + "followSingularSensor": { + "description": "The sensor id to follow if the other can be ignored.", + "allOf": [ + { + "$ref": "#/definitions/InstrumentSensorId" + } + ] + } + }, + "required": ["pipetteId", "expectedState"] + }, + "VerifyTipPresenceCreate": { + "title": "VerifyTipPresenceCreate", + "description": "VerifyTipPresence command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "verifyTipPresence", + "enum": ["verifyTipPresence"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/VerifyTipPresenceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "GetTipPresenceParams": { + "title": "GetTipPresenceParams", + "description": "Payload required for a GetTipPresence command.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["pipetteId"] + }, + "GetTipPresenceCreate": { + "title": "GetTipPresenceCreate", + "description": "GetTipPresence command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "getTipPresence", + "enum": ["getTipPresence"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/GetTipPresenceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "LiquidProbeParams": { + "title": "LiquidProbeParams", + "description": "Parameters required for a `liquidProbe` command.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to perform the operation", + "allOf": [ + { + "$ref": "#/definitions/WellLocation" + } + ] + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["labwareId", "wellName", "pipetteId"] + }, + "LiquidProbeCreate": { + "title": "LiquidProbeCreate", + "description": "The request model for a `liquidProbe` command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "liquidProbe", + "enum": ["liquidProbe"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/LiquidProbeParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "TryLiquidProbeParams": { + "title": "TryLiquidProbeParams", + "description": "Parameters required for a `tryLiquidProbe` command.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to perform the operation", + "allOf": [ + { + "$ref": "#/definitions/WellLocation" + } + ] + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["labwareId", "wellName", "pipetteId"] + }, + "TryLiquidProbeCreate": { + "title": "TryLiquidProbeCreate", + "description": "The request model for a `tryLiquidProbe` command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "tryLiquidProbe", + "enum": ["tryLiquidProbe"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/TryLiquidProbeParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__heater_shaker__wait_for_temperature__WaitForTemperatureParams": { + "title": "WaitForTemperatureParams", + "description": "Input parameters to wait for a Heater-Shaker's target temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Heater-Shaker Module.", + "type": "string" + }, + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C. If not specified, will default to the module's target temperature. Specifying a celsius parameter other than the target temperature could lead to unpredictable behavior and hence is not recommended for use. This parameter can be removed in a future version without prior notice.", + "type": "number" + } + }, + "required": ["moduleId"] + }, + "opentrons__protocol_engine__commands__heater_shaker__wait_for_temperature__WaitForTemperatureCreate": { + "title": "WaitForTemperatureCreate", + "description": "A request to create a Heater-Shaker's wait for temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "heaterShaker/waitForTemperature", + "enum": ["heaterShaker/waitForTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__heater_shaker__wait_for_temperature__WaitForTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__heater_shaker__set_target_temperature__SetTargetTemperatureParams": { + "title": "SetTargetTemperatureParams", + "description": "Input parameters to set a Heater-Shaker's target temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Heater-Shaker Module.", + "type": "string" + }, + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C.", + "type": "number" + } + }, + "required": ["moduleId", "celsius"] + }, + "opentrons__protocol_engine__commands__heater_shaker__set_target_temperature__SetTargetTemperatureCreate": { + "title": "SetTargetTemperatureCreate", + "description": "A request to create a Heater-Shaker's set temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "heaterShaker/setTargetTemperature", + "enum": ["heaterShaker/setTargetTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__heater_shaker__set_target_temperature__SetTargetTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DeactivateHeaterParams": { + "title": "DeactivateHeaterParams", + "description": "Input parameters to unset a Heater-Shaker's target temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Heater-Shaker Module.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "DeactivateHeaterCreate": { + "title": "DeactivateHeaterCreate", + "description": "A request to create a Heater-Shaker's deactivate heater command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "heaterShaker/deactivateHeater", + "enum": ["heaterShaker/deactivateHeater"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DeactivateHeaterParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "SetAndWaitForShakeSpeedParams": { + "title": "SetAndWaitForShakeSpeedParams", + "description": "Input parameters to set and wait for a shake speed for a Heater-Shaker Module.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Heater-Shaker Module.", + "type": "string" + }, + "rpm": { + "title": "Rpm", + "description": "Target speed in rotations per minute.", + "type": "number" + } + }, + "required": ["moduleId", "rpm"] + }, + "SetAndWaitForShakeSpeedCreate": { + "title": "SetAndWaitForShakeSpeedCreate", + "description": "A request to create a Heater-Shaker's set and wait for shake speed command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "heaterShaker/setAndWaitForShakeSpeed", + "enum": ["heaterShaker/setAndWaitForShakeSpeed"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/SetAndWaitForShakeSpeedParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DeactivateShakerParams": { + "title": "DeactivateShakerParams", + "description": "Input parameters to deactivate shaker for a Heater-Shaker Module.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Heater-Shaker Module.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "DeactivateShakerCreate": { + "title": "DeactivateShakerCreate", + "description": "A request to create a Heater-Shaker's deactivate shaker command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "heaterShaker/deactivateShaker", + "enum": ["heaterShaker/deactivateShaker"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DeactivateShakerParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "OpenLabwareLatchParams": { + "title": "OpenLabwareLatchParams", + "description": "Input parameters to open a Heater-Shaker Module's labware latch.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Heater-Shaker Module.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "OpenLabwareLatchCreate": { + "title": "OpenLabwareLatchCreate", + "description": "A request to create a Heater-Shaker's open labware latch command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "heaterShaker/openLabwareLatch", + "enum": ["heaterShaker/openLabwareLatch"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/OpenLabwareLatchParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "CloseLabwareLatchParams": { + "title": "CloseLabwareLatchParams", + "description": "Input parameters to close a Heater-Shaker Module's labware latch.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Heater-Shaker Module.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "CloseLabwareLatchCreate": { + "title": "CloseLabwareLatchCreate", + "description": "A request to create a Heater-Shaker's close latch command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "heaterShaker/closeLabwareLatch", + "enum": ["heaterShaker/closeLabwareLatch"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/CloseLabwareLatchParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DisengageParams": { + "title": "DisengageParams", + "description": "Input data to disengage a Magnetic Module's magnets.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "The ID of the Magnetic Module whose magnets you want to disengage, from a prior `loadModule` command.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "DisengageCreate": { + "title": "DisengageCreate", + "description": "A request to create a Magnetic Module disengage command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "magneticModule/disengage", + "enum": ["magneticModule/disengage"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DisengageParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "EngageParams": { + "title": "EngageParams", + "description": "Input data to engage a Magnetic Module.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "The ID of the Magnetic Module whose magnets you want to raise, from a prior `loadModule` command.", + "type": "string" + }, + "height": { + "title": "Height", + "description": "How high, in millimeters, to raise the magnets.\n\nZero means the tops of the magnets are level with the ledge that the labware rests on. This will be slightly above the magnets' minimum height, the hardware home position. Negative values are allowed, to put the magnets below the ledge.\n\nUnits are always true millimeters. This is unlike certain labware definitions, engage commands in the Python Protocol API, and engage commands in older versions of the JSON protocol schema. Take care to convert properly.", + "type": "number" + } + }, + "required": ["moduleId", "height"] + }, + "EngageCreate": { + "title": "EngageCreate", + "description": "A request to create a Magnetic Module engage command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "magneticModule/engage", + "enum": ["magneticModule/engage"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/EngageParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__temperature_module__set_target_temperature__SetTargetTemperatureParams": { + "title": "SetTargetTemperatureParams", + "description": "Input parameters to set a Temperature Module's target temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Temperature Module.", + "type": "string" + }, + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C.", + "type": "number" + } + }, + "required": ["moduleId", "celsius"] + }, + "opentrons__protocol_engine__commands__temperature_module__set_target_temperature__SetTargetTemperatureCreate": { + "title": "SetTargetTemperatureCreate", + "description": "A request to create a Temperature Module's set temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "temperatureModule/setTargetTemperature", + "enum": ["temperatureModule/setTargetTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__temperature_module__set_target_temperature__SetTargetTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__temperature_module__wait_for_temperature__WaitForTemperatureParams": { + "title": "WaitForTemperatureParams", + "description": "Input parameters to wait for a Temperature Module's target temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Temperature Module.", + "type": "string" + }, + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C. If not specified, will default to the module's target temperature. Specifying a celsius parameter other than the target temperature could lead to unpredictable behavior and hence is not recommended for use. This parameter can be removed in a future version without prior notice.", + "type": "number" + } + }, + "required": ["moduleId"] + }, + "opentrons__protocol_engine__commands__temperature_module__wait_for_temperature__WaitForTemperatureCreate": { + "title": "WaitForTemperatureCreate", + "description": "A request to create a Temperature Module's wait for temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "temperatureModule/waitForTemperature", + "enum": ["temperatureModule/waitForTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__temperature_module__wait_for_temperature__WaitForTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DeactivateTemperatureParams": { + "title": "DeactivateTemperatureParams", + "description": "Input parameters to deactivate a Temperature Module.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Temperature Module.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "DeactivateTemperatureCreate": { + "title": "DeactivateTemperatureCreate", + "description": "A request to deactivate a Temperature Module.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "temperatureModule/deactivate", + "enum": ["temperatureModule/deactivate"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DeactivateTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "SetTargetBlockTemperatureParams": { + "title": "SetTargetBlockTemperatureParams", + "description": "Input parameters to set a Thermocycler's target block temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler Module.", + "type": "string" + }, + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C.", + "type": "number" + }, + "blockMaxVolumeUl": { + "title": "Blockmaxvolumeul", + "description": "Amount of liquid in uL of the most-full well in labware loaded onto the thermocycler.", + "type": "number" + }, + "holdTimeSeconds": { + "title": "Holdtimeseconds", + "description": "Amount of time, in seconds, to hold the temperature for. If specified, a waitForBlockTemperature command will block until the given hold time has elapsed.", + "type": "number" + } + }, + "required": ["moduleId", "celsius"] + }, + "SetTargetBlockTemperatureCreate": { + "title": "SetTargetBlockTemperatureCreate", + "description": "A request to create a Thermocycler's set block temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/setTargetBlockTemperature", + "enum": ["thermocycler/setTargetBlockTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/SetTargetBlockTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "WaitForBlockTemperatureParams": { + "title": "WaitForBlockTemperatureParams", + "description": "Input parameters to wait for Thermocycler's target block temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler Module.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "WaitForBlockTemperatureCreate": { + "title": "WaitForBlockTemperatureCreate", + "description": "A request to create Thermocycler's wait for block temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/waitForBlockTemperature", + "enum": ["thermocycler/waitForBlockTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/WaitForBlockTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "SetTargetLidTemperatureParams": { + "title": "SetTargetLidTemperatureParams", + "description": "Input parameters to set a Thermocycler's target lid temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler Module.", + "type": "string" + }, + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C.", + "type": "number" + } + }, + "required": ["moduleId", "celsius"] + }, + "SetTargetLidTemperatureCreate": { + "title": "SetTargetLidTemperatureCreate", + "description": "A request to create a Thermocycler's set lid temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/setTargetLidTemperature", + "enum": ["thermocycler/setTargetLidTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/SetTargetLidTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "WaitForLidTemperatureParams": { + "title": "WaitForLidTemperatureParams", + "description": "Input parameters to wait for Thermocycler's lid temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler Module.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "WaitForLidTemperatureCreate": { + "title": "WaitForLidTemperatureCreate", + "description": "A request to create Thermocycler's wait for lid temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/waitForLidTemperature", + "enum": ["thermocycler/waitForLidTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/WaitForLidTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DeactivateBlockParams": { + "title": "DeactivateBlockParams", + "description": "Input parameters to unset a Thermocycler's target block temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "DeactivateBlockCreate": { + "title": "DeactivateBlockCreate", + "description": "A request to create a Thermocycler's deactivate block command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/deactivateBlock", + "enum": ["thermocycler/deactivateBlock"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DeactivateBlockParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DeactivateLidParams": { + "title": "DeactivateLidParams", + "description": "Input parameters to unset a Thermocycler's target lid temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "DeactivateLidCreate": { + "title": "DeactivateLidCreate", + "description": "A request to create a Thermocycler's deactivate lid command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/deactivateLid", + "enum": ["thermocycler/deactivateLid"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DeactivateLidParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__thermocycler__open_lid__OpenLidParams": { + "title": "OpenLidParams", + "description": "Input parameters to open a Thermocycler's lid.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "opentrons__protocol_engine__commands__thermocycler__open_lid__OpenLidCreate": { + "title": "OpenLidCreate", + "description": "A request to open a Thermocycler's lid.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/openLid", + "enum": ["thermocycler/openLid"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__thermocycler__open_lid__OpenLidParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__thermocycler__close_lid__CloseLidParams": { + "title": "CloseLidParams", + "description": "Input parameters to close a Thermocycler's lid.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "opentrons__protocol_engine__commands__thermocycler__close_lid__CloseLidCreate": { + "title": "CloseLidCreate", + "description": "A request to close a Thermocycler's lid.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/closeLid", + "enum": ["thermocycler/closeLid"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__thermocycler__close_lid__CloseLidParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "RunProfileStepParams": { + "title": "RunProfileStepParams", + "description": "Input parameters for an individual Thermocycler profile step.", + "type": "object", + "properties": { + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C.", + "type": "number" + }, + "holdSeconds": { + "title": "Holdseconds", + "description": "Time to hold target temperature at in seconds.", + "type": "number" + } + }, + "required": ["celsius", "holdSeconds"] + }, + "RunProfileParams": { + "title": "RunProfileParams", + "description": "Input parameters to run a Thermocycler profile.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler.", + "type": "string" + }, + "profile": { + "title": "Profile", + "description": "Array of profile steps with target temperature and temperature hold time.", + "type": "array", + "items": { + "$ref": "#/definitions/RunProfileStepParams" + } + }, + "blockMaxVolumeUl": { + "title": "Blockmaxvolumeul", + "description": "Amount of liquid in uL of the most-full well in labware loaded onto the thermocycler.", + "type": "number" + } + }, + "required": ["moduleId", "profile"] + }, + "RunProfileCreate": { + "title": "RunProfileCreate", + "description": "A request to execute a Thermocycler profile run.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/runProfile", + "enum": ["thermocycler/runProfile"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/RunProfileParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "ProfileStep": { + "title": "ProfileStep", + "description": "An individual step in a Thermocycler extended profile.", + "type": "object", + "properties": { + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C.", + "type": "number" + }, + "holdSeconds": { + "title": "Holdseconds", + "description": "Time to hold target temperature in seconds.", + "type": "number" + } + }, + "required": ["celsius", "holdSeconds"] + }, + "ProfileCycle": { + "title": "ProfileCycle", + "description": "An individual cycle in a Thermocycler extended profile.", + "type": "object", + "properties": { + "steps": { + "title": "Steps", + "description": "Steps to repeat.", + "type": "array", + "items": { + "$ref": "#/definitions/ProfileStep" + } + }, + "repetitions": { + "title": "Repetitions", + "description": "Number of times to repeat the steps.", + "type": "integer" + } + }, + "required": ["steps", "repetitions"] + }, + "RunExtendedProfileParams": { + "title": "RunExtendedProfileParams", + "description": "Input parameters for an individual Thermocycler profile step.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler.", + "type": "string" + }, + "profileElements": { + "title": "Profileelements", + "description": "Elements of the profile. Each can be either a step or a cycle.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/ProfileStep" + }, + { + "$ref": "#/definitions/ProfileCycle" + } + ] + } + }, + "blockMaxVolumeUl": { + "title": "Blockmaxvolumeul", + "description": "Amount of liquid in uL of the most-full well in labware loaded onto the thermocycler.", + "type": "number" + } + }, + "required": ["moduleId", "profileElements"] + }, + "RunExtendedProfileCreate": { + "title": "RunExtendedProfileCreate", + "description": "A request to execute a Thermocycler profile run.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/runExtendedProfile", + "enum": ["thermocycler/runExtendedProfile"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/RunExtendedProfileParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__absorbance_reader__close_lid__CloseLidParams": { + "title": "CloseLidParams", + "description": "Input parameters to close the lid on an absorbance reading.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the absorbance reader.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "opentrons__protocol_engine__commands__absorbance_reader__close_lid__CloseLidCreate": { + "title": "CloseLidCreate", + "description": "A request to execute an Absorbance Reader close lid command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "absorbanceReader/closeLid", + "enum": ["absorbanceReader/closeLid"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__absorbance_reader__close_lid__CloseLidParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__absorbance_reader__open_lid__OpenLidParams": { + "title": "OpenLidParams", + "description": "Input parameters to open the lid on an absorbance reading.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the absorbance reader.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "opentrons__protocol_engine__commands__absorbance_reader__open_lid__OpenLidCreate": { + "title": "OpenLidCreate", + "description": "A request to execute an Absorbance Reader open lid command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "absorbanceReader/openLid", + "enum": ["absorbanceReader/openLid"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__absorbance_reader__open_lid__OpenLidParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "InitializeParams": { + "title": "InitializeParams", + "description": "Input parameters to initialize an absorbance reading.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the absorbance reader.", + "type": "string" + }, + "measureMode": { + "title": "Measuremode", + "description": "Initialize single or multi measurement mode.", + "enum": ["single", "multi"], + "type": "string" + }, + "sampleWavelengths": { + "title": "Samplewavelengths", + "description": "Sample wavelengths in nm.", + "type": "array", + "items": { + "type": "integer" + } + }, + "referenceWavelength": { + "title": "Referencewavelength", + "description": "Optional reference wavelength in nm.", + "type": "integer" + } + }, + "required": ["moduleId", "measureMode", "sampleWavelengths"] + }, + "InitializeCreate": { + "title": "InitializeCreate", + "description": "A request to execute an Absorbance Reader measurement.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "absorbanceReader/initialize", + "enum": ["absorbanceReader/initialize"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/InitializeParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "ReadAbsorbanceParams": { + "title": "ReadAbsorbanceParams", + "description": "Input parameters for an absorbance reading.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Absorbance Reader.", + "type": "string" + }, + "fileName": { + "title": "Filename", + "description": "Optional file name to use when storing the results of a measurement.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "ReadAbsorbanceCreate": { + "title": "ReadAbsorbanceCreate", + "description": "A request to execute an Absorbance Reader measurement.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "absorbanceReader/read", + "enum": ["absorbanceReader/read"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/ReadAbsorbanceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "CalibrateGripperParamsJaw": { + "title": "CalibrateGripperParamsJaw", + "description": "An enumeration.", + "enum": ["front", "rear"] + }, + "Vec3f": { + "title": "Vec3f", + "description": "A 3D vector of floats.", + "type": "object", + "properties": { + "x": { + "title": "X", + "type": "number" + }, + "y": { + "title": "Y", + "type": "number" + }, + "z": { + "title": "Z", + "type": "number" + } + }, + "required": ["x", "y", "z"] + }, + "CalibrateGripperParams": { + "title": "CalibrateGripperParams", + "description": "Parameters for a `calibrateGripper` command.", + "type": "object", + "properties": { + "jaw": { + "description": "Which of the gripper's jaws to use to measure its offset. The robot will assume that a human operator has already attached the capacitive probe to the jaw and none is attached to the other jaw.", + "allOf": [ + { + "$ref": "#/definitions/CalibrateGripperParamsJaw" + } + ] + }, + "otherJawOffset": { + "title": "Otherjawoffset", + "description": "If an offset for the other probe is already found, then specifying it here will enable the CalibrateGripper command to complete the calibration process by calculating the total offset and saving it to disk. If this param is not specified then the command will only find and return the offset for the specified probe.", + "allOf": [ + { + "$ref": "#/definitions/Vec3f" + } + ] + } + }, + "required": ["jaw"] + }, + "CalibrateGripperCreate": { + "title": "CalibrateGripperCreate", + "description": "A request to create a `calibrateGripper` command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "calibration/calibrateGripper", + "enum": ["calibration/calibrateGripper"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/CalibrateGripperParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "CalibratePipetteParams": { + "title": "CalibratePipetteParams", + "description": "Payload required to calibrate-pipette.", + "type": "object", + "properties": { + "mount": { + "description": "Instrument mount to calibrate.", + "allOf": [ + { + "$ref": "#/definitions/MountType" + } + ] + } + }, + "required": ["mount"] + }, + "CalibratePipetteCreate": { + "title": "CalibratePipetteCreate", + "description": "Create calibrate-pipette command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "calibration/calibratePipette", + "enum": ["calibration/calibratePipette"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/CalibratePipetteParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "CalibrateModuleParams": { + "title": "CalibrateModuleParams", + "description": "Payload required to calibrate-module.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "The unique id of module to calibrate.", + "type": "string" + }, + "labwareId": { + "title": "Labwareid", + "description": "The unique id of module calibration adapter labware.", + "type": "string" + }, + "mount": { + "description": "The instrument mount used to calibrate the module.", + "allOf": [ + { + "$ref": "#/definitions/MountType" + } + ] + } + }, + "required": ["moduleId", "labwareId", "mount"] + }, + "CalibrateModuleCreate": { + "title": "CalibrateModuleCreate", + "description": "Create calibrate-module command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "calibration/calibrateModule", + "enum": ["calibration/calibrateModule"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/CalibrateModuleParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "MaintenancePosition": { + "title": "MaintenancePosition", + "description": "Maintenance position options.", + "enum": ["attachPlate", "attachInstrument"] + }, + "MoveToMaintenancePositionParams": { + "title": "MoveToMaintenancePositionParams", + "description": "Calibration set up position command parameters.", + "type": "object", + "properties": { + "mount": { + "description": "Gantry mount to move maintenance position.", + "allOf": [ + { + "$ref": "#/definitions/MountType" + } + ] + }, + "maintenancePosition": { + "description": "The position the gantry mount needs to move to.", + "default": "attachInstrument", + "allOf": [ + { + "$ref": "#/definitions/MaintenancePosition" + } + ] + } + }, + "required": ["mount"] + }, + "MoveToMaintenancePositionCreate": { + "title": "MoveToMaintenancePositionCreate", + "description": "Calibration set up position command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "calibration/moveToMaintenancePosition", + "enum": ["calibration/moveToMaintenancePosition"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveToMaintenancePositionParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "UnsafeBlowOutInPlaceParams": { + "title": "UnsafeBlowOutInPlaceParams", + "description": "Payload required to blow-out in place while position is unknown.", + "type": "object", + "properties": { + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["flowRate", "pipetteId"] + }, + "UnsafeBlowOutInPlaceCreate": { + "title": "UnsafeBlowOutInPlaceCreate", + "description": "UnsafeBlowOutInPlace command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "unsafe/blowOutInPlace", + "enum": ["unsafe/blowOutInPlace"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/UnsafeBlowOutInPlaceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "UnsafeDropTipInPlaceParams": { + "title": "UnsafeDropTipInPlaceParams", + "description": "Payload required to drop a tip in place even if the plunger position is not known.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "homeAfter": { + "title": "Homeafter", + "description": "Whether to home this pipette's plunger after dropping the tip. You should normally leave this unspecified to let the robot choose a safe default depending on its hardware.", + "type": "boolean" + } + }, + "required": ["pipetteId"] + }, + "UnsafeDropTipInPlaceCreate": { + "title": "UnsafeDropTipInPlaceCreate", + "description": "Drop tip in place command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "unsafe/dropTipInPlace", + "enum": ["unsafe/dropTipInPlace"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/UnsafeDropTipInPlaceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "UpdatePositionEstimatorsParams": { + "title": "UpdatePositionEstimatorsParams", + "description": "Payload required for an UpdatePositionEstimators command.", + "type": "object", + "properties": { + "axes": { + "description": "The axes for which to update the position estimators.", + "type": "array", + "items": { + "$ref": "#/definitions/MotorAxis" + } + } + }, + "required": ["axes"] + }, + "UpdatePositionEstimatorsCreate": { + "title": "UpdatePositionEstimatorsCreate", + "description": "UpdatePositionEstimators command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "unsafe/updatePositionEstimators", + "enum": ["unsafe/updatePositionEstimators"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/UpdatePositionEstimatorsParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "UnsafeEngageAxesParams": { + "title": "UnsafeEngageAxesParams", + "description": "Payload required for an UnsafeEngageAxes command.", + "type": "object", + "properties": { + "axes": { + "description": "The axes for which to enable.", + "type": "array", + "items": { + "$ref": "#/definitions/MotorAxis" + } + } + }, + "required": ["axes"] + }, + "UnsafeEngageAxesCreate": { + "title": "UnsafeEngageAxesCreate", + "description": "UnsafeEngageAxes command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "unsafe/engageAxes", + "enum": ["unsafe/engageAxes"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/UnsafeEngageAxesParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "UnsafeUngripLabwareParams": { + "title": "UnsafeUngripLabwareParams", + "description": "Payload required for an UngripLabware command.", + "type": "object", + "properties": {} + }, + "UnsafeUngripLabwareCreate": { + "title": "UnsafeUngripLabwareCreate", + "description": "UnsafeEngageAxes command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "unsafe/ungripLabware", + "enum": ["unsafe/ungripLabware"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/UnsafeUngripLabwareParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "UnsafePlaceLabwareParams": { + "title": "UnsafePlaceLabwareParams", + "description": "Payload required for an UnsafePlaceLabware command.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "The id of the labware to place.", + "type": "string" + }, + "location": { + "title": "Location", + "description": "Where to place the labware.", + "anyOf": [ + { + "$ref": "#/definitions/DeckSlotLocation" + }, + { + "$ref": "#/definitions/ModuleLocation" + }, + { + "$ref": "#/definitions/OnLabwareLocation" + }, + { + "$ref": "#/definitions/AddressableAreaLocation" + } + ] + } + }, + "required": ["labwareId", "location"] + }, + "UnsafePlaceLabwareCreate": { + "title": "UnsafePlaceLabwareCreate", + "description": "UnsafePlaceLabware command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "unsafe/placeLabware", + "enum": ["unsafe/placeLabware"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/UnsafePlaceLabwareParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + } + }, + "$id": "opentronsCommandSchemaV10", + "$schema": "http://json-schema.org/draft-07/schema#" +} diff --git a/shared-data/command/schemas/11.json b/shared-data/command/schemas/11.json new file mode 100644 index 00000000000..6544a1242a6 --- /dev/null +++ b/shared-data/command/schemas/11.json @@ -0,0 +1,5062 @@ +{ + "title": "CreateCommandUnion", + "description": "Model that validates a union of all CommandCreate models.", + "discriminator": { + "propertyName": "commandType", + "mapping": { + "airGapInPlace": "#/definitions/AirGapInPlaceCreate", + "aspirate": "#/definitions/AspirateCreate", + "aspirateInPlace": "#/definitions/AspirateInPlaceCreate", + "comment": "#/definitions/CommentCreate", + "configureForVolume": "#/definitions/ConfigureForVolumeCreate", + "configureNozzleLayout": "#/definitions/ConfigureNozzleLayoutCreate", + "custom": "#/definitions/CustomCreate", + "dispense": "#/definitions/DispenseCreate", + "dispenseInPlace": "#/definitions/DispenseInPlaceCreate", + "blowout": "#/definitions/BlowOutCreate", + "blowOutInPlace": "#/definitions/BlowOutInPlaceCreate", + "dropTip": "#/definitions/DropTipCreate", + "dropTipInPlace": "#/definitions/DropTipInPlaceCreate", + "home": "#/definitions/HomeCreate", + "retractAxis": "#/definitions/RetractAxisCreate", + "loadLabware": "#/definitions/LoadLabwareCreate", + "reloadLabware": "#/definitions/ReloadLabwareCreate", + "loadLiquid": "#/definitions/LoadLiquidCreate", + "loadModule": "#/definitions/LoadModuleCreate", + "loadPipette": "#/definitions/LoadPipetteCreate", + "moveLabware": "#/definitions/MoveLabwareCreate", + "moveRelative": "#/definitions/MoveRelativeCreate", + "moveToCoordinates": "#/definitions/MoveToCoordinatesCreate", + "moveToWell": "#/definitions/MoveToWellCreate", + "moveToAddressableArea": "#/definitions/MoveToAddressableAreaCreate", + "moveToAddressableAreaForDropTip": "#/definitions/MoveToAddressableAreaForDropTipCreate", + "prepareToAspirate": "#/definitions/PrepareToAspirateCreate", + "waitForResume": "#/definitions/WaitForResumeCreate", + "pause": "#/definitions/WaitForResumeCreate", + "waitForDuration": "#/definitions/WaitForDurationCreate", + "pickUpTip": "#/definitions/PickUpTipCreate", + "savePosition": "#/definitions/SavePositionCreate", + "setRailLights": "#/definitions/SetRailLightsCreate", + "touchTip": "#/definitions/TouchTipCreate", + "setStatusBar": "#/definitions/SetStatusBarCreate", + "verifyTipPresence": "#/definitions/VerifyTipPresenceCreate", + "getTipPresence": "#/definitions/GetTipPresenceCreate", + "liquidProbe": "#/definitions/LiquidProbeCreate", + "tryLiquidProbe": "#/definitions/TryLiquidProbeCreate", + "heaterShaker/waitForTemperature": "#/definitions/opentrons__protocol_engine__commands__heater_shaker__wait_for_temperature__WaitForTemperatureCreate", + "heaterShaker/setTargetTemperature": "#/definitions/opentrons__protocol_engine__commands__heater_shaker__set_target_temperature__SetTargetTemperatureCreate", + "heaterShaker/deactivateHeater": "#/definitions/DeactivateHeaterCreate", + "heaterShaker/setAndWaitForShakeSpeed": "#/definitions/SetAndWaitForShakeSpeedCreate", + "heaterShaker/deactivateShaker": "#/definitions/DeactivateShakerCreate", + "heaterShaker/openLabwareLatch": "#/definitions/OpenLabwareLatchCreate", + "heaterShaker/closeLabwareLatch": "#/definitions/CloseLabwareLatchCreate", + "magneticModule/disengage": "#/definitions/DisengageCreate", + "magneticModule/engage": "#/definitions/EngageCreate", + "temperatureModule/setTargetTemperature": "#/definitions/opentrons__protocol_engine__commands__temperature_module__set_target_temperature__SetTargetTemperatureCreate", + "temperatureModule/waitForTemperature": "#/definitions/opentrons__protocol_engine__commands__temperature_module__wait_for_temperature__WaitForTemperatureCreate", + "temperatureModule/deactivate": "#/definitions/DeactivateTemperatureCreate", + "thermocycler/setTargetBlockTemperature": "#/definitions/SetTargetBlockTemperatureCreate", + "thermocycler/waitForBlockTemperature": "#/definitions/WaitForBlockTemperatureCreate", + "thermocycler/setTargetLidTemperature": "#/definitions/SetTargetLidTemperatureCreate", + "thermocycler/waitForLidTemperature": "#/definitions/WaitForLidTemperatureCreate", + "thermocycler/deactivateBlock": "#/definitions/DeactivateBlockCreate", + "thermocycler/deactivateLid": "#/definitions/DeactivateLidCreate", + "thermocycler/openLid": "#/definitions/opentrons__protocol_engine__commands__thermocycler__open_lid__OpenLidCreate", + "thermocycler/closeLid": "#/definitions/opentrons__protocol_engine__commands__thermocycler__close_lid__CloseLidCreate", + "thermocycler/runProfile": "#/definitions/RunProfileCreate", + "thermocycler/runExtendedProfile": "#/definitions/RunExtendedProfileCreate", + "absorbanceReader/closeLid": "#/definitions/opentrons__protocol_engine__commands__absorbance_reader__close_lid__CloseLidCreate", + "absorbanceReader/openLid": "#/definitions/opentrons__protocol_engine__commands__absorbance_reader__open_lid__OpenLidCreate", + "absorbanceReader/initialize": "#/definitions/InitializeCreate", + "absorbanceReader/read": "#/definitions/ReadAbsorbanceCreate", + "calibration/calibrateGripper": "#/definitions/CalibrateGripperCreate", + "calibration/calibratePipette": "#/definitions/CalibratePipetteCreate", + "calibration/calibrateModule": "#/definitions/CalibrateModuleCreate", + "calibration/moveToMaintenancePosition": "#/definitions/MoveToMaintenancePositionCreate", + "unsafe/blowOutInPlace": "#/definitions/UnsafeBlowOutInPlaceCreate", + "unsafe/dropTipInPlace": "#/definitions/UnsafeDropTipInPlaceCreate", + "unsafe/updatePositionEstimators": "#/definitions/UpdatePositionEstimatorsCreate", + "unsafe/engageAxes": "#/definitions/UnsafeEngageAxesCreate", + "unsafe/ungripLabware": "#/definitions/UnsafeUngripLabwareCreate", + "unsafe/placeLabware": "#/definitions/UnsafePlaceLabwareCreate", + "robot/moveAxesRelative": "#/definitions/MoveAxesRelativeCreate", + "robot/moveAxesTo": "#/definitions/MoveAxesToCreate", + "robot/moveTo": "#/definitions/MoveToCreate" + } + }, + "oneOf": [ + { + "$ref": "#/definitions/AirGapInPlaceCreate" + }, + { + "$ref": "#/definitions/AspirateCreate" + }, + { + "$ref": "#/definitions/AspirateInPlaceCreate" + }, + { + "$ref": "#/definitions/CommentCreate" + }, + { + "$ref": "#/definitions/ConfigureForVolumeCreate" + }, + { + "$ref": "#/definitions/ConfigureNozzleLayoutCreate" + }, + { + "$ref": "#/definitions/CustomCreate" + }, + { + "$ref": "#/definitions/DispenseCreate" + }, + { + "$ref": "#/definitions/DispenseInPlaceCreate" + }, + { + "$ref": "#/definitions/BlowOutCreate" + }, + { + "$ref": "#/definitions/BlowOutInPlaceCreate" + }, + { + "$ref": "#/definitions/DropTipCreate" + }, + { + "$ref": "#/definitions/DropTipInPlaceCreate" + }, + { + "$ref": "#/definitions/HomeCreate" + }, + { + "$ref": "#/definitions/RetractAxisCreate" + }, + { + "$ref": "#/definitions/LoadLabwareCreate" + }, + { + "$ref": "#/definitions/ReloadLabwareCreate" + }, + { + "$ref": "#/definitions/LoadLiquidCreate" + }, + { + "$ref": "#/definitions/LoadModuleCreate" + }, + { + "$ref": "#/definitions/LoadPipetteCreate" + }, + { + "$ref": "#/definitions/MoveLabwareCreate" + }, + { + "$ref": "#/definitions/MoveRelativeCreate" + }, + { + "$ref": "#/definitions/MoveToCoordinatesCreate" + }, + { + "$ref": "#/definitions/MoveToWellCreate" + }, + { + "$ref": "#/definitions/MoveToAddressableAreaCreate" + }, + { + "$ref": "#/definitions/MoveToAddressableAreaForDropTipCreate" + }, + { + "$ref": "#/definitions/PrepareToAspirateCreate" + }, + { + "$ref": "#/definitions/WaitForResumeCreate" + }, + { + "$ref": "#/definitions/WaitForDurationCreate" + }, + { + "$ref": "#/definitions/PickUpTipCreate" + }, + { + "$ref": "#/definitions/SavePositionCreate" + }, + { + "$ref": "#/definitions/SetRailLightsCreate" + }, + { + "$ref": "#/definitions/TouchTipCreate" + }, + { + "$ref": "#/definitions/SetStatusBarCreate" + }, + { + "$ref": "#/definitions/VerifyTipPresenceCreate" + }, + { + "$ref": "#/definitions/GetTipPresenceCreate" + }, + { + "$ref": "#/definitions/LiquidProbeCreate" + }, + { + "$ref": "#/definitions/TryLiquidProbeCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__heater_shaker__wait_for_temperature__WaitForTemperatureCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__heater_shaker__set_target_temperature__SetTargetTemperatureCreate" + }, + { + "$ref": "#/definitions/DeactivateHeaterCreate" + }, + { + "$ref": "#/definitions/SetAndWaitForShakeSpeedCreate" + }, + { + "$ref": "#/definitions/DeactivateShakerCreate" + }, + { + "$ref": "#/definitions/OpenLabwareLatchCreate" + }, + { + "$ref": "#/definitions/CloseLabwareLatchCreate" + }, + { + "$ref": "#/definitions/DisengageCreate" + }, + { + "$ref": "#/definitions/EngageCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__temperature_module__set_target_temperature__SetTargetTemperatureCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__temperature_module__wait_for_temperature__WaitForTemperatureCreate" + }, + { + "$ref": "#/definitions/DeactivateTemperatureCreate" + }, + { + "$ref": "#/definitions/SetTargetBlockTemperatureCreate" + }, + { + "$ref": "#/definitions/WaitForBlockTemperatureCreate" + }, + { + "$ref": "#/definitions/SetTargetLidTemperatureCreate" + }, + { + "$ref": "#/definitions/WaitForLidTemperatureCreate" + }, + { + "$ref": "#/definitions/DeactivateBlockCreate" + }, + { + "$ref": "#/definitions/DeactivateLidCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__thermocycler__open_lid__OpenLidCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__thermocycler__close_lid__CloseLidCreate" + }, + { + "$ref": "#/definitions/RunProfileCreate" + }, + { + "$ref": "#/definitions/RunExtendedProfileCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__absorbance_reader__close_lid__CloseLidCreate" + }, + { + "$ref": "#/definitions/opentrons__protocol_engine__commands__absorbance_reader__open_lid__OpenLidCreate" + }, + { + "$ref": "#/definitions/InitializeCreate" + }, + { + "$ref": "#/definitions/ReadAbsorbanceCreate" + }, + { + "$ref": "#/definitions/CalibrateGripperCreate" + }, + { + "$ref": "#/definitions/CalibratePipetteCreate" + }, + { + "$ref": "#/definitions/CalibrateModuleCreate" + }, + { + "$ref": "#/definitions/MoveToMaintenancePositionCreate" + }, + { + "$ref": "#/definitions/UnsafeBlowOutInPlaceCreate" + }, + { + "$ref": "#/definitions/UnsafeDropTipInPlaceCreate" + }, + { + "$ref": "#/definitions/UpdatePositionEstimatorsCreate" + }, + { + "$ref": "#/definitions/UnsafeEngageAxesCreate" + }, + { + "$ref": "#/definitions/UnsafeUngripLabwareCreate" + }, + { + "$ref": "#/definitions/UnsafePlaceLabwareCreate" + }, + { + "$ref": "#/definitions/MoveAxesRelativeCreate" + }, + { + "$ref": "#/definitions/MoveAxesToCreate" + }, + { + "$ref": "#/definitions/MoveToCreate" + } + ], + "definitions": { + "AirGapInPlaceParams": { + "title": "AirGapInPlaceParams", + "description": "Payload required to air gap in place.", + "type": "object", + "properties": { + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "volume": { + "title": "Volume", + "description": "The amount of liquid to aspirate, in \u00b5L. Must not be greater than the remaining available amount, which depends on the pipette (see `loadPipette`), its configuration (see `configureForVolume`), the tip (see `pickUpTip`), and the amount you've aspirated so far. There is some tolerance for floating point rounding errors.", + "minimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["flowRate", "volume", "pipetteId"] + }, + "CommandIntent": { + "title": "CommandIntent", + "description": "Run intent for a given command.\n\nProps:\n PROTOCOL: the command is part of the protocol run itself.\n SETUP: the command is part of the setup phase of a run.", + "enum": ["protocol", "setup", "fixit"], + "type": "string" + }, + "AirGapInPlaceCreate": { + "title": "AirGapInPlaceCreate", + "description": "AirGapInPlace command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "airGapInPlace", + "enum": ["airGapInPlace"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/AirGapInPlaceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "WellOrigin": { + "title": "WellOrigin", + "description": "Origin of WellLocation offset.\n\nProps:\n TOP: the top-center of the well\n BOTTOM: the bottom-center of the well\n CENTER: the middle-center of the well\n MENISCUS: the meniscus-center of the well", + "enum": ["top", "bottom", "center", "meniscus"], + "type": "string" + }, + "WellOffset": { + "title": "WellOffset", + "description": "An offset vector in (x, y, z).", + "type": "object", + "properties": { + "x": { + "title": "X", + "default": 0, + "type": "number" + }, + "y": { + "title": "Y", + "default": 0, + "type": "number" + }, + "z": { + "title": "Z", + "default": 0, + "type": "number" + } + } + }, + "LiquidHandlingWellLocation": { + "title": "LiquidHandlingWellLocation", + "description": "A relative location in reference to a well's location.\n\nTo be used with commands that handle liquids.", + "type": "object", + "properties": { + "origin": { + "default": "top", + "allOf": [ + { + "$ref": "#/definitions/WellOrigin" + } + ] + }, + "offset": { + "$ref": "#/definitions/WellOffset" + }, + "volumeOffset": { + "title": "Volumeoffset", + "description": "A volume of liquid, in \u00b5L, to offset the z-axis offset. When \"operationVolume\" is specified, this volume is pulled from the command volume parameter.", + "default": 0.0, + "anyOf": [ + { + "type": "number" + }, + { + "enum": ["operationVolume"], + "type": "string" + } + ] + } + } + }, + "AspirateParams": { + "title": "AspirateParams", + "description": "Parameters required to aspirate from a specific well.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to perform the operation", + "allOf": [ + { + "$ref": "#/definitions/LiquidHandlingWellLocation" + } + ] + }, + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "volume": { + "title": "Volume", + "description": "The amount of liquid to aspirate, in \u00b5L. Must not be greater than the remaining available amount, which depends on the pipette (see `loadPipette`), its configuration (see `configureForVolume`), the tip (see `pickUpTip`), and the amount you've aspirated so far. There is some tolerance for floating point rounding errors.", + "minimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["labwareId", "wellName", "flowRate", "volume", "pipetteId"] + }, + "AspirateCreate": { + "title": "AspirateCreate", + "description": "Create aspirate command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "aspirate", + "enum": ["aspirate"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/AspirateParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "AspirateInPlaceParams": { + "title": "AspirateInPlaceParams", + "description": "Payload required to aspirate in place.", + "type": "object", + "properties": { + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "volume": { + "title": "Volume", + "description": "The amount of liquid to aspirate, in \u00b5L. Must not be greater than the remaining available amount, which depends on the pipette (see `loadPipette`), its configuration (see `configureForVolume`), the tip (see `pickUpTip`), and the amount you've aspirated so far. There is some tolerance for floating point rounding errors.", + "minimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["flowRate", "volume", "pipetteId"] + }, + "AspirateInPlaceCreate": { + "title": "AspirateInPlaceCreate", + "description": "AspirateInPlace command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "aspirateInPlace", + "enum": ["aspirateInPlace"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/AspirateInPlaceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "CommentParams": { + "title": "CommentParams", + "description": "Payload required to annotate execution with a comment.", + "type": "object", + "properties": { + "message": { + "title": "Message", + "description": "A user-facing message", + "type": "string" + } + }, + "required": ["message"] + }, + "CommentCreate": { + "title": "CommentCreate", + "description": "Comment command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "comment", + "enum": ["comment"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/CommentParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "ConfigureForVolumeParams": { + "title": "ConfigureForVolumeParams", + "description": "Parameters required to configure volume for a specific pipette.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "volume": { + "title": "Volume", + "description": "Amount of liquid in uL. Must be at least 0 and no greater than a pipette-specific maximum volume.", + "minimum": 0, + "type": "number" + }, + "tipOverlapNotAfterVersion": { + "title": "Tipoverlapnotafterversion", + "description": "A version of tip overlap data to not exceed. The highest-versioned tip overlap data that does not exceed this version will be used. Versions are expressed as vN where N is an integer, counting up from v0. If None, the current highest version will be used.", + "type": "string" + } + }, + "required": ["pipetteId", "volume"] + }, + "ConfigureForVolumeCreate": { + "title": "ConfigureForVolumeCreate", + "description": "Configure for volume command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "configureForVolume", + "enum": ["configureForVolume"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/ConfigureForVolumeParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "AllNozzleLayoutConfiguration": { + "title": "AllNozzleLayoutConfiguration", + "description": "All basemodel to represent a reset to the nozzle configuration. Sending no parameters resets to default.", + "type": "object", + "properties": { + "style": { + "title": "Style", + "default": "ALL", + "enum": ["ALL"], + "type": "string" + } + } + }, + "SingleNozzleLayoutConfiguration": { + "title": "SingleNozzleLayoutConfiguration", + "description": "Minimum information required for a new nozzle configuration.", + "type": "object", + "properties": { + "style": { + "title": "Style", + "default": "SINGLE", + "enum": ["SINGLE"], + "type": "string" + }, + "primaryNozzle": { + "title": "Primarynozzle", + "description": "The primary nozzle to use in the layout configuration. This nozzle will update the critical point of the current pipette. For now, this is also the back left corner of your rectangle.", + "enum": ["A1", "H1", "A12", "H12"], + "type": "string" + } + }, + "required": ["primaryNozzle"] + }, + "RowNozzleLayoutConfiguration": { + "title": "RowNozzleLayoutConfiguration", + "description": "Minimum information required for a new nozzle configuration.", + "type": "object", + "properties": { + "style": { + "title": "Style", + "default": "ROW", + "enum": ["ROW"], + "type": "string" + }, + "primaryNozzle": { + "title": "Primarynozzle", + "description": "The primary nozzle to use in the layout configuration. This nozzle will update the critical point of the current pipette. For now, this is also the back left corner of your rectangle.", + "enum": ["A1", "H1", "A12", "H12"], + "type": "string" + } + }, + "required": ["primaryNozzle"] + }, + "ColumnNozzleLayoutConfiguration": { + "title": "ColumnNozzleLayoutConfiguration", + "description": "Information required for nozzle configurations of type ROW and COLUMN.", + "type": "object", + "properties": { + "style": { + "title": "Style", + "default": "COLUMN", + "enum": ["COLUMN"], + "type": "string" + }, + "primaryNozzle": { + "title": "Primarynozzle", + "description": "The primary nozzle to use in the layout configuration. This nozzle will update the critical point of the current pipette. For now, this is also the back left corner of your rectangle.", + "enum": ["A1", "H1", "A12", "H12"], + "type": "string" + } + }, + "required": ["primaryNozzle"] + }, + "QuadrantNozzleLayoutConfiguration": { + "title": "QuadrantNozzleLayoutConfiguration", + "description": "Information required for nozzle configurations of type QUADRANT.", + "type": "object", + "properties": { + "style": { + "title": "Style", + "default": "QUADRANT", + "enum": ["QUADRANT"], + "type": "string" + }, + "primaryNozzle": { + "title": "Primarynozzle", + "description": "The primary nozzle to use in the layout configuration. This nozzle will update the critical point of the current pipette. For now, this is also the back left corner of your rectangle.", + "enum": ["A1", "H1", "A12", "H12"], + "type": "string" + }, + "frontRightNozzle": { + "title": "Frontrightnozzle", + "description": "The front right nozzle in your configuration.", + "pattern": "[A-Z]\\d{1,2}", + "type": "string" + }, + "backLeftNozzle": { + "title": "Backleftnozzle", + "description": "The back left nozzle in your configuration.", + "pattern": "[A-Z]\\d{1,2}", + "type": "string" + } + }, + "required": ["primaryNozzle", "frontRightNozzle", "backLeftNozzle"] + }, + "ConfigureNozzleLayoutParams": { + "title": "ConfigureNozzleLayoutParams", + "description": "Parameters required to configure the nozzle layout for a specific pipette.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "configurationParams": { + "title": "Configurationparams", + "anyOf": [ + { + "$ref": "#/definitions/AllNozzleLayoutConfiguration" + }, + { + "$ref": "#/definitions/SingleNozzleLayoutConfiguration" + }, + { + "$ref": "#/definitions/RowNozzleLayoutConfiguration" + }, + { + "$ref": "#/definitions/ColumnNozzleLayoutConfiguration" + }, + { + "$ref": "#/definitions/QuadrantNozzleLayoutConfiguration" + } + ] + } + }, + "required": ["pipetteId", "configurationParams"] + }, + "ConfigureNozzleLayoutCreate": { + "title": "ConfigureNozzleLayoutCreate", + "description": "Configure nozzle layout creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "configureNozzleLayout", + "enum": ["configureNozzleLayout"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/ConfigureNozzleLayoutParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "CustomParams": { + "title": "CustomParams", + "description": "Payload used by a custom command.", + "type": "object", + "properties": {} + }, + "CustomCreate": { + "title": "CustomCreate", + "description": "A request to create a custom command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "custom", + "enum": ["custom"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/CustomParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DispenseParams": { + "title": "DispenseParams", + "description": "Payload required to dispense to a specific well.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to perform the operation", + "allOf": [ + { + "$ref": "#/definitions/LiquidHandlingWellLocation" + } + ] + }, + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "volume": { + "title": "Volume", + "description": "The amount of liquid to dispense, in \u00b5L. Must not be greater than the currently aspirated volume. There is some tolerance for floating point rounding errors.", + "minimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "pushOut": { + "title": "Pushout", + "description": "push the plunger a small amount farther than necessary for accurate low-volume dispensing", + "type": "number" + } + }, + "required": ["labwareId", "wellName", "flowRate", "volume", "pipetteId"] + }, + "DispenseCreate": { + "title": "DispenseCreate", + "description": "Create dispense command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "dispense", + "enum": ["dispense"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DispenseParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DispenseInPlaceParams": { + "title": "DispenseInPlaceParams", + "description": "Payload required to dispense in place.", + "type": "object", + "properties": { + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "volume": { + "title": "Volume", + "description": "The amount of liquid to dispense, in \u00b5L. Must not be greater than the currently aspirated volume. There is some tolerance for floating point rounding errors.", + "minimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "pushOut": { + "title": "Pushout", + "description": "push the plunger a small amount farther than necessary for accurate low-volume dispensing", + "type": "number" + } + }, + "required": ["flowRate", "volume", "pipetteId"] + }, + "DispenseInPlaceCreate": { + "title": "DispenseInPlaceCreate", + "description": "DispenseInPlace command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "dispenseInPlace", + "enum": ["dispenseInPlace"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DispenseInPlaceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "WellLocation": { + "title": "WellLocation", + "description": "A relative location in reference to a well's location.", + "type": "object", + "properties": { + "origin": { + "default": "top", + "allOf": [ + { + "$ref": "#/definitions/WellOrigin" + } + ] + }, + "offset": { + "$ref": "#/definitions/WellOffset" + }, + "volumeOffset": { + "title": "Volumeoffset", + "description": "A volume of liquid, in \u00b5L, to offset the z-axis offset.", + "default": 0.0, + "type": "number" + } + } + }, + "BlowOutParams": { + "title": "BlowOutParams", + "description": "Payload required to blow-out a specific well.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to perform the operation", + "allOf": [ + { + "$ref": "#/definitions/WellLocation" + } + ] + }, + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["labwareId", "wellName", "flowRate", "pipetteId"] + }, + "BlowOutCreate": { + "title": "BlowOutCreate", + "description": "Create blow-out command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "blowout", + "enum": ["blowout"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/BlowOutParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "BlowOutInPlaceParams": { + "title": "BlowOutInPlaceParams", + "description": "Payload required to blow-out in place.", + "type": "object", + "properties": { + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["flowRate", "pipetteId"] + }, + "BlowOutInPlaceCreate": { + "title": "BlowOutInPlaceCreate", + "description": "BlowOutInPlace command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "blowOutInPlace", + "enum": ["blowOutInPlace"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/BlowOutInPlaceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DropTipWellOrigin": { + "title": "DropTipWellOrigin", + "description": "The origin of a DropTipWellLocation offset.\n\nProps:\n TOP: the top-center of the well\n BOTTOM: the bottom-center of the well\n CENTER: the middle-center of the well\n DEFAULT: the default drop-tip location of the well,\n based on pipette configuration and length of the tip.", + "enum": ["top", "bottom", "center", "default"], + "type": "string" + }, + "DropTipWellLocation": { + "title": "DropTipWellLocation", + "description": "Like WellLocation, but for dropping tips.\n\nUnlike a typical WellLocation, the location for a drop tip\ndefaults to location based on the tip length rather than the well's top.", + "type": "object", + "properties": { + "origin": { + "default": "default", + "allOf": [ + { + "$ref": "#/definitions/DropTipWellOrigin" + } + ] + }, + "offset": { + "$ref": "#/definitions/WellOffset" + } + } + }, + "DropTipParams": { + "title": "DropTipParams", + "description": "Payload required to drop a tip in a specific well.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to drop the tip.", + "allOf": [ + { + "$ref": "#/definitions/DropTipWellLocation" + } + ] + }, + "homeAfter": { + "title": "Homeafter", + "description": "Whether to home this pipette's plunger after dropping the tip. You should normally leave this unspecified to let the robot choose a safe default depending on its hardware.", + "type": "boolean" + }, + "alternateDropLocation": { + "title": "Alternatedroplocation", + "description": "Whether to alternate location where tip is dropped within the labware. If True, this command will ignore the wellLocation provided and alternate between dropping tips at two predetermined locations inside the specified labware well. If False, the tip will be dropped at the top center of the well.", + "default": false, + "type": "boolean" + } + }, + "required": ["pipetteId", "labwareId", "wellName"] + }, + "DropTipCreate": { + "title": "DropTipCreate", + "description": "Drop tip command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "dropTip", + "enum": ["dropTip"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DropTipParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DropTipInPlaceParams": { + "title": "DropTipInPlaceParams", + "description": "Payload required to drop a tip in place.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "homeAfter": { + "title": "Homeafter", + "description": "Whether to home this pipette's plunger after dropping the tip. You should normally leave this unspecified to let the robot choose a safe default depending on its hardware.", + "type": "boolean" + } + }, + "required": ["pipetteId"] + }, + "DropTipInPlaceCreate": { + "title": "DropTipInPlaceCreate", + "description": "Drop tip in place command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "dropTipInPlace", + "enum": ["dropTipInPlace"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DropTipInPlaceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "MotorAxis": { + "title": "MotorAxis", + "description": "Motor axis on which to issue a home command.", + "enum": [ + "x", + "y", + "leftZ", + "rightZ", + "leftPlunger", + "rightPlunger", + "extensionZ", + "extensionJaw", + "axis96ChannelCam" + ], + "type": "string" + }, + "MountType": { + "title": "MountType", + "description": "An enumeration.", + "enum": ["left", "right", "extension"], + "type": "string" + }, + "HomeParams": { + "title": "HomeParams", + "description": "Payload required for a Home command.", + "type": "object", + "properties": { + "axes": { + "description": "Axes to return to their home positions. If omitted, will home all motors. Extra axes may be implicitly homed to ensure accurate homing of the explicitly specified axes.", + "type": "array", + "items": { + "$ref": "#/definitions/MotorAxis" + } + }, + "skipIfMountPositionOk": { + "description": "If this parameter is provided, the gantry will only be homed if the specified mount has an invalid position. If omitted, the homing action will be executed unconditionally.", + "allOf": [ + { + "$ref": "#/definitions/MountType" + } + ] + } + } + }, + "HomeCreate": { + "title": "HomeCreate", + "description": "Data to create a Home command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "home", + "enum": ["home"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/HomeParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "RetractAxisParams": { + "title": "RetractAxisParams", + "description": "Payload required for a Retract Axis command.", + "type": "object", + "properties": { + "axis": { + "description": "Axis to retract to its home position as quickly as safely possible. The difference between retracting an axis and homing an axis using the home command is that a home will always probe the limit switch and will work as the first motion command a robot will need to execute; On the other hand, retraction will rely on this previously determined home position to move to it as fast as safely possible. So on the Flex, it will move (fast) the axis to the previously recorded home position and on the OT2, it will move (fast) the axis a safe distance from the previously recorded home position, and then slowly approach the limit switch.", + "allOf": [ + { + "$ref": "#/definitions/MotorAxis" + } + ] + } + }, + "required": ["axis"] + }, + "RetractAxisCreate": { + "title": "RetractAxisCreate", + "description": "Data to create a Retract Axis command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "retractAxis", + "enum": ["retractAxis"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/RetractAxisParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DeckSlotName": { + "title": "DeckSlotName", + "description": "Deck slot identifiers.", + "enum": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "A1", + "A2", + "A3", + "B1", + "B2", + "B3", + "C1", + "C2", + "C3", + "D1", + "D2", + "D3" + ] + }, + "DeckSlotLocation": { + "title": "DeckSlotLocation", + "description": "The location of something placed in a single deck slot.", + "type": "object", + "properties": { + "slotName": { + "description": "A slot on the robot's deck.\n\nThe plain numbers like `\"5\"` are for the OT-2, and the coordinates like `\"C2\"` are for the Flex.\n\nWhen you provide one of these values, you can use either style. It will automatically be converted to match the robot.\n\nWhen one of these values is returned, it will always match the robot.", + "allOf": [ + { + "$ref": "#/definitions/DeckSlotName" + } + ] + } + }, + "required": ["slotName"] + }, + "ModuleLocation": { + "title": "ModuleLocation", + "description": "The location of something placed atop a hardware module.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "The ID of a loaded module from a prior `loadModule` command.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "OnLabwareLocation": { + "title": "OnLabwareLocation", + "description": "The location of something placed atop another labware.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "The ID of a loaded Labware from a prior `loadLabware` command.", + "type": "string" + } + }, + "required": ["labwareId"] + }, + "AddressableAreaLocation": { + "title": "AddressableAreaLocation", + "description": "The location of something place in an addressable area. This is a superset of deck slots.", + "type": "object", + "properties": { + "addressableAreaName": { + "title": "Addressableareaname", + "description": "The name of the addressable area that you want to use. Valid values are the `id`s of `addressableArea`s in the [deck definition](https://github.com/Opentrons/opentrons/tree/edge/shared-data/deck).", + "type": "string" + } + }, + "required": ["addressableAreaName"] + }, + "LoadLabwareParams": { + "title": "LoadLabwareParams", + "description": "Payload required to load a labware into a slot.", + "type": "object", + "properties": { + "location": { + "title": "Location", + "description": "Location the labware should be loaded into.", + "anyOf": [ + { + "$ref": "#/definitions/DeckSlotLocation" + }, + { + "$ref": "#/definitions/ModuleLocation" + }, + { + "$ref": "#/definitions/OnLabwareLocation" + }, + { + "enum": ["offDeck"], + "type": "string" + }, + { + "$ref": "#/definitions/AddressableAreaLocation" + } + ] + }, + "loadName": { + "title": "Loadname", + "description": "Name used to reference a labware definition.", + "type": "string" + }, + "namespace": { + "title": "Namespace", + "description": "The namespace the labware definition belongs to.", + "type": "string" + }, + "version": { + "title": "Version", + "description": "The labware definition version.", + "type": "integer" + }, + "labwareId": { + "title": "Labwareid", + "description": "An optional ID to assign to this labware. If None, an ID will be generated.", + "type": "string" + }, + "displayName": { + "title": "Displayname", + "description": "An optional user-specified display name or label for this labware.", + "type": "string" + } + }, + "required": ["location", "loadName", "namespace", "version"] + }, + "LoadLabwareCreate": { + "title": "LoadLabwareCreate", + "description": "Load labware command creation request.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "loadLabware", + "enum": ["loadLabware"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/LoadLabwareParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "ReloadLabwareParams": { + "title": "ReloadLabwareParams", + "description": "Payload required to load a labware into a slot.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "The already-loaded labware instance to update.", + "type": "string" + } + }, + "required": ["labwareId"] + }, + "ReloadLabwareCreate": { + "title": "ReloadLabwareCreate", + "description": "Reload labware command creation request.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "reloadLabware", + "enum": ["reloadLabware"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/ReloadLabwareParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "LoadLiquidParams": { + "title": "LoadLiquidParams", + "description": "Payload required to load a liquid into a well.", + "type": "object", + "properties": { + "liquidId": { + "title": "Liquidid", + "description": "Unique identifier of the liquid to load. If this is the sentinel value EMPTY, all values of volumeByWell must be 0.", + "anyOf": [ + { + "type": "string" + }, + { + "enum": ["EMPTY"], + "type": "string" + } + ] + }, + "labwareId": { + "title": "Labwareid", + "description": "Unique identifier of labware to load liquid into.", + "type": "string" + }, + "volumeByWell": { + "title": "Volumebywell", + "description": "Volume of liquid, in \u00b5L, loaded into each well by name, in this labware. If the liquid id is the sentinel value EMPTY, all volumes must be 0.", + "type": "object", + "additionalProperties": { + "type": "number" + } + } + }, + "required": ["liquidId", "labwareId", "volumeByWell"] + }, + "LoadLiquidCreate": { + "title": "LoadLiquidCreate", + "description": "Load liquid command creation request.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "loadLiquid", + "enum": ["loadLiquid"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/LoadLiquidParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "ModuleModel": { + "title": "ModuleModel", + "description": "All available modules' models.", + "enum": [ + "temperatureModuleV1", + "temperatureModuleV2", + "magneticModuleV1", + "magneticModuleV2", + "thermocyclerModuleV1", + "thermocyclerModuleV2", + "heaterShakerModuleV1", + "magneticBlockV1", + "absorbanceReaderV1" + ], + "type": "string" + }, + "LoadModuleParams": { + "title": "LoadModuleParams", + "description": "Payload required to load a module.", + "type": "object", + "properties": { + "model": { + "description": "The model name of the module to load.\n\nProtocol Engine will look for a connected module that either exactly matches this one, or is compatible.\n\n For example, if you request a `temperatureModuleV1` here, Protocol Engine might load a `temperatureModuleV1` or a `temperatureModuleV2`.\n\n The model that it finds connected will be available through `result.model`.", + "allOf": [ + { + "$ref": "#/definitions/ModuleModel" + } + ] + }, + "location": { + "title": "Location", + "description": "The location into which this module should be loaded.\n\nFor the Thermocycler Module, which occupies multiple deck slots, this should be the front-most occupied slot (normally slot 7).", + "allOf": [ + { + "$ref": "#/definitions/DeckSlotLocation" + } + ] + }, + "moduleId": { + "title": "Moduleid", + "description": "An optional ID to assign to this module. If None, an ID will be generated.", + "type": "string" + } + }, + "required": ["model", "location"] + }, + "LoadModuleCreate": { + "title": "LoadModuleCreate", + "description": "The model for a creation request for a load module command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "loadModule", + "enum": ["loadModule"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/LoadModuleParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "PipetteNameType": { + "title": "PipetteNameType", + "description": "Pipette load name values.", + "enum": [ + "p10_single", + "p10_multi", + "p20_single_gen2", + "p20_multi_gen2", + "p50_single", + "p50_multi", + "p50_single_flex", + "p50_multi_flex", + "p300_single", + "p300_multi", + "p300_single_gen2", + "p300_multi_gen2", + "p1000_single", + "p1000_single_gen2", + "p1000_single_flex", + "p1000_multi_flex", + "p1000_96", + "p200_96" + ], + "type": "string" + }, + "LoadPipetteParams": { + "title": "LoadPipetteParams", + "description": "Payload needed to load a pipette on to a mount.", + "type": "object", + "properties": { + "pipetteName": { + "description": "The load name of the pipette to be required.", + "allOf": [ + { + "$ref": "#/definitions/PipetteNameType" + } + ] + }, + "mount": { + "description": "The mount the pipette should be present on.", + "allOf": [ + { + "$ref": "#/definitions/MountType" + } + ] + }, + "pipetteId": { + "title": "Pipetteid", + "description": "An optional ID to assign to this pipette. If None, an ID will be generated.", + "type": "string" + }, + "tipOverlapNotAfterVersion": { + "title": "Tipoverlapnotafterversion", + "description": "A version of tip overlap data to not exceed. The highest-versioned tip overlap data that does not exceed this version will be used. Versions are expressed as vN where N is an integer, counting up from v0. If None, the current highest version will be used.", + "type": "string" + }, + "liquidPresenceDetection": { + "title": "Liquidpresencedetection", + "description": "Enable liquid presence detection for this pipette. Defaults to False.", + "type": "boolean" + } + }, + "required": ["pipetteName", "mount"] + }, + "LoadPipetteCreate": { + "title": "LoadPipetteCreate", + "description": "Load pipette command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "loadPipette", + "enum": ["loadPipette"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/LoadPipetteParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "LabwareMovementStrategy": { + "title": "LabwareMovementStrategy", + "description": "Strategy to use for labware movement.", + "enum": ["usingGripper", "manualMoveWithPause", "manualMoveWithoutPause"], + "type": "string" + }, + "LabwareOffsetVector": { + "title": "LabwareOffsetVector", + "description": "Offset, in deck coordinates from nominal to actual position.", + "type": "object", + "properties": { + "x": { + "title": "X", + "type": "number" + }, + "y": { + "title": "Y", + "type": "number" + }, + "z": { + "title": "Z", + "type": "number" + } + }, + "required": ["x", "y", "z"] + }, + "MoveLabwareParams": { + "title": "MoveLabwareParams", + "description": "Input parameters for a ``moveLabware`` command.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "The ID of the labware to move.", + "type": "string" + }, + "newLocation": { + "title": "Newlocation", + "description": "Where to move the labware.", + "anyOf": [ + { + "$ref": "#/definitions/DeckSlotLocation" + }, + { + "$ref": "#/definitions/ModuleLocation" + }, + { + "$ref": "#/definitions/OnLabwareLocation" + }, + { + "enum": ["offDeck"], + "type": "string" + }, + { + "$ref": "#/definitions/AddressableAreaLocation" + } + ] + }, + "strategy": { + "description": "Whether to use the gripper to perform the labware movement or to perform a manual movement with an option to pause.", + "allOf": [ + { + "$ref": "#/definitions/LabwareMovementStrategy" + } + ] + }, + "pickUpOffset": { + "title": "Pickupoffset", + "description": "Offset to use when picking up labware. Experimental param, subject to change", + "allOf": [ + { + "$ref": "#/definitions/LabwareOffsetVector" + } + ] + }, + "dropOffset": { + "title": "Dropoffset", + "description": "Offset to use when dropping off labware. Experimental param, subject to change", + "allOf": [ + { + "$ref": "#/definitions/LabwareOffsetVector" + } + ] + } + }, + "required": ["labwareId", "newLocation", "strategy"] + }, + "MoveLabwareCreate": { + "title": "MoveLabwareCreate", + "description": "A request to create a ``moveLabware`` command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "moveLabware", + "enum": ["moveLabware"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveLabwareParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "MovementAxis": { + "title": "MovementAxis", + "description": "Axis on which to issue a relative movement.", + "enum": ["x", "y", "z"], + "type": "string" + }, + "MoveRelativeParams": { + "title": "MoveRelativeParams", + "description": "Payload required for a MoveRelative command.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Pipette to move.", + "type": "string" + }, + "axis": { + "description": "Axis along which to move.", + "allOf": [ + { + "$ref": "#/definitions/MovementAxis" + } + ] + }, + "distance": { + "title": "Distance", + "description": "Distance to move in millimeters. A positive number will move towards the right (x), back (y), top (z) of the deck.", + "type": "number" + } + }, + "required": ["pipetteId", "axis", "distance"] + }, + "MoveRelativeCreate": { + "title": "MoveRelativeCreate", + "description": "Data to create a MoveRelative command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "moveRelative", + "enum": ["moveRelative"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveRelativeParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DeckPoint": { + "title": "DeckPoint", + "description": "Coordinates of a point in deck space.", + "type": "object", + "properties": { + "x": { + "title": "X", + "type": "number" + }, + "y": { + "title": "Y", + "type": "number" + }, + "z": { + "title": "Z", + "type": "number" + } + }, + "required": ["x", "y", "z"] + }, + "MoveToCoordinatesParams": { + "title": "MoveToCoordinatesParams", + "description": "Payload required to move a pipette to coordinates.", + "type": "object", + "properties": { + "minimumZHeight": { + "title": "Minimumzheight", + "description": "Optional minimal Z margin in mm. If this is larger than the API's default safe Z margin, it will make the arc higher. If it's smaller, it will have no effect.", + "type": "number" + }, + "forceDirect": { + "title": "Forcedirect", + "description": "If true, moving from one labware/well to another will not arc to the default safe z, but instead will move directly to the specified location. This will also force the `minimumZHeight` param to be ignored. A 'direct' movement is in X/Y/Z simultaneously.", + "default": false, + "type": "boolean" + }, + "speed": { + "title": "Speed", + "description": "Override the travel speed in mm/s. This controls the straight linear speed of motion.", + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "coordinates": { + "title": "Coordinates", + "description": "X, Y and Z coordinates in mm from deck's origin location (left-front-bottom corner of work space)", + "allOf": [ + { + "$ref": "#/definitions/DeckPoint" + } + ] + } + }, + "required": ["pipetteId", "coordinates"] + }, + "MoveToCoordinatesCreate": { + "title": "MoveToCoordinatesCreate", + "description": "Move to coordinates command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "moveToCoordinates", + "enum": ["moveToCoordinates"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveToCoordinatesParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "MoveToWellParams": { + "title": "MoveToWellParams", + "description": "Payload required to move a pipette to a specific well.", + "type": "object", + "properties": { + "minimumZHeight": { + "title": "Minimumzheight", + "description": "Optional minimal Z margin in mm. If this is larger than the API's default safe Z margin, it will make the arc higher. If it's smaller, it will have no effect.", + "type": "number" + }, + "forceDirect": { + "title": "Forcedirect", + "description": "If true, moving from one labware/well to another will not arc to the default safe z, but instead will move directly to the specified location. This will also force the `minimumZHeight` param to be ignored. A 'direct' movement is in X/Y/Z simultaneously.", + "default": false, + "type": "boolean" + }, + "speed": { + "title": "Speed", + "description": "Override the travel speed in mm/s. This controls the straight linear speed of motion.", + "type": "number" + }, + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to perform the operation", + "allOf": [ + { + "$ref": "#/definitions/WellLocation" + } + ] + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["labwareId", "wellName", "pipetteId"] + }, + "MoveToWellCreate": { + "title": "MoveToWellCreate", + "description": "Move to well command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "moveToWell", + "enum": ["moveToWell"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveToWellParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "AddressableOffsetVector": { + "title": "AddressableOffsetVector", + "description": "Offset, in deck coordinates, from nominal to actual position of an addressable area.", + "type": "object", + "properties": { + "x": { + "title": "X", + "type": "number" + }, + "y": { + "title": "Y", + "type": "number" + }, + "z": { + "title": "Z", + "type": "number" + } + }, + "required": ["x", "y", "z"] + }, + "MoveToAddressableAreaParams": { + "title": "MoveToAddressableAreaParams", + "description": "Payload required to move a pipette to a specific addressable area.\n\nAn *addressable area* is a space in the robot that may or may not be usable depending on how\nthe robot's deck is configured. For example, if a Flex is configured with a waste chute, it will\nhave additional addressable areas representing the opening of the waste chute, where tips and\nlabware can be dropped.\n\nThis moves the pipette so all of its nozzles are centered over the addressable area.\nIf the pipette is currently configured with a partial tip layout, this centering is over all\nthe pipette's physical nozzles, not just the nozzles that are active.\n\nThe z-position will be chosen to put the bottom of the tips---or the bottom of the nozzles,\nif there are no tips---level with the top of the addressable area.\n\nWhen this command is executed, Protocol Engine will make sure the robot's deck is configured\nsuch that the requested addressable area actually exists. For example, if you request\nthe addressable area B4, it will make sure the robot is set up with a B3/B4 staging area slot.\nIf that's not the case, the command will fail.", + "type": "object", + "properties": { + "minimumZHeight": { + "title": "Minimumzheight", + "description": "Optional minimal Z margin in mm. If this is larger than the API's default safe Z margin, it will make the arc higher. If it's smaller, it will have no effect.", + "type": "number" + }, + "forceDirect": { + "title": "Forcedirect", + "description": "If true, moving from one labware/well to another will not arc to the default safe z, but instead will move directly to the specified location. This will also force the `minimumZHeight` param to be ignored. A 'direct' movement is in X/Y/Z simultaneously.", + "default": false, + "type": "boolean" + }, + "speed": { + "title": "Speed", + "description": "Override the travel speed in mm/s. This controls the straight linear speed of motion.", + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "addressableAreaName": { + "title": "Addressableareaname", + "description": "The name of the addressable area that you want to use. Valid values are the `id`s of `addressableArea`s in the [deck definition](https://github.com/Opentrons/opentrons/tree/edge/shared-data/deck).", + "type": "string" + }, + "offset": { + "title": "Offset", + "description": "Relative offset of addressable area to move pipette's critical point.", + "default": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "allOf": [ + { + "$ref": "#/definitions/AddressableOffsetVector" + } + ] + }, + "stayAtHighestPossibleZ": { + "title": "Stayathighestpossiblez", + "description": "If `true`, the pipette will retract to its highest possible height and stay there instead of descending to the destination. `minimumZHeight` will be ignored.", + "default": false, + "type": "boolean" + } + }, + "required": ["pipetteId", "addressableAreaName"] + }, + "MoveToAddressableAreaCreate": { + "title": "MoveToAddressableAreaCreate", + "description": "Move to addressable area command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "moveToAddressableArea", + "enum": ["moveToAddressableArea"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveToAddressableAreaParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "MoveToAddressableAreaForDropTipParams": { + "title": "MoveToAddressableAreaForDropTipParams", + "description": "Payload required to move a pipette to a specific addressable area.\n\nAn *addressable area* is a space in the robot that may or may not be usable depending on how\nthe robot's deck is configured. For example, if a Flex is configured with a waste chute, it will\nhave additional addressable areas representing the opening of the waste chute, where tips and\nlabware can be dropped.\n\nThis moves the pipette so all of its nozzles are centered over the addressable area.\nIf the pipette is currently configured with a partial tip layout, this centering is over all\nthe pipette's physical nozzles, not just the nozzles that are active.\n\nThe z-position will be chosen to put the bottom of the tips---or the bottom of the nozzles,\nif there are no tips---level with the top of the addressable area.\n\nWhen this command is executed, Protocol Engine will make sure the robot's deck is configured\nsuch that the requested addressable area actually exists. For example, if you request\nthe addressable area B4, it will make sure the robot is set up with a B3/B4 staging area slot.\nIf that's not the case, the command will fail.", + "type": "object", + "properties": { + "minimumZHeight": { + "title": "Minimumzheight", + "description": "Optional minimal Z margin in mm. If this is larger than the API's default safe Z margin, it will make the arc higher. If it's smaller, it will have no effect.", + "type": "number" + }, + "forceDirect": { + "title": "Forcedirect", + "description": "If true, moving from one labware/well to another will not arc to the default safe z, but instead will move directly to the specified location. This will also force the `minimumZHeight` param to be ignored. A 'direct' movement is in X/Y/Z simultaneously.", + "default": false, + "type": "boolean" + }, + "speed": { + "title": "Speed", + "description": "Override the travel speed in mm/s. This controls the straight linear speed of motion.", + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "addressableAreaName": { + "title": "Addressableareaname", + "description": "The name of the addressable area that you want to use. Valid values are the `id`s of `addressableArea`s in the [deck definition](https://github.com/Opentrons/opentrons/tree/edge/shared-data/deck).", + "type": "string" + }, + "offset": { + "title": "Offset", + "description": "Relative offset of addressable area to move pipette's critical point.", + "default": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "allOf": [ + { + "$ref": "#/definitions/AddressableOffsetVector" + } + ] + }, + "alternateDropLocation": { + "title": "Alternatedroplocation", + "description": "Whether to alternate location where tip is dropped within the addressable area. If True, this command will ignore the offset provided and alternate between dropping tips at two predetermined locations inside the specified labware well. If False, the tip will be dropped at the top center of the area.", + "default": false, + "type": "boolean" + }, + "ignoreTipConfiguration": { + "title": "Ignoretipconfiguration", + "description": "Whether to utilize the critical point of the tip configuraiton when moving to an addressable area. If True, this command will ignore the tip configuration and use the center of the entire instrument as the critical point for movement. If False, this command will use the critical point provided by the current tip configuration.", + "default": true, + "type": "boolean" + } + }, + "required": ["pipetteId", "addressableAreaName"] + }, + "MoveToAddressableAreaForDropTipCreate": { + "title": "MoveToAddressableAreaForDropTipCreate", + "description": "Move to addressable area for drop tip command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "moveToAddressableAreaForDropTip", + "enum": ["moveToAddressableAreaForDropTip"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveToAddressableAreaForDropTipParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "PrepareToAspirateParams": { + "title": "PrepareToAspirateParams", + "description": "Parameters required to prepare a specific pipette for aspiration.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["pipetteId"] + }, + "PrepareToAspirateCreate": { + "title": "PrepareToAspirateCreate", + "description": "Prepare for aspirate command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "prepareToAspirate", + "enum": ["prepareToAspirate"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/PrepareToAspirateParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "WaitForResumeParams": { + "title": "WaitForResumeParams", + "description": "Payload required to pause the protocol.", + "type": "object", + "properties": { + "message": { + "title": "Message", + "description": "A user-facing message associated with the pause", + "type": "string" + } + } + }, + "WaitForResumeCreate": { + "title": "WaitForResumeCreate", + "description": "Wait for resume command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "waitForResume", + "enum": ["waitForResume", "pause"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/WaitForResumeParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "WaitForDurationParams": { + "title": "WaitForDurationParams", + "description": "Payload required to pause the protocol.", + "type": "object", + "properties": { + "seconds": { + "title": "Seconds", + "description": "Duration, in seconds, to wait for.", + "type": "number" + }, + "message": { + "title": "Message", + "description": "A user-facing message associated with the pause", + "type": "string" + } + }, + "required": ["seconds"] + }, + "WaitForDurationCreate": { + "title": "WaitForDurationCreate", + "description": "Wait for duration command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "waitForDuration", + "enum": ["waitForDuration"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/WaitForDurationParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "PickUpTipWellOrigin": { + "title": "PickUpTipWellOrigin", + "description": "The origin of a PickUpTipWellLocation offset.\n\nProps:\n TOP: the top-center of the well\n BOTTOM: the bottom-center of the well\n CENTER: the middle-center of the well", + "enum": ["top", "bottom", "center"], + "type": "string" + }, + "PickUpTipWellLocation": { + "title": "PickUpTipWellLocation", + "description": "A relative location in reference to a well's location.\n\nTo be used for picking up tips.", + "type": "object", + "properties": { + "origin": { + "default": "top", + "allOf": [ + { + "$ref": "#/definitions/PickUpTipWellOrigin" + } + ] + }, + "offset": { + "$ref": "#/definitions/WellOffset" + } + } + }, + "PickUpTipParams": { + "title": "PickUpTipParams", + "description": "Payload needed to move a pipette to a specific well.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to pick up the tip.", + "allOf": [ + { + "$ref": "#/definitions/PickUpTipWellLocation" + } + ] + } + }, + "required": ["pipetteId", "labwareId", "wellName"] + }, + "PickUpTipCreate": { + "title": "PickUpTipCreate", + "description": "Pick up tip command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "pickUpTip", + "enum": ["pickUpTip"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/PickUpTipParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "SavePositionParams": { + "title": "SavePositionParams", + "description": "Payload needed to save a pipette's current position.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Unique identifier of the pipette in question.", + "type": "string" + }, + "positionId": { + "title": "Positionid", + "description": "An optional ID to assign to this command instance. Auto-assigned if not defined.", + "type": "string" + }, + "failOnNotHomed": { + "title": "Failonnothomed", + "default": true, + "descrption": "Require all axes to be homed before saving position.", + "type": "boolean" + } + }, + "required": ["pipetteId"] + }, + "SavePositionCreate": { + "title": "SavePositionCreate", + "description": "Save position command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "savePosition", + "enum": ["savePosition"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/SavePositionParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "SetRailLightsParams": { + "title": "SetRailLightsParams", + "description": "Payload required to set the rail lights on or off.", + "type": "object", + "properties": { + "on": { + "title": "On", + "description": "The field that determines if the light is turned off or on.", + "type": "boolean" + } + }, + "required": ["on"] + }, + "SetRailLightsCreate": { + "title": "SetRailLightsCreate", + "description": "setRailLights command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "setRailLights", + "enum": ["setRailLights"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/SetRailLightsParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "TouchTipParams": { + "title": "TouchTipParams", + "description": "Payload needed to touch a pipette tip the sides of a specific well.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to perform the operation", + "allOf": [ + { + "$ref": "#/definitions/WellLocation" + } + ] + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "radius": { + "title": "Radius", + "description": "The proportion of the target well's radius the pipette tip will move towards.", + "default": 1.0, + "type": "number" + }, + "speed": { + "title": "Speed", + "description": "Override the travel speed in mm/s. This controls the straight linear speed of motion.", + "type": "number" + } + }, + "required": ["labwareId", "wellName", "pipetteId"] + }, + "TouchTipCreate": { + "title": "TouchTipCreate", + "description": "Touch tip command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "touchTip", + "enum": ["touchTip"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/TouchTipParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "StatusBarAnimation": { + "title": "StatusBarAnimation", + "description": "Status Bar animation options.", + "enum": ["idle", "confirm", "updating", "disco", "off"] + }, + "SetStatusBarParams": { + "title": "SetStatusBarParams", + "description": "Payload required to set the status bar to run an animation.", + "type": "object", + "properties": { + "animation": { + "description": "The animation that should be executed on the status bar.", + "allOf": [ + { + "$ref": "#/definitions/StatusBarAnimation" + } + ] + } + }, + "required": ["animation"] + }, + "SetStatusBarCreate": { + "title": "SetStatusBarCreate", + "description": "setStatusBar command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "setStatusBar", + "enum": ["setStatusBar"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/SetStatusBarParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "TipPresenceStatus": { + "title": "TipPresenceStatus", + "description": "Tip presence status reported by a pipette.", + "enum": ["present", "absent", "unknown"], + "type": "string" + }, + "InstrumentSensorId": { + "title": "InstrumentSensorId", + "description": "Primary and secondary sensor ids.", + "enum": ["primary", "secondary", "both"], + "type": "string" + }, + "VerifyTipPresenceParams": { + "title": "VerifyTipPresenceParams", + "description": "Payload required for a VerifyTipPresence command.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "expectedState": { + "description": "The expected tip presence status on the pipette.", + "allOf": [ + { + "$ref": "#/definitions/TipPresenceStatus" + } + ] + }, + "followSingularSensor": { + "description": "The sensor id to follow if the other can be ignored.", + "allOf": [ + { + "$ref": "#/definitions/InstrumentSensorId" + } + ] + } + }, + "required": ["pipetteId", "expectedState"] + }, + "VerifyTipPresenceCreate": { + "title": "VerifyTipPresenceCreate", + "description": "VerifyTipPresence command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "verifyTipPresence", + "enum": ["verifyTipPresence"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/VerifyTipPresenceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "GetTipPresenceParams": { + "title": "GetTipPresenceParams", + "description": "Payload required for a GetTipPresence command.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["pipetteId"] + }, + "GetTipPresenceCreate": { + "title": "GetTipPresenceCreate", + "description": "GetTipPresence command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "getTipPresence", + "enum": ["getTipPresence"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/GetTipPresenceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "LiquidProbeParams": { + "title": "LiquidProbeParams", + "description": "Parameters required for a `liquidProbe` command.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to perform the operation", + "allOf": [ + { + "$ref": "#/definitions/WellLocation" + } + ] + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["labwareId", "wellName", "pipetteId"] + }, + "LiquidProbeCreate": { + "title": "LiquidProbeCreate", + "description": "The request model for a `liquidProbe` command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "liquidProbe", + "enum": ["liquidProbe"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/LiquidProbeParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "TryLiquidProbeParams": { + "title": "TryLiquidProbeParams", + "description": "Parameters required for a `tryLiquidProbe` command.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "Identifier of labware to use.", + "type": "string" + }, + "wellName": { + "title": "Wellname", + "description": "Name of well to use in labware.", + "type": "string" + }, + "wellLocation": { + "title": "Welllocation", + "description": "Relative well location at which to perform the operation", + "allOf": [ + { + "$ref": "#/definitions/WellLocation" + } + ] + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["labwareId", "wellName", "pipetteId"] + }, + "TryLiquidProbeCreate": { + "title": "TryLiquidProbeCreate", + "description": "The request model for a `tryLiquidProbe` command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "tryLiquidProbe", + "enum": ["tryLiquidProbe"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/TryLiquidProbeParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__heater_shaker__wait_for_temperature__WaitForTemperatureParams": { + "title": "WaitForTemperatureParams", + "description": "Input parameters to wait for a Heater-Shaker's target temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Heater-Shaker Module.", + "type": "string" + }, + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C. If not specified, will default to the module's target temperature. Specifying a celsius parameter other than the target temperature could lead to unpredictable behavior and hence is not recommended for use. This parameter can be removed in a future version without prior notice.", + "type": "number" + } + }, + "required": ["moduleId"] + }, + "opentrons__protocol_engine__commands__heater_shaker__wait_for_temperature__WaitForTemperatureCreate": { + "title": "WaitForTemperatureCreate", + "description": "A request to create a Heater-Shaker's wait for temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "heaterShaker/waitForTemperature", + "enum": ["heaterShaker/waitForTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__heater_shaker__wait_for_temperature__WaitForTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__heater_shaker__set_target_temperature__SetTargetTemperatureParams": { + "title": "SetTargetTemperatureParams", + "description": "Input parameters to set a Heater-Shaker's target temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Heater-Shaker Module.", + "type": "string" + }, + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C.", + "type": "number" + } + }, + "required": ["moduleId", "celsius"] + }, + "opentrons__protocol_engine__commands__heater_shaker__set_target_temperature__SetTargetTemperatureCreate": { + "title": "SetTargetTemperatureCreate", + "description": "A request to create a Heater-Shaker's set temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "heaterShaker/setTargetTemperature", + "enum": ["heaterShaker/setTargetTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__heater_shaker__set_target_temperature__SetTargetTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DeactivateHeaterParams": { + "title": "DeactivateHeaterParams", + "description": "Input parameters to unset a Heater-Shaker's target temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Heater-Shaker Module.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "DeactivateHeaterCreate": { + "title": "DeactivateHeaterCreate", + "description": "A request to create a Heater-Shaker's deactivate heater command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "heaterShaker/deactivateHeater", + "enum": ["heaterShaker/deactivateHeater"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DeactivateHeaterParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "SetAndWaitForShakeSpeedParams": { + "title": "SetAndWaitForShakeSpeedParams", + "description": "Input parameters to set and wait for a shake speed for a Heater-Shaker Module.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Heater-Shaker Module.", + "type": "string" + }, + "rpm": { + "title": "Rpm", + "description": "Target speed in rotations per minute.", + "type": "number" + } + }, + "required": ["moduleId", "rpm"] + }, + "SetAndWaitForShakeSpeedCreate": { + "title": "SetAndWaitForShakeSpeedCreate", + "description": "A request to create a Heater-Shaker's set and wait for shake speed command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "heaterShaker/setAndWaitForShakeSpeed", + "enum": ["heaterShaker/setAndWaitForShakeSpeed"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/SetAndWaitForShakeSpeedParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DeactivateShakerParams": { + "title": "DeactivateShakerParams", + "description": "Input parameters to deactivate shaker for a Heater-Shaker Module.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Heater-Shaker Module.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "DeactivateShakerCreate": { + "title": "DeactivateShakerCreate", + "description": "A request to create a Heater-Shaker's deactivate shaker command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "heaterShaker/deactivateShaker", + "enum": ["heaterShaker/deactivateShaker"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DeactivateShakerParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "OpenLabwareLatchParams": { + "title": "OpenLabwareLatchParams", + "description": "Input parameters to open a Heater-Shaker Module's labware latch.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Heater-Shaker Module.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "OpenLabwareLatchCreate": { + "title": "OpenLabwareLatchCreate", + "description": "A request to create a Heater-Shaker's open labware latch command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "heaterShaker/openLabwareLatch", + "enum": ["heaterShaker/openLabwareLatch"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/OpenLabwareLatchParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "CloseLabwareLatchParams": { + "title": "CloseLabwareLatchParams", + "description": "Input parameters to close a Heater-Shaker Module's labware latch.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Heater-Shaker Module.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "CloseLabwareLatchCreate": { + "title": "CloseLabwareLatchCreate", + "description": "A request to create a Heater-Shaker's close latch command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "heaterShaker/closeLabwareLatch", + "enum": ["heaterShaker/closeLabwareLatch"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/CloseLabwareLatchParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DisengageParams": { + "title": "DisengageParams", + "description": "Input data to disengage a Magnetic Module's magnets.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "The ID of the Magnetic Module whose magnets you want to disengage, from a prior `loadModule` command.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "DisengageCreate": { + "title": "DisengageCreate", + "description": "A request to create a Magnetic Module disengage command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "magneticModule/disengage", + "enum": ["magneticModule/disengage"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DisengageParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "EngageParams": { + "title": "EngageParams", + "description": "Input data to engage a Magnetic Module.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "The ID of the Magnetic Module whose magnets you want to raise, from a prior `loadModule` command.", + "type": "string" + }, + "height": { + "title": "Height", + "description": "How high, in millimeters, to raise the magnets.\n\nZero means the tops of the magnets are level with the ledge that the labware rests on. This will be slightly above the magnets' minimum height, the hardware home position. Negative values are allowed, to put the magnets below the ledge.\n\nUnits are always true millimeters. This is unlike certain labware definitions, engage commands in the Python Protocol API, and engage commands in older versions of the JSON protocol schema. Take care to convert properly.", + "type": "number" + } + }, + "required": ["moduleId", "height"] + }, + "EngageCreate": { + "title": "EngageCreate", + "description": "A request to create a Magnetic Module engage command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "magneticModule/engage", + "enum": ["magneticModule/engage"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/EngageParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__temperature_module__set_target_temperature__SetTargetTemperatureParams": { + "title": "SetTargetTemperatureParams", + "description": "Input parameters to set a Temperature Module's target temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Temperature Module.", + "type": "string" + }, + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C.", + "type": "number" + } + }, + "required": ["moduleId", "celsius"] + }, + "opentrons__protocol_engine__commands__temperature_module__set_target_temperature__SetTargetTemperatureCreate": { + "title": "SetTargetTemperatureCreate", + "description": "A request to create a Temperature Module's set temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "temperatureModule/setTargetTemperature", + "enum": ["temperatureModule/setTargetTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__temperature_module__set_target_temperature__SetTargetTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__temperature_module__wait_for_temperature__WaitForTemperatureParams": { + "title": "WaitForTemperatureParams", + "description": "Input parameters to wait for a Temperature Module's target temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Temperature Module.", + "type": "string" + }, + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C. If not specified, will default to the module's target temperature. Specifying a celsius parameter other than the target temperature could lead to unpredictable behavior and hence is not recommended for use. This parameter can be removed in a future version without prior notice.", + "type": "number" + } + }, + "required": ["moduleId"] + }, + "opentrons__protocol_engine__commands__temperature_module__wait_for_temperature__WaitForTemperatureCreate": { + "title": "WaitForTemperatureCreate", + "description": "A request to create a Temperature Module's wait for temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "temperatureModule/waitForTemperature", + "enum": ["temperatureModule/waitForTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__temperature_module__wait_for_temperature__WaitForTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DeactivateTemperatureParams": { + "title": "DeactivateTemperatureParams", + "description": "Input parameters to deactivate a Temperature Module.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Temperature Module.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "DeactivateTemperatureCreate": { + "title": "DeactivateTemperatureCreate", + "description": "A request to deactivate a Temperature Module.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "temperatureModule/deactivate", + "enum": ["temperatureModule/deactivate"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DeactivateTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "SetTargetBlockTemperatureParams": { + "title": "SetTargetBlockTemperatureParams", + "description": "Input parameters to set a Thermocycler's target block temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler Module.", + "type": "string" + }, + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C.", + "type": "number" + }, + "blockMaxVolumeUl": { + "title": "Blockmaxvolumeul", + "description": "Amount of liquid in uL of the most-full well in labware loaded onto the thermocycler.", + "type": "number" + }, + "holdTimeSeconds": { + "title": "Holdtimeseconds", + "description": "Amount of time, in seconds, to hold the temperature for. If specified, a waitForBlockTemperature command will block until the given hold time has elapsed.", + "type": "number" + } + }, + "required": ["moduleId", "celsius"] + }, + "SetTargetBlockTemperatureCreate": { + "title": "SetTargetBlockTemperatureCreate", + "description": "A request to create a Thermocycler's set block temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/setTargetBlockTemperature", + "enum": ["thermocycler/setTargetBlockTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/SetTargetBlockTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "WaitForBlockTemperatureParams": { + "title": "WaitForBlockTemperatureParams", + "description": "Input parameters to wait for Thermocycler's target block temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler Module.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "WaitForBlockTemperatureCreate": { + "title": "WaitForBlockTemperatureCreate", + "description": "A request to create Thermocycler's wait for block temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/waitForBlockTemperature", + "enum": ["thermocycler/waitForBlockTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/WaitForBlockTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "SetTargetLidTemperatureParams": { + "title": "SetTargetLidTemperatureParams", + "description": "Input parameters to set a Thermocycler's target lid temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler Module.", + "type": "string" + }, + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C.", + "type": "number" + } + }, + "required": ["moduleId", "celsius"] + }, + "SetTargetLidTemperatureCreate": { + "title": "SetTargetLidTemperatureCreate", + "description": "A request to create a Thermocycler's set lid temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/setTargetLidTemperature", + "enum": ["thermocycler/setTargetLidTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/SetTargetLidTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "WaitForLidTemperatureParams": { + "title": "WaitForLidTemperatureParams", + "description": "Input parameters to wait for Thermocycler's lid temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler Module.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "WaitForLidTemperatureCreate": { + "title": "WaitForLidTemperatureCreate", + "description": "A request to create Thermocycler's wait for lid temperature command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/waitForLidTemperature", + "enum": ["thermocycler/waitForLidTemperature"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/WaitForLidTemperatureParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DeactivateBlockParams": { + "title": "DeactivateBlockParams", + "description": "Input parameters to unset a Thermocycler's target block temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "DeactivateBlockCreate": { + "title": "DeactivateBlockCreate", + "description": "A request to create a Thermocycler's deactivate block command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/deactivateBlock", + "enum": ["thermocycler/deactivateBlock"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DeactivateBlockParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "DeactivateLidParams": { + "title": "DeactivateLidParams", + "description": "Input parameters to unset a Thermocycler's target lid temperature.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "DeactivateLidCreate": { + "title": "DeactivateLidCreate", + "description": "A request to create a Thermocycler's deactivate lid command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/deactivateLid", + "enum": ["thermocycler/deactivateLid"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/DeactivateLidParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__thermocycler__open_lid__OpenLidParams": { + "title": "OpenLidParams", + "description": "Input parameters to open a Thermocycler's lid.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "opentrons__protocol_engine__commands__thermocycler__open_lid__OpenLidCreate": { + "title": "OpenLidCreate", + "description": "A request to open a Thermocycler's lid.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/openLid", + "enum": ["thermocycler/openLid"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__thermocycler__open_lid__OpenLidParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__thermocycler__close_lid__CloseLidParams": { + "title": "CloseLidParams", + "description": "Input parameters to close a Thermocycler's lid.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "opentrons__protocol_engine__commands__thermocycler__close_lid__CloseLidCreate": { + "title": "CloseLidCreate", + "description": "A request to close a Thermocycler's lid.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/closeLid", + "enum": ["thermocycler/closeLid"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__thermocycler__close_lid__CloseLidParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "RunProfileStepParams": { + "title": "RunProfileStepParams", + "description": "Input parameters for an individual Thermocycler profile step.", + "type": "object", + "properties": { + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C.", + "type": "number" + }, + "holdSeconds": { + "title": "Holdseconds", + "description": "Time to hold target temperature at in seconds.", + "type": "number" + } + }, + "required": ["celsius", "holdSeconds"] + }, + "RunProfileParams": { + "title": "RunProfileParams", + "description": "Input parameters to run a Thermocycler profile.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler.", + "type": "string" + }, + "profile": { + "title": "Profile", + "description": "Array of profile steps with target temperature and temperature hold time.", + "type": "array", + "items": { + "$ref": "#/definitions/RunProfileStepParams" + } + }, + "blockMaxVolumeUl": { + "title": "Blockmaxvolumeul", + "description": "Amount of liquid in uL of the most-full well in labware loaded onto the thermocycler.", + "type": "number" + } + }, + "required": ["moduleId", "profile"] + }, + "RunProfileCreate": { + "title": "RunProfileCreate", + "description": "A request to execute a Thermocycler profile run.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/runProfile", + "enum": ["thermocycler/runProfile"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/RunProfileParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "ProfileStep": { + "title": "ProfileStep", + "description": "An individual step in a Thermocycler extended profile.", + "type": "object", + "properties": { + "celsius": { + "title": "Celsius", + "description": "Target temperature in \u00b0C.", + "type": "number" + }, + "holdSeconds": { + "title": "Holdseconds", + "description": "Time to hold target temperature in seconds.", + "type": "number" + } + }, + "required": ["celsius", "holdSeconds"] + }, + "ProfileCycle": { + "title": "ProfileCycle", + "description": "An individual cycle in a Thermocycler extended profile.", + "type": "object", + "properties": { + "steps": { + "title": "Steps", + "description": "Steps to repeat.", + "type": "array", + "items": { + "$ref": "#/definitions/ProfileStep" + } + }, + "repetitions": { + "title": "Repetitions", + "description": "Number of times to repeat the steps.", + "type": "integer" + } + }, + "required": ["steps", "repetitions"] + }, + "RunExtendedProfileParams": { + "title": "RunExtendedProfileParams", + "description": "Input parameters for an individual Thermocycler profile step.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Thermocycler.", + "type": "string" + }, + "profileElements": { + "title": "Profileelements", + "description": "Elements of the profile. Each can be either a step or a cycle.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/ProfileStep" + }, + { + "$ref": "#/definitions/ProfileCycle" + } + ] + } + }, + "blockMaxVolumeUl": { + "title": "Blockmaxvolumeul", + "description": "Amount of liquid in uL of the most-full well in labware loaded onto the thermocycler.", + "type": "number" + } + }, + "required": ["moduleId", "profileElements"] + }, + "RunExtendedProfileCreate": { + "title": "RunExtendedProfileCreate", + "description": "A request to execute a Thermocycler profile run.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "thermocycler/runExtendedProfile", + "enum": ["thermocycler/runExtendedProfile"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/RunExtendedProfileParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__absorbance_reader__close_lid__CloseLidParams": { + "title": "CloseLidParams", + "description": "Input parameters to close the lid on an absorbance reading.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the absorbance reader.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "opentrons__protocol_engine__commands__absorbance_reader__close_lid__CloseLidCreate": { + "title": "CloseLidCreate", + "description": "A request to execute an Absorbance Reader close lid command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "absorbanceReader/closeLid", + "enum": ["absorbanceReader/closeLid"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__absorbance_reader__close_lid__CloseLidParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "opentrons__protocol_engine__commands__absorbance_reader__open_lid__OpenLidParams": { + "title": "OpenLidParams", + "description": "Input parameters to open the lid on an absorbance reading.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the absorbance reader.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "opentrons__protocol_engine__commands__absorbance_reader__open_lid__OpenLidCreate": { + "title": "OpenLidCreate", + "description": "A request to execute an Absorbance Reader open lid command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "absorbanceReader/openLid", + "enum": ["absorbanceReader/openLid"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/opentrons__protocol_engine__commands__absorbance_reader__open_lid__OpenLidParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "InitializeParams": { + "title": "InitializeParams", + "description": "Input parameters to initialize an absorbance reading.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the absorbance reader.", + "type": "string" + }, + "measureMode": { + "title": "Measuremode", + "description": "Initialize single or multi measurement mode.", + "enum": ["single", "multi"], + "type": "string" + }, + "sampleWavelengths": { + "title": "Samplewavelengths", + "description": "Sample wavelengths in nm.", + "type": "array", + "items": { + "type": "integer" + } + }, + "referenceWavelength": { + "title": "Referencewavelength", + "description": "Optional reference wavelength in nm.", + "type": "integer" + } + }, + "required": ["moduleId", "measureMode", "sampleWavelengths"] + }, + "InitializeCreate": { + "title": "InitializeCreate", + "description": "A request to execute an Absorbance Reader measurement.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "absorbanceReader/initialize", + "enum": ["absorbanceReader/initialize"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/InitializeParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "ReadAbsorbanceParams": { + "title": "ReadAbsorbanceParams", + "description": "Input parameters for an absorbance reading.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "Unique ID of the Absorbance Reader.", + "type": "string" + }, + "fileName": { + "title": "Filename", + "description": "Optional file name to use when storing the results of a measurement.", + "type": "string" + } + }, + "required": ["moduleId"] + }, + "ReadAbsorbanceCreate": { + "title": "ReadAbsorbanceCreate", + "description": "A request to execute an Absorbance Reader measurement.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "absorbanceReader/read", + "enum": ["absorbanceReader/read"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/ReadAbsorbanceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "CalibrateGripperParamsJaw": { + "title": "CalibrateGripperParamsJaw", + "description": "An enumeration.", + "enum": ["front", "rear"] + }, + "Vec3f": { + "title": "Vec3f", + "description": "A 3D vector of floats.", + "type": "object", + "properties": { + "x": { + "title": "X", + "type": "number" + }, + "y": { + "title": "Y", + "type": "number" + }, + "z": { + "title": "Z", + "type": "number" + } + }, + "required": ["x", "y", "z"] + }, + "CalibrateGripperParams": { + "title": "CalibrateGripperParams", + "description": "Parameters for a `calibrateGripper` command.", + "type": "object", + "properties": { + "jaw": { + "description": "Which of the gripper's jaws to use to measure its offset. The robot will assume that a human operator has already attached the capacitive probe to the jaw and none is attached to the other jaw.", + "allOf": [ + { + "$ref": "#/definitions/CalibrateGripperParamsJaw" + } + ] + }, + "otherJawOffset": { + "title": "Otherjawoffset", + "description": "If an offset for the other probe is already found, then specifying it here will enable the CalibrateGripper command to complete the calibration process by calculating the total offset and saving it to disk. If this param is not specified then the command will only find and return the offset for the specified probe.", + "allOf": [ + { + "$ref": "#/definitions/Vec3f" + } + ] + } + }, + "required": ["jaw"] + }, + "CalibrateGripperCreate": { + "title": "CalibrateGripperCreate", + "description": "A request to create a `calibrateGripper` command.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "calibration/calibrateGripper", + "enum": ["calibration/calibrateGripper"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/CalibrateGripperParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "CalibratePipetteParams": { + "title": "CalibratePipetteParams", + "description": "Payload required to calibrate-pipette.", + "type": "object", + "properties": { + "mount": { + "description": "Instrument mount to calibrate.", + "allOf": [ + { + "$ref": "#/definitions/MountType" + } + ] + } + }, + "required": ["mount"] + }, + "CalibratePipetteCreate": { + "title": "CalibratePipetteCreate", + "description": "Create calibrate-pipette command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "calibration/calibratePipette", + "enum": ["calibration/calibratePipette"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/CalibratePipetteParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "CalibrateModuleParams": { + "title": "CalibrateModuleParams", + "description": "Payload required to calibrate-module.", + "type": "object", + "properties": { + "moduleId": { + "title": "Moduleid", + "description": "The unique id of module to calibrate.", + "type": "string" + }, + "labwareId": { + "title": "Labwareid", + "description": "The unique id of module calibration adapter labware.", + "type": "string" + }, + "mount": { + "description": "The instrument mount used to calibrate the module.", + "allOf": [ + { + "$ref": "#/definitions/MountType" + } + ] + } + }, + "required": ["moduleId", "labwareId", "mount"] + }, + "CalibrateModuleCreate": { + "title": "CalibrateModuleCreate", + "description": "Create calibrate-module command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "calibration/calibrateModule", + "enum": ["calibration/calibrateModule"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/CalibrateModuleParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "MaintenancePosition": { + "title": "MaintenancePosition", + "description": "Maintenance position options.", + "enum": ["attachPlate", "attachInstrument"] + }, + "MoveToMaintenancePositionParams": { + "title": "MoveToMaintenancePositionParams", + "description": "Calibration set up position command parameters.", + "type": "object", + "properties": { + "mount": { + "description": "Gantry mount to move maintenance position.", + "allOf": [ + { + "$ref": "#/definitions/MountType" + } + ] + }, + "maintenancePosition": { + "description": "The position the gantry mount needs to move to.", + "default": "attachInstrument", + "allOf": [ + { + "$ref": "#/definitions/MaintenancePosition" + } + ] + } + }, + "required": ["mount"] + }, + "MoveToMaintenancePositionCreate": { + "title": "MoveToMaintenancePositionCreate", + "description": "Calibration set up position command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "calibration/moveToMaintenancePosition", + "enum": ["calibration/moveToMaintenancePosition"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveToMaintenancePositionParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "UnsafeBlowOutInPlaceParams": { + "title": "UnsafeBlowOutInPlaceParams", + "description": "Payload required to blow-out in place while position is unknown.", + "type": "object", + "properties": { + "flowRate": { + "title": "Flowrate", + "description": "Speed in \u00b5L/s configured for the pipette", + "exclusiveMinimum": 0, + "type": "number" + }, + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + } + }, + "required": ["flowRate", "pipetteId"] + }, + "UnsafeBlowOutInPlaceCreate": { + "title": "UnsafeBlowOutInPlaceCreate", + "description": "UnsafeBlowOutInPlace command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "unsafe/blowOutInPlace", + "enum": ["unsafe/blowOutInPlace"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/UnsafeBlowOutInPlaceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "UnsafeDropTipInPlaceParams": { + "title": "UnsafeDropTipInPlaceParams", + "description": "Payload required to drop a tip in place even if the plunger position is not known.", + "type": "object", + "properties": { + "pipetteId": { + "title": "Pipetteid", + "description": "Identifier of pipette to use for liquid handling.", + "type": "string" + }, + "homeAfter": { + "title": "Homeafter", + "description": "Whether to home this pipette's plunger after dropping the tip. You should normally leave this unspecified to let the robot choose a safe default depending on its hardware.", + "type": "boolean" + } + }, + "required": ["pipetteId"] + }, + "UnsafeDropTipInPlaceCreate": { + "title": "UnsafeDropTipInPlaceCreate", + "description": "Drop tip in place command creation request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "unsafe/dropTipInPlace", + "enum": ["unsafe/dropTipInPlace"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/UnsafeDropTipInPlaceParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "UpdatePositionEstimatorsParams": { + "title": "UpdatePositionEstimatorsParams", + "description": "Payload required for an UpdatePositionEstimators command.", + "type": "object", + "properties": { + "axes": { + "description": "The axes for which to update the position estimators.", + "type": "array", + "items": { + "$ref": "#/definitions/MotorAxis" + } + } + }, + "required": ["axes"] + }, + "UpdatePositionEstimatorsCreate": { + "title": "UpdatePositionEstimatorsCreate", + "description": "UpdatePositionEstimators command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "unsafe/updatePositionEstimators", + "enum": ["unsafe/updatePositionEstimators"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/UpdatePositionEstimatorsParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "UnsafeEngageAxesParams": { + "title": "UnsafeEngageAxesParams", + "description": "Payload required for an UnsafeEngageAxes command.", + "type": "object", + "properties": { + "axes": { + "description": "The axes for which to enable.", + "type": "array", + "items": { + "$ref": "#/definitions/MotorAxis" + } + } + }, + "required": ["axes"] + }, + "UnsafeEngageAxesCreate": { + "title": "UnsafeEngageAxesCreate", + "description": "UnsafeEngageAxes command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "unsafe/engageAxes", + "enum": ["unsafe/engageAxes"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/UnsafeEngageAxesParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "UnsafeUngripLabwareParams": { + "title": "UnsafeUngripLabwareParams", + "description": "Payload required for an UngripLabware command.", + "type": "object", + "properties": {} + }, + "UnsafeUngripLabwareCreate": { + "title": "UnsafeUngripLabwareCreate", + "description": "UnsafeEngageAxes command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "unsafe/ungripLabware", + "enum": ["unsafe/ungripLabware"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/UnsafeUngripLabwareParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "UnsafePlaceLabwareParams": { + "title": "UnsafePlaceLabwareParams", + "description": "Payload required for an UnsafePlaceLabware command.", + "type": "object", + "properties": { + "labwareId": { + "title": "Labwareid", + "description": "The id of the labware to place.", + "type": "string" + }, + "location": { + "title": "Location", + "description": "Where to place the labware.", + "anyOf": [ + { + "$ref": "#/definitions/DeckSlotLocation" + }, + { + "$ref": "#/definitions/ModuleLocation" + }, + { + "$ref": "#/definitions/OnLabwareLocation" + }, + { + "$ref": "#/definitions/AddressableAreaLocation" + } + ] + } + }, + "required": ["labwareId", "location"] + }, + "UnsafePlaceLabwareCreate": { + "title": "UnsafePlaceLabwareCreate", + "description": "UnsafePlaceLabware command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "unsafe/placeLabware", + "enum": ["unsafe/placeLabware"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/UnsafePlaceLabwareParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "MoveAxesRelativeParams": { + "title": "MoveAxesRelativeParams", + "description": "Payload required to move axes relative to position.", + "type": "object", + "properties": { + "axis_map": { + "title": "Axis Map", + "description": "A dictionary mapping axes to relative movements in mm.", + "type": "object", + "additionalProperties": { + "type": "number" + } + }, + "speed": { + "title": "Speed", + "description": "The max velocity to move the axes at. Will fall to hardware defaults if none provided.", + "type": "number" + } + }, + "required": ["axis_map"] + }, + "MoveAxesRelativeCreate": { + "title": "MoveAxesRelativeCreate", + "description": "MoveAxesRelative command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "robot/moveAxesRelative", + "enum": ["robot/moveAxesRelative"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveAxesRelativeParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "MoveAxesToParams": { + "title": "MoveAxesToParams", + "description": "Payload required to move axes to absolute position.", + "type": "object", + "properties": { + "axis_map": { + "title": "Axis Map", + "description": "The specified axes to move to an absolute deck position with.", + "type": "object", + "additionalProperties": { + "type": "number" + } + }, + "critical_point": { + "title": "Critical Point", + "description": "The critical point to move the mount with.", + "type": "object", + "additionalProperties": { + "type": "number" + } + }, + "speed": { + "title": "Speed", + "description": "The max velocity to move the axes at. Will fall to hardware defaults if none provided.", + "type": "number" + } + }, + "required": ["axis_map"] + }, + "MoveAxesToCreate": { + "title": "MoveAxesToCreate", + "description": "MoveAxesTo command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "robot/moveAxesTo", + "enum": ["robot/moveAxesTo"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveAxesToParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + }, + "MoveToParams": { + "title": "MoveToParams", + "description": "Payload required to move to a destination position.", + "type": "object", + "properties": { + "mount": { + "description": "The mount to move to the destination point.", + "allOf": [ + { + "$ref": "#/definitions/MountType" + } + ] + }, + "destination": { + "title": "Destination", + "description": "X, Y and Z coordinates in mm from deck's origin location (left-front-bottom corner of work space)", + "allOf": [ + { + "$ref": "#/definitions/DeckPoint" + } + ] + }, + "speed": { + "title": "Speed", + "description": "The max velocity to move the axes at. Will fall to hardware defaults if none provided.", + "type": "number" + } + }, + "required": ["mount", "destination"] + }, + "MoveToCreate": { + "title": "MoveToCreate", + "description": "MoveTo command request model.", + "type": "object", + "properties": { + "commandType": { + "title": "Commandtype", + "default": "robot/moveTo", + "enum": ["robot/moveTo"], + "type": "string" + }, + "params": { + "$ref": "#/definitions/MoveToParams" + }, + "intent": { + "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.", + "allOf": [ + { + "$ref": "#/definitions/CommandIntent" + } + ] + }, + "key": { + "title": "Key", + "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.", + "type": "string" + } + }, + "required": ["params"] + } + }, + "$id": "opentronsCommandSchemaV11", + "$schema": "http://json-schema.org/draft-07/schema#" +} diff --git a/shared-data/js/constants.ts b/shared-data/js/constants.ts index a37fb3ee638..950230b0363 100644 --- a/shared-data/js/constants.ts +++ b/shared-data/js/constants.ts @@ -132,6 +132,7 @@ export const OT3_PIPETTES = [ 'p50_multi_flex', 'p1000_multi_flex', 'p1000_96', + 'p200_96', ] export const OT2_PIPETTES = [ 'p300_single', diff --git a/shared-data/python/opentrons_shared_data/pipette/dev_types.py b/shared-data/python/opentrons_shared_data/pipette/dev_types.py index 6497ab3b784..1517a7181fd 100644 --- a/shared-data/python/opentrons_shared_data/pipette/dev_types.py +++ b/shared-data/python/opentrons_shared_data/pipette/dev_types.py @@ -32,6 +32,7 @@ "p1000_single_flex", "p1000_multi_flex", "p1000_96", + "p200_96", ] @@ -57,6 +58,7 @@ class PipetteNameType(str, Enum): P1000_SINGLE_FLEX = "p1000_single_flex" P1000_MULTI_FLEX = "p1000_multi_flex" P1000_96 = "p1000_96" + P200_96 = "p200_96" # Generic NewType for models because we get new ones frequently and theres diff --git a/shared-data/python/opentrons_shared_data/pipette/pipette_load_name_conversions.py b/shared-data/python/opentrons_shared_data/pipette/pipette_load_name_conversions.py index e2122ed35fd..dc85d512431 100644 --- a/shared-data/python/opentrons_shared_data/pipette/pipette_load_name_conversions.py +++ b/shared-data/python/opentrons_shared_data/pipette/pipette_load_name_conversions.py @@ -143,6 +143,7 @@ def generation_from_string(pipette_name_list: List[str]) -> PipetteGenerationTyp "flex" in pipette_name_list or "3." in pipette_name_list[-1] or pipette_name_list == ["p1000", "96"] + or pipette_name_list == ["p200", "96"] ): return PipetteGenerationType.FLEX elif "gen2" in pipette_name_list or "2." in pipette_name_list[-1]: diff --git a/shared-data/python/opentrons_shared_data/pipette/types.py b/shared-data/python/opentrons_shared_data/pipette/types.py index be86999c4ac..9fecab52f83 100644 --- a/shared-data/python/opentrons_shared_data/pipette/types.py +++ b/shared-data/python/opentrons_shared_data/pipette/types.py @@ -59,6 +59,7 @@ class PipetteModelType(enum.Enum): p10 = "p10" p20 = "p20" p50 = "p50" + p200 = "p200" p300 = "p300" p1000 = "p1000"