Opentrons · Schema

Opentrons Run

JSON Schema for an Opentrons robot protocol run, representing the lifecycle of executing a protocol or ad-hoc commands on an Opentrons Flex or OT-2 robot.

Lab AutomationLiquid HandlingRoboticsBiologyLife SciencesProtocol ManagementHardware ControlOpen Source

Properties

Name Type Description
id string Unique identifier for the run
createdAt string When the run was created
status string The current status of the run
current boolean Whether this is the currently active run on the robot
protocolId stringnull The ID of the protocol associated with this run, if any
actions array Control actions that have been issued to this run
errors array Errors that have occurred during this run
pipettes array Pipettes loaded for this run
labware array Labware loaded for this run
modules array Modules loaded for this run
liquids array Liquids defined for this run
runTimeParameters array Runtime parameter values used for this run
labwareOffsets array Labware position offsets applied to this run
View JSON Schema on GitHub

JSON Schema

opentrons-run-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12",
  "$id": "https://raw.githubusercontent.com/api-evangelist/opentrons/main/json-schema/opentrons-run-schema.json",
  "title": "Opentrons Run",
  "description": "JSON Schema for an Opentrons robot protocol run, representing the lifecycle of executing a protocol or ad-hoc commands on an Opentrons Flex or OT-2 robot.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the run"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the run was created"
    },
    "status": {
      "type": "string",
      "enum": ["idle", "running", "paused", "stop-requested", "stopped", "failed", "succeeded", "finishing"],
      "description": "The current status of the run"
    },
    "current": {
      "type": "boolean",
      "description": "Whether this is the currently active run on the robot"
    },
    "protocolId": {
      "type": ["string", "null"],
      "description": "The ID of the protocol associated with this run, if any"
    },
    "actions": {
      "type": "array",
      "description": "Control actions that have been issued to this run",
      "items": {
        "$ref": "#/$defs/RunAction"
      }
    },
    "errors": {
      "type": "array",
      "description": "Errors that have occurred during this run",
      "items": {
        "type": "object"
      }
    },
    "pipettes": {
      "type": "array",
      "description": "Pipettes loaded for this run",
      "items": {
        "type": "object"
      }
    },
    "labware": {
      "type": "array",
      "description": "Labware loaded for this run",
      "items": {
        "type": "object"
      }
    },
    "modules": {
      "type": "array",
      "description": "Modules loaded for this run",
      "items": {
        "type": "object"
      }
    },
    "liquids": {
      "type": "array",
      "description": "Liquids defined for this run",
      "items": {
        "type": "object"
      }
    },
    "runTimeParameters": {
      "type": "array",
      "description": "Runtime parameter values used for this run",
      "items": {
        "type": "object"
      }
    },
    "labwareOffsets": {
      "type": "array",
      "description": "Labware position offsets applied to this run",
      "items": {
        "$ref": "#/$defs/LabwareOffset"
      }
    }
  },
  "required": ["id", "createdAt", "status", "current", "actions", "errors", "pipettes", "labware", "modules"],
  "$defs": {
    "RunAction": {
      "type": "object",
      "description": "A control action issued to a run",
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier for this action"
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "When the action was issued"
        },
        "actionType": {
          "type": "string",
          "enum": ["play", "pause", "stop", "resume-from-recovery", "resume-from-recovery-assuming-false-positive"],
          "description": "The type of control action"
        }
      },
      "required": ["id", "createdAt", "actionType"]
    },
    "LabwareOffset": {
      "type": "object",
      "description": "A positional offset for labware to correct for deck calibration",
      "properties": {
        "id": {
          "type": "string"
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "definitionUri": {
          "type": "string",
          "description": "The labware definition URI this offset applies to"
        },
        "location": {
          "type": "object",
          "description": "Where the labware is placed on the deck"
        },
        "vector": {
          "type": "object",
          "description": "The x, y, z offset vector in millimeters",
          "properties": {
            "x": { "type": "number" },
            "y": { "type": "number" },
            "z": { "type": "number" }
          },
          "required": ["x", "y", "z"]
        }
      },
      "required": ["id", "createdAt", "definitionUri", "location", "vector"]
    }
  }
}