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: '*'