Opentrons Health API

Robot server health and status endpoints

OpenAPI Specification

opentrons-health-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Opentrons HTTP Attached Instruments Health API
  description: The Opentrons HTTP API is a RESTful JSON-based interface exposed by Opentrons robots (Flex and OT-2) on the local network at port 31950. It enables developers to upload and manage protocols, create and control runs, issue atomic liquid handling commands, and query robot health and hardware state. The API is defined by an OpenAPI specification available directly from the robot at /openapi.json.
  version: '4'
  contact:
    name: Opentrons Support
    url: https://support.opentrons.com/
    email: support@opentrons.com
  license:
    name: Apache 2.0
    url: https://github.com/Opentrons/opentrons/blob/edge/LICENSE
  x-api-version-header: Opentrons-Version
  x-min-api-version: 2
servers:
- url: http://{robotIP}:31950
  description: Opentrons robot local network server
  variables:
    robotIP:
      default: 192.168.1.100
      description: The IP address of the Opentrons robot on the local network
tags:
- name: Health
  description: Robot server health and status endpoints
paths:
  /health:
    get:
      tags:
      - Health
      summary: Get server health
      description: Get information about the health of the robot server. Use the health endpoint to check that the robot server is running and ready to operate. A 200 OK response means the server is running. The response includes information about the software and system.
      operationId: getHealth
      responses:
        '200':
          description: Robot server is healthy and ready
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Health'
        '503':
          description: Robot motor controller is not ready
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResponse'
components:
  schemas:
    HealthLinks:
      type: object
      description: Links to related resources on the robot server
      properties:
        apiLog:
          type: string
          description: Path to the API log
        serialLog:
          type: string
          description: Path to the serial log
        serverLog:
          type: string
          description: Path to the server log
        apiSpec:
          type: string
          description: Path to the OpenAPI specification
        systemTime:
          type: string
          description: Path to the system time endpoint
    BasicResponse:
      type: object
      properties:
        message:
          type: string
    Health:
      type: object
      description: Robot server health information
      properties:
        name:
          type: string
          description: The robot's name
        api_version:
          type: string
          description: The version of the robot's Python API
        fw_version:
          type: string
          description: The firmware version of the robot's motor controller
        board_revision:
          type: string
          description: The board revision of the robot
        system_version:
          type: string
          description: The system (OS) version of the robot
        maximum_protocol_api_version:
          type: array
          items:
            type: integer
          description: The maximum supported Protocol API version [major, minor]
        minimum_protocol_api_version:
          type: array
          items:
            type: integer
          description: The minimum supported Protocol API version [major, minor]
        robot_model:
          type: string
          enum:
          - OT-2 Standard
          - OT-3 Standard
          description: The model of the robot
        links:
          $ref: '#/components/schemas/HealthLinks'
        logs:
          type: array
          items:
            type: string
          description: Available log file paths
        robot_serial:
          type: string
          description: The robot's serial number
          nullable: true
      required:
      - name
      - api_version
      - fw_version
      - system_version
      - maximum_protocol_api_version
      - minimum_protocol_api_version
      - robot_model