OpenAPI Specification
openapi: 3.1.0
info:
title: Opentrons HTTP Attached Instruments System Control 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: System Control
description: System time and robot control
paths:
/system/time:
get:
tags:
- System Control
summary: Fetch system time and date
description: Get the current system time and date of the robot.
operationId: getSystemTime
parameters:
- $ref: '#/components/parameters/OTVersionHeader'
responses:
'200':
description: Current system time
content:
application/json:
schema:
$ref: '#/components/schemas/SystemTimeResponse'
put:
tags:
- System Control
summary: Set robot time
description: Set the system time on the robot.
operationId: setSystemTime
parameters:
- $ref: '#/components/parameters/OTVersionHeader'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SystemTimeRequest'
responses:
'200':
description: System time updated
content:
application/json:
schema:
$ref: '#/components/schemas/SystemTimeResponse'
components:
schemas:
SystemTimeRequest:
type: object
properties:
data:
type: object
properties:
systemTime:
type: string
format: date-time
description: The time to set on the robot
required:
- systemTime
SystemTimeResponse:
type: object
properties:
data:
type: object
properties:
systemTime:
type: string
format: date-time
description: The current system time in ISO 8601 format
parameters:
OTVersionHeader:
name: Opentrons-Version
in: header
required: true
description: The HTTP API version to use for this request. Must be 2 or higher. Use '*' to get the latest version.
schema:
oneOf:
- type: string
enum:
- '*'
- type: integer
minimum: 2
maximum: 4
example: '*'