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