openapi: 3.0.1
info:
  title: WebAPI.Host
  version: '3.0'
servers:
  - url: https://{{your_venus_webapi_ip_address}}
    description: Mock server
paths:
  /api/vector/v3/cameras/enabled:
    get:
      tags:
        - Cameras
      summary: Retrieve DeckWatch enabled value.
      operationId: GetDeckWatchEnabled
      responses:
        '200':
          description: Returns true if DeckWatch is enabled, false otherwise.
          content:
            application/json; x-api-version=3.0:
              schema:
                type: boolean
            text/json; x-api-version=3.0:
              schema:
                type: boolean
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/cameras/metadata:
    get:
      tags:
        - Cameras
      summary: Retrieve Camera Metadata
      operationId: GetCamerasMetadata
      responses:
        '200':
          description: Returns Hamilton.CameraService.Models.CameraMetadataResponse object
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CameraMetadataResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CameraMetadataResponse'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/cameras/stream:
    get:
      tags:
        - Cameras
      summary: Fetches information about the given camera's live stream URL.
      operationId: GetLiveCameraStreamUrl
      parameters:
        - name: cameraId
          in: query
          description: The ID of the camera to get live stream
          schema:
            type: string
      responses:
        '200':
          description: Returns System.Uri object
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CameraLiveStreamInfo'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CameraLiveStreamInfo'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/cameras/export-stream:
    get:
      tags:
        - Cameras
      summary: Exports a stream video of the requested recording in .MP4 format.
      operationId: ExportStream
      parameters:
        - name: CameraId
          in: query
          schema:
            type: string
        - name: StartTimeStamp
          in: query
          schema:
            type: string
            format: date-time
        - name: EndTimeStamp
          in: query
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server Error
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/cameras/image:
    get:
      tags:
        - Cameras
      summary: Retrieve Image Url
      operationId: GetImageUrl
      parameters:
        - name: cameraId
          in: query
          description: The ID of the camera to get live stream
          schema:
            type: string
      responses:
        '200':
          description: Returns System.Uri object
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CameraMetadataResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CameraMetadataResponse'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/cameras/start:
    post:
      tags:
        - Cameras
      summary: Start Recording on selected cameras
      operationId: StartRecording
      requestBody:
        description: The IDs of the cameras to trigger start recording
        content:
          application/json; x-api-version=3.0:
            schema:
              type: array
              items:
                type: string
          text/json; x-api-version=3.0:
            schema:
              type: array
              items:
                type: string
          application/*+json; x-api-version=3.0:
            schema:
              type: array
              items:
                type: string
      responses:
        '200':
          description: Returns Ok object
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/cameras/stop:
    post:
      tags:
        - Cameras
      summary: Stop Recording on selected cameras
      operationId: StopRecording
      parameters:
        - name: pathToSaveRecording
          in: query
          description: "The path to save .ave recordings.\r\n            If null, default deckwatch setting for file path is used.\r\n            If a path is provided, save the recordings to that path using auto-generated filenames.\r\n            If a filename alone is provided, save recordings with that name (appended with camera name) in the default location."
          schema:
            type: string
      requestBody:
        description: The IDs of the cameras to trigger stop recording
        content:
          application/json; x-api-version=3.0:
            schema:
              type: array
              items:
                type: string
          text/json; x-api-version=3.0:
            schema:
              type: array
              items:
                type: string
          application/*+json; x-api-version=3.0:
            schema:
              type: array
              items:
                type: string
      responses:
        '200':
          description: Returns Ok object
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/cameras/bookmark:
    post:
      tags:
        - Cameras
      summary: Add a new bookmark to the specified cameras
      operationId: AddBookmark
      requestBody:
        description: The request to add a new bookmark.
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/BookmarkRequest'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/BookmarkRequest'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/BookmarkRequest'
      responses:
        '200':
          description: Returns Ok object
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/devices/deck-layout/{deviceId}:
    get:
      tags:
        - Devices
      summary: Get deck layout for the loaded method.
      operationId: GetDeckLayoutDefinition
      parameters:
        - name: deviceId
          in: path
          description: Device Id returned from OnDeviceCreated event.
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.DeckLayoutData.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/DeckLayoutData'
              example:
                deck:
                  id: string
                  parentId: string
                  anchor:
                    x: 0
                    'y': 0
                    z: 0
                  dimension:
                    x: 0
                    'y': 0
                    z: 0
                  rotation: 0
                  model: string
                  modelOffset:
                    x: 0
                    'y': 0
                    z: 0
                  bitmap: string
                  visible: true
                  originOffset:
                    x: 0
                    'y': 0
                    z: 0
                labware:
                  - templateWrapper:
                      id: string
                      parentId: string
                      anchor:
                        x: 0
                        'y': 0
                        z: 0
                      dimension:
                        x: 0
                        'y': 0
                        z: 0
                      rotation: 0
                      model: string
                      modelOffset:
                        x: 0
                        'y': 0
                        z: 0
                      bitmap: string
                      visible: true
                      originOffset:
                        x: 0
                        'y': 0
                        z: 0
                    rackWrapper:
                      id: string
                      parentId: string
                      anchor:
                        x: 0
                        'y': 0
                        z: 0
                      dimension:
                        x: 0
                        'y': 0
                        z: 0
                      rotation: 0
                      model: string
                      modelOffset:
                        x: 0
                        'y': 0
                        z: 0
                      bitmap: string
                      visible: true
                      numberRows: 0
                      numberCols: 0
                      rowSpacing: 0
                      colSpacing: 0
                      singleContainer: true
                      containers:
                        - shapeOverall: 0
                          id: string
                          deckCoordinate:
                            x: 0
                            'y': 0
                            z: 0
                          dimensions:
                            x: 0
                            'y': 0
                            z: 0
                          model: string
                          modelOffset:
                            x: 0
                            'y': 0
                            z: 0
                          segments:
                            - minZ: 0
                              maxZ: 0
                              shape: 0
                              diameter:
                                x: 0
                                'y': 0
                                z: 0
                      holePositions:
                        additionalProp1:
                          x: 0
                          'y': 0
                          z: 0
                        additionalProp2:
                          x: 0
                          'y': 0
                          z: 0
                        additionalProp3:
                          x: 0
                          'y': 0
                          z: 0
                      covered: true
                    circularRackWrapper:
                      id: string
                      parentId: string
                      anchor:
                        x: 0
                        'y': 0
                        z: 0
                      dimension:
                        x: 0
                        'y': 0
                        z: 0
                      rotation: 0
                      model: string
                      modelOffset:
                        x: 0
                        'y': 0
                        z: 0
                      bitmap: string
                      visible: true
                      segmentCount: 0
                      segments:
                        - numberHoles: 0
                          radius: 0
                          holeAnchors:
                            - x: 0
                              'y': 0
                              z: 0
                      singleContainer: true
                      containers:
                        - shapeOverall: 0
                          id: string
                          deckCoordinate:
                            x: 0
                            'y': 0
                            z: 0
                          dimensions:
                            x: 0
                            'y': 0
                            z: 0
                          model: string
                          modelOffset:
                            x: 0
                            'y': 0
                            z: 0
                          segments:
                            - minZ: 0
                              maxZ: 0
                              shape: 0
                              diameter:
                                x: 0
                                'y': 0
                                z: 0
                    coverWrapper:
                      id: string
                      parentId: string
                      anchor:
                        x: 0
                        'y': 0
                        z: 0
                      dimension:
                        x: 0
                        'y': 0
                        z: 0
                      rotation: 0
                      model: string
                      modelOffset:
                        x: 0
                        'y': 0
                        z: 0
                      bitmap: string
                      visible: true
                      baseOffset: 0
                      coverThickness: 0
                deckLayers:
                  - name: string
                    labware:
                      - string
        '400':
          description: Device Id not found.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Exception message.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/devices/instrument-configuration:
    post:
      tags:
        - Devices
      summary: Get instrument configuration data.
      operationId: GetInstrumentConfiguration
      requestBody:
        description: Hamilton.WebAPI.Common.DeviceConfigurationData.
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/DeviceConfigurationRequest'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/DeviceConfigurationRequest'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/DeviceConfigurationRequest'
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.DeviceConfigurationData.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/DeviceConfigurationData'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/DeviceConfigurationData'
        '400':
          description: Device Id not found.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Exception message.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/devices/registered:
    get:
      tags:
        - Devices
      summary: Gets a set of registered devices.
      operationId: GetRegisteredDevices
      responses:
        '200':
          description: Returns a set of registered devices.
          content:
            application/json; x-api-version=3.0:
              schema:
                title: IList<RegisteredDeviceInfo>
                type: array
                items:
                  $ref: '#/components/schemas/RegisteredDeviceInfo'
            text/json; x-api-version=3.0:
              schema:
                title: IList<RegisteredDeviceInfo>
                type: array
                items:
                  $ref: '#/components/schemas/RegisteredDeviceInfo'
        '400':
          description: Bad request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception or Vector exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/devices/runtime:
    get:
      tags:
        - Devices
      summary: Gets a set of devices used in currently loaded method (runtime devices).
      operationId: GetRuntimeDevices
      responses:
        '200':
          description: Returns a set of runtime devices.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/RuntimeDeviceInfo'
              example:
                deviceId: 12345
                simulation: true
                controlPanelSupport: 1
                windowHandle: 12345
                deviceName: Example_Device
                deviceDisplayName: Example Device Display
                imageFile: example_device.png
                hasDeckLayout: true
        '400':
          description: Bad request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception or vector exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/devices/control-panel/runtime:
    post:
      tags:
        - Devices
      summary: >-
        Opens the Control Panel for a Vector device defined in runtime (on
        method load).
      operationId: OpenDeviceControlPanel
      requestBody:
        description: >-
          Object containing the device Id.
          Hamilton.WebAPI.Common.RuntimeDeviceInput
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/RuntimeDeviceInput'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/RuntimeDeviceInput'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/RuntimeDeviceInput'
      responses:
        '200':
          description: Open dialog request issued to Vector.
          content:
            application/json; x-api-version=3.0:
              schema:
                type: boolean
            text/json; x-api-version=3.0:
              schema:
                type: boolean
        '400':
          description: Bad request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception or Vector exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/devices/control-panel/registered:
    post:
      tags:
        - Devices
      summary: Opens the Control Panel for a Vector device found in Windows registry.
      operationId: OpenDeviceControlPanelRegistered
      requestBody:
        description: >-
          Object containing device name and main window handle.
          Hamilton.WebAPI.Common.RegisteredDeviceInput
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/RegisteredDeviceInput'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/RegisteredDeviceInput'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/RegisteredDeviceInput'
      responses:
        '200':
          description: Open dialog request issued to Vector.
          content:
            application/json; x-api-version=3.0:
              schema:
                type: boolean
            text/json; x-api-version=3.0:
              schema:
                type: boolean
        '400':
          description: Bad request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception or Vector exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/error-handler:
    post:
      tags:
        - ErrorHandler
      summary: Register for runtime instrument error handling.
      description: Key needs to be just letters, digits and no spaces.
      operationId: RegisterRuntimeErrorHandler
      requestBody:
        description: >-
          The key representing the client which is registering for error
          handling
        content:
          application/json; x-api-version=3.0:
            schema:
              type: string
            example: testAppKey
          text/json; x-api-version=3.0:
            schema:
              type: string
            example: testAppKey
      responses:
        '200':
          description: Success.
          content:
            application/json; x-api-version=3.0:
              schema:
                type: string
              example: Error handler registration successful
        '400':
          description: Invalid input.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Registration limit reached.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to register for instrument errors.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
    delete:
      tags:
        - ErrorHandler
      summary: Remove the registration for runtime instrument error handling.
      operationId: UnregisterRuntimeErrorHandler
      requestBody:
        description: >-
          The key representing the client which is unregistering for error
          handling
        content:
          application/json; x-api-version=3.0:
            schema:
              type: string
            example: testAppKey
          text/json; x-api-version=3.0:
            schema:
              type: string
            example: testAppKey
      responses:
        '200':
          description: Success.
          content:
            application/json; x-api-version=3.0:
              schema:
                type: string
                example: Error handler unregistration successful
        '400':
          description: Invalid input.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Conflict.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to unregister for instrument errors.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
    get:
      tags:
        - ErrorHandler
      summary: Determines whether any error handler has been registered.
      description: "This endpoint checks the status of the error handling service and returns\r\na boolean value indicating whether an error handler is available."
      operationId: HasErrorHandler
      responses:
        '200':
          description: Returns `true` if an error handler is registered; otherwise `false`.
          content:
            application/json; x-api-version=3.0:
              schema:
                type: boolean
            text/json; x-api-version=3.0:
              schema:
                type: boolean
        '400':
          description: Bad Request
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: An internal server error occurred while checking for error handlers.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/instrument-errors/unhandled:
    get:
      tags:
        - ErrorHandler
      summary: Retrieves unhandled error information for client to handle.
      operationId: UnhandledDeviceErrorInformation
      responses:
        '200':
          description: Success.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorDataICollectionResponseModel'
              examples:
                tipPickupError:
                  summary: Tip pickup Error
                  description: This is an example tip pickup error.
                  value:
                    data:
                      - actions:
                          - id: 1001
                            description: Cancels the automatic recovery timeout.
                            help: null
                            group: null
                            index: 0
                            name: Cancel automatic recovery
                            inputs: null
                        code: P1:07/76
                        date: '2025-11-06T14:46:03Z'
                        detailedErrors:
                          - attributes:
                              - name: channel
                                value: '1'
                            code: '76'
                            date: '2025-11-06T14:46:03Z'
                            help: null
                            uuid: 9a90fb92-9736-4fb6-9f06-08c0b1a5b9b2
                            index: 0
                            message: Tip already picked up.
                            recoveryActions:
                              - description: Exclude channel and continue.
                                help: null
                                id: 1030
                                index: 0
                                iterations: 0
                                name: Exclude
                                inputs: null
                              - description: Eject tip to waste and repeat.
                                help:
                                  contextId: '155'
                                  location: C:\Vector\Runmaster\Bin\HxGRUCommandEnu.chm
                                id: 1029
                                index: 1
                                iterations: 0
                                name: Waste
                                inputs:
                                  - id: 0
                                    name: Eject to default waste
                                    pattern: null
                                    defaultValue: 'true'
                                    valueType: boolean
                                    options: null
                                    rules:
                                      - type: disableInput
                                        parameter: '1'
                                        value: 'true'
                                      - type: disableInput
                                        parameter: '2'
                                        value: 'true'
                                    index: 0
                                  - id: 1
                                    name: Eject destination
                                    pattern: null
                                    defaultValue: '0'
                                    valueType: option
                                    options:
                                      - id: 0
                                        index: 0
                                        value: Core2_96_TipSupport_LT_Filter_L_0001
                                      - id: 1
                                        index: 1
                                        value: QCG_0001
                                      - id: 2
                                        index: 2
                                        value: MaintenanceNeedles
                                    rules: null
                                    index: 1
                                  - id: 2
                                    name: Sequence counting
                                    pattern: null
                                    defaultValue: '0'
                                    valueType: option
                                    options:
                                      - id: 0
                                        index: 0
                                        value: Manually
                                      - id: 1
                                        index: 1
                                        value: Automatic
                                    rules: null
                                    index: 2
                            actions: null
                        help:
                          contextId: '125'
                          location: C:\Vector\Runmaster\Bin\HxGRUCommandEnu.chm
                        uuid: 88922548-5225-4b3d-9649-d1827147b774
                        deviceId: 273598568
                        message: null
                        notificationSound: C:\Windows\media\Windows Foreground.wav
                        recoveryActions:
                          - description: Execute the selected detail error recoveries.
                            help: null
                            id: 1
                            index: 0
                            iterations: 0
                            name: Execute
                            inputs: null
                          - description: Abort the method.
                            help: null
                            id: 1139
                            index: 1
                            iterations: 0
                            name: Abort
                            inputs: null
                          - description: >-
                              The step is canceled. If there is no user defined
                              error handling implemented, the method aborts.
                            help: null
                            id: 2
                            index: 2
                            iterations: 0
                            name: Cancel
                            inputs: null
                        timeout: 15
                        title: 1000ul Channel Tip Pick Up - Error
                    message: null
                    success: true
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorDataICollectionResponseModel'
              examples:
                tipPickupError:
                  summary: Tip pickup Error
                  description: This is an example tip pickup error.
                  value:
                    data:
                      - actions:
                          - id: 1001
                            description: Cancels the automatic recovery timeout.
                            help: null
                            group: null
                            index: 0
                            name: Cancel automatic recovery
                            inputs: null
                        code: P1:07/76
                        date: '2025-11-06T14:46:03Z'
                        detailedErrors:
                          - attributes:
                              - name: channel
                                value: '1'
                            code: '76'
                            date: '2025-11-06T14:46:03Z'
                            help: null
                            uuid: 9a90fb92-9736-4fb6-9f06-08c0b1a5b9b2
                            index: 0
                            message: Tip already picked up.
                            recoveryActions:
                              - description: Exclude channel and continue.
                                help: null
                                id: 1030
                                index: 0
                                iterations: 0
                                name: Exclude
                                inputs: null
                              - description: Eject tip to waste and repeat.
                                help:
                                  contextId: '155'
                                  location: C:\Vector\Runmaster\Bin\HxGRUCommandEnu.chm
                                id: 1029
                                index: 1
                                iterations: 0
                                name: Waste
                                inputs:
                                  - id: 0
                                    name: Eject to default waste
                                    pattern: null
                                    defaultValue: 'true'
                                    valueType: boolean
                                    options: null
                                    rules:
                                      - type: disableInput
                                        parameter: '1'
                                        value: 'true'
                                      - type: disableInput
                                        parameter: '2'
                                        value: 'true'
                                    index: 0
                                  - id: 1
                                    name: Eject destination
                                    pattern: null
                                    defaultValue: '0'
                                    valueType: option
                                    options:
                                      - id: 0
                                        index: 0
                                        value: Core2_96_TipSupport_LT_Filter_L_0001
                                      - id: 1
                                        index: 1
                                        value: QCG_0001
                                      - id: 2
                                        index: 2
                                        value: MaintenanceNeedles
                                    rules: null
                                    index: 1
                                  - id: 2
                                    name: Sequence counting
                                    pattern: null
                                    defaultValue: '0'
                                    valueType: option
                                    options:
                                      - id: 0
                                        index: 0
                                        value: Manually
                                      - id: 1
                                        index: 1
                                        value: Automatic
                                    rules: null
                                    index: 2
                            actions: null
                        help:
                          contextId: '125'
                          location: C:\Vector\Runmaster\Bin\HxGRUCommandEnu.chm
                        uuid: 88922548-5225-4b3d-9649-d1827147b774
                        deviceId: 273598568
                        message: null
                        notificationSound: C:\Windows\media\Windows Foreground.wav
                        recoveryActions:
                          - description: Execute the selected detail error recoveries.
                            help: null
                            id: 1
                            index: 0
                            iterations: 0
                            name: Execute
                            inputs: null
                          - description: Abort the method.
                            help: null
                            id: 1139
                            index: 1
                            iterations: 0
                            name: Abort
                            inputs: null
                          - description: >-
                              The step is canceled. If there is no user defined
                              error handling implemented, the method aborts.
                            help: null
                            id: 2
                            index: 2
                            iterations: 0
                            name: Cancel
                            inputs: null
                        timeout: 15
                        title: 1000ul Channel Tip Pick Up - Error
                    message: null
                    success: true
        '204':
          description: No Content.
        '400':
          description: Bad Request
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to retrieve instrument errors.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/instrument-errors/{uuid}/recovery:
    post:
      tags:
        - ErrorHandler
      summary: Submit a recovery solution.
      operationId: EndDeviceErrorRecovery
      parameters:
        - name: uuid
          in: path
          description: error identifier
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: >-
          Error recovery
          information.Hamilton.InstrumentErrorRecovery.Models.ErrorRecovery
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ErrorRecovery'
            examples:
              wasteRecovery:
                summary: Waste Error Recovery
                description: Error recovery using the waste recovery action.
                value:
                  date: '2025-11-06T14:46:03Z'
                  uuid: 88922548-5225-4b3d-9649-d1827147b774
                  detailedErrorRecoveries:
                    - date: '2025-11-06T14:46:03Z'
                      uuid: 9a90fb92-9736-4fb6-9f06-08c0b1a5b9b2
                      inputs:
                        - id: 0
                          value: 'false'
                        - id: 1
                          value: '2'
                        - id: 2
                          value: '3'
                      selectedActionId: 1029
                      selectedActionIsRecovery: true
                  inputs: []
                  selectedActionId: 1
                  selectedActionIsRecovery: true
                  errorHandlingKey: testAppKey
              trackGripperRecovery:
                summary: Track Gripper Recovery
                description: Error recovery for the Track Gripper.
                value:
                  date: '2025-09-07T16:00:00Z'
                  uuid: AF5FBE45-A9D3-4C86-8686-6030A8BA5D45
                  detailedErrorRecoveries: []
                  inputs: []
                  selectedActionId: 2
                  selectedActionIsRecovery: true
                  errorHandlingKey: testAppKey
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ErrorRecovery'
            examples:
              wasteRecovery:
                summary: Waste Error Recovery
                description: Error recovery using the waste recovery action.
                value:
                  date: '2025-11-06T14:46:03Z'
                  uuid: 88922548-5225-4b3d-9649-d1827147b774
                  detailedErrorRecoveries:
                    - date: '2025-11-06T14:46:03Z'
                      uuid: 9a90fb92-9736-4fb6-9f06-08c0b1a5b9b2
                      inputs:
                        - id: 0
                          value: 'false'
                        - id: 1
                          value: '2'
                        - id: 2
                          value: '3'
                      selectedActionId: 1029
                      selectedActionIsRecovery: true
                  inputs: []
                  selectedActionId: 1
                  selectedActionIsRecovery: true
                  errorHandlingKey: testAppKey
              trackGripperRecovery:
                summary: Track Gripper Recovery
                description: Error recovery for the Track Gripper.
                value:
                  date: '2025-09-07T16:00:00Z'
                  uuid: AF5FBE45-A9D3-4C86-8686-6030A8BA5D45
                  detailedErrorRecoveries: []
                  inputs: []
                  selectedActionId: 2
                  selectedActionIsRecovery: true
                  errorHandlingKey: testAppKey
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ErrorRecovery'
            examples:
              wasteRecovery:
                summary: Waste Error Recovery
                description: Error recovery using the waste recovery action.
                value:
                  date: '2025-11-06T14:46:03Z'
                  uuid: 88922548-5225-4b3d-9649-d1827147b774
                  detailedErrorRecoveries:
                    - date: '2025-11-06T14:46:03Z'
                      uuid: 9a90fb92-9736-4fb6-9f06-08c0b1a5b9b2
                      inputs:
                        - id: 0
                          value: 'false'
                        - id: 1
                          value: '2'
                        - id: 2
                          value: '3'
                      selectedActionId: 1029
                      selectedActionIsRecovery: true
                  inputs: []
                  selectedActionId: 1
                  selectedActionIsRecovery: true
                  errorHandlingKey: testAppKey
              trackGripperRecovery:
                summary: Track Gripper Recovery
                description: Error recovery for the Track Gripper.
                value:
                  date: '2025-09-07T16:00:00Z'
                  uuid: AF5FBE45-A9D3-4C86-8686-6030A8BA5D45
                  detailedErrorRecoveries: []
                  inputs: []
                  selectedActionId: 2
                  selectedActionIsRecovery: true
                  errorHandlingKey: testAppKey
      responses:
        '200':
          description: Success.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/StringResponseModel'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/StringResponseModel'
        '400':
          description: Invalid input.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Conflict.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to recover instrument errors.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/instrument-errors/{uuid}/action:
    post:
      tags:
        - ErrorHandler
      summary: Submit a recovery action
      operationId: EndDeviceActionRecovery
      parameters:
        - name: uuid
          in: path
          description: error identifier
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: >-
          Recovery information with an action
          included.Hamilton.InstrumentErrorRecovery.Models.ErrorRecovery
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ErrorRecovery'
            examples:
              timeoutAction:
                summary: Cancel Automatic Recovery
                description: Action to cancel automatic recovery.
                value:
                  date: '2025-11-06T14:46:03Z'
                  uuid: 88922548-5225-4b3d-9649-d1827147b774
                  detailedErrorRecoveries: []
                  inputs: []
                  selectedActionId: 1001
                  selectedActionIsRecovery: false
                  errorHandlingKey: testAppKey
              moveUpAction:
                summary: Move Up Action
                description: Detailed action to move a channel up.
                value:
                  date: '2025-11-06T14:46:03Z'
                  uuid: 88922548-5225-4b3d-9649-d1827147b774
                  detailedErrorRecoveries:
                    - date: '2025-11-06T14:46:03Z'
                      uuid: 363ABEE6-2942-4F44-8274-65E51F233AA2
                      inputs: []
                      selectedActionId: 1
                      selectedActionIsRecovery: false
                  inputs: []
                  selectedActionId: -1
                  selectedActionIsRecovery: false
                  errorHandlingKey: testAppKey
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ErrorRecovery'
            examples:
              timeoutAction:
                summary: Cancel Automatic Recovery
                description: Action to cancel automatic recovery.
                value:
                  date: '2025-11-06T14:46:03Z'
                  uuid: 88922548-5225-4b3d-9649-d1827147b774
                  detailedErrorRecoveries: []
                  inputs: []
                  selectedActionId: 1001
                  selectedActionIsRecovery: false
                  errorHandlingKey: testAppKey
              moveUpAction:
                summary: Move Up Action
                description: Detailed action to move a channel up.
                value:
                  date: '2025-11-06T14:46:03Z'
                  uuid: 88922548-5225-4b3d-9649-d1827147b774
                  detailedErrorRecoveries:
                    - date: '2025-11-06T14:46:03Z'
                      uuid: 363ABEE6-2942-4F44-8274-65E51F233AA2
                      inputs: []
                      selectedActionId: 1
                      selectedActionIsRecovery: false
                  inputs: []
                  selectedActionId: -1
                  selectedActionIsRecovery: false
                  errorHandlingKey: testAppKey
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ErrorRecovery'
            examples:
              timeoutAction:
                summary: Cancel Automatic Recovery
                description: Action to cancel automatic recovery.
                value:
                  date: '2025-11-06T14:46:03Z'
                  uuid: 88922548-5225-4b3d-9649-d1827147b774
                  detailedErrorRecoveries: []
                  inputs: []
                  selectedActionId: 1001
                  selectedActionIsRecovery: false
                  errorHandlingKey: testAppKey
              moveUpAction:
                summary: Move Up Action
                description: Detailed action to move a channel up.
                value:
                  date: '2025-11-06T14:46:03Z'
                  uuid: 88922548-5225-4b3d-9649-d1827147b774
                  detailedErrorRecoveries:
                    - date: '2025-11-06T14:46:03Z'
                      uuid: 363ABEE6-2942-4F44-8274-65E51F233AA2
                      inputs: []
                      selectedActionId: 1
                      selectedActionIsRecovery: false
                  inputs: []
                  selectedActionId: -1
                  selectedActionIsRecovery: false
                  errorHandlingKey: testAppKey
      responses:
        '200':
          description: Success.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/StringResponseModel'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/StringResponseModel'
        '400':
          description: Invalid input.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Conflict.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to recover instrument errors.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/files/validation:
    get:
      tags:
        - Files
      summary: Get the file validation status.
      operationId: GetFileValidation
      parameters:
        - name: methodFilePath
          in: query
          description: Method file path to validate.
          schema:
            type: string
      responses:
        '200':
          description: >-
            Returns Hamilton.WebAPI.Common.SecurityCOMValidation enum
            {invalid=0, valid=1, irrelevant=2, validationDisabled=3 }.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SecurityCOMValidation'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SecurityCOMValidation'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: File does not exist.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to get file security validation.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/files/export-method:
    post:
      tags:
        - Files
      summary: Export a single method file collection to package.
      operationId: ExportMethod
      requestBody:
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ExportMethodContract'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ExportMethodContract'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ExportMethodContract'
      responses:
        '200':
          description: >-
            Returns Hamilton.WebAPI.Common.CmdResult object, Saves export
            package file.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/files/export-methods:
    post:
      tags:
        - Files
      summary: Export method files to package.
      operationId: ExportMethods
      requestBody:
        content:
          application/json; x-api-version=3.0:
            schema:
              title: ICollection<ExportMethodContract>
              type: array
              items:
                $ref: '#/components/schemas/ExportMethodContract'
          text/json; x-api-version=3.0:
            schema:
              title: ICollection<ExportMethodContract>
              type: array
              items:
                $ref: '#/components/schemas/ExportMethodContract'
          application/*+json; x-api-version=3.0:
            schema:
              title: ICollection<ExportMethodContract>
              type: array
              items:
                $ref: '#/components/schemas/ExportMethodContract'
      responses:
        '200':
          description: >-
            Returns Hamilton.WebAPI.Common.CmdResult object, Saves export
            package file.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/files/export-method-package:
    post:
      tags:
        - Files
      summary: Export multiple method file collections to archive.
      operationId: ExportMethodPackage
      parameters:
        - name: targetPath
          in: query
          schema:
            type: string
        - name: desc
          in: query
          schema:
            type: string
            default: ''
        - name: comment
          in: query
          schema:
            type: string
            default: ''
        - name: unzipPath
          in: query
          schema:
            type: string
            default: ''
      requestBody:
        content:
          application/json; x-api-version=3.0:
            schema:
              title: ICollection<ExportOptions>
              type: array
              items:
                $ref: '#/components/schemas/ExportOptions'
          text/json; x-api-version=3.0:
            schema:
              title: ICollection<ExportOptions>
              type: array
              items:
                $ref: '#/components/schemas/ExportOptions'
          application/*+json; x-api-version=3.0:
            schema:
              title: ICollection<ExportOptions>
              type: array
              items:
                $ref: '#/components/schemas/ExportOptions'
      responses:
        '200':
          description: >-
            Returns Hamilton.WebAPI.Common.CmdResult object, Saves export
            archive file.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: File not found error.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/files/import-method:
    post:
      tags:
        - Files
      summary: Import a single method file collection from package.
      operationId: ImportMethod
      requestBody:
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ImportMethodContract'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ImportMethodContract'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ImportMethodContract'
      responses:
        '200':
          description: >-
            Returns Hamilton.WebAPI.Common.CmdResult object, Imports files per
            options.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/files/import-methods:
    post:
      tags:
        - Files
      summary: Import multiple method file collections from package.
      operationId: ImportMethods
      requestBody:
        content:
          application/json; x-api-version=3.0:
            schema:
              title: ICollection<ImportMethodContract>
              type: array
              items:
                $ref: '#/components/schemas/ImportMethodContract'
          text/json; x-api-version=3.0:
            schema:
              title: ICollection<ImportMethodContract>
              type: array
              items:
                $ref: '#/components/schemas/ImportMethodContract'
          application/*+json; x-api-version=3.0:
            schema:
              title: ICollection<ImportMethodContract>
              type: array
              items:
                $ref: '#/components/schemas/ImportMethodContract'
      responses:
        '200':
          description: >-
            Returns Hamilton.WebAPI.Common.CmdResult object, Imports files per
            options.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/files/import-method-package:
    post:
      tags:
        - Files
      summary: Imports multiple method file collections from archive.
      operationId: ImportMethodPackage
      parameters:
        - name: archivePath
          in: query
          schema:
            type: string
      requestBody:
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ImportMethodOptions'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ImportMethodOptions'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ImportMethodOptions'
      responses:
        '200':
          description: >-
            Returns Hamilton.WebAPI.Common.CmdResult object, Imports files per
            options.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: File not found error.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/files/verify-manifest:
    post:
      tags:
        - Files
      summary: Verifies the archive file contains the manifest
      operationId: VerifyManifest
      parameters:
        - name: source
          in: query
          schema:
            type: string
        - name: dest
          in: query
          schema:
            type: string
        - name: manifestPath
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.CmdResult object
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: File not found error.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/files/export-diagnostic-files:
    post:
      tags:
        - Files
      summary: Export diagnostic data for a method execution instance.
      description: Output file is created with a .zip extension.
      operationId: ExportDiagnosticFiles
      requestBody:
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ExportDiagnosticContract'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ExportDiagnosticContract'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ExportDiagnosticContract'
      responses:
        '200':
          description: >-
            Returns Hamilton.WebAPI.Common.CmdResult object, Saves export
            package file.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/files/runtime-data:
    get:
      tags:
        - Files
      summary: Get available (or filtered) runtime file information.
      description: >-
        Potentially obviated (deprecated) by
        M:Hamilton.WebAPI.Host.Controllers.V3.FilesController.GetRunHistoryData(System.String,Hamilton.WebAPI.Common.Ordering,System.Int32,System.Int32,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.String).
      operationId: GetRuntimeData
      parameters:
        - name: filter
          in: query
          description: >-
            Boolean flag to filter date range, if true; otherwise all available
            runtime file information is returned.
          schema:
            type: boolean
        - name: fromDate
          in: query
          description: Start date/time if filter = true.
          schema:
            type: string
            format: date-time
        - name: toDate
          in: query
          description: End date/time if filter = true.
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.RuntimeFileList object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/RuntimeFileList'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/RuntimeFileList'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to fetch and return data.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/files/detailed-run-data/{runtimeGuid}:
    get:
      tags:
        - Files
      summary: Get detailed runtime information for a single method execution.
      description: >-
        Potentially obviated (deprecated) by
        M:Hamilton.WebAPI.Host.Controllers.V3.FilesController.GetRunHistoryData(System.String,Hamilton.WebAPI.Common.Ordering,System.Int32,System.Int32,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.String).
      operationId: GetDetailedRunData
      parameters:
        - name: runtimeGuid
          in: path
          description: unique runtime identifier
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.DetailedRuntimeInfo object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/DetailedRuntimeInfo'
              example:
                methodName: string
                dbFileName: string
                runGuid: string
                startTime: '2025-07-17T21:40:15.402Z'
                endTime: '2025-07-17T21:40:15.402Z'
                computerName: string
                runState: string
                duration: 0
                userName: string
                instruments:
                  - instrumentName: string
                    instrumentSerialNumber: string
                    instrumentSimulation: true
                    softwareVersion: string
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to return detailed runtime info for a specific run.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/files/run-history-data:
    get:
      tags:
        - Files
      summary: >-
        Get subset of runtime data log history according to query/filter
        parameters.
      operationId: GetRunHistoryData
      parameters:
        - name: sortProperty
          in: query
          description: >-
            The RuntimeInfo property name to sort the run history records by
            (simple properties only, cannot sort by instrument list).
            Hamilton.WebAPI.Common.RuntimeInfo
          schema:
            type: string
            default: StartTime
        - name: sortOrder
          in: query
          description: >-
            Chronological ordering of run history records returned.
            Hamilton.WebAPI.Common.Ordering
          schema:
            $ref: '#/components/schemas/Ordering'
        - name: startOffset
          in: query
          description: Starting record number (one-based indexing). Default is one.
          schema:
            type: integer
            format: int32
            default: 1
        - name: recordLimit
          in: query
          description: >-
            Limit of records to download. Default is fifty.  For pagination
            support.
          schema:
            type: integer
            format: int32
            default: 50
        - name: startDateRange
          in: query
          description: Datestamp for start of range of records to be returned.
          schema:
            title: Nullable<DateTime>
            type: string
            format: date-time
        - name: endDateRange
          in: query
          description: Datestamp for end of range of records to be returned.
          schema:
            title: Nullable<DateTime>
            type: string
            format: date-time
        - name: runState
          in: query
          description: If supplied the records returned will all match this run state.
          schema:
            type: string
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.DownloadRunHistory
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/DownloadRunHistory'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/DownloadRunHistory'
        '204':
          description: No Content.
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to fetch and return data.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/files/trace:
    get:
      tags:
        - Files
      summary: Get trace file contents for specified run requested.
      operationId: GetRunTraceFile
      parameters:
        - name: methodName
          in: query
          schema:
            type: string
        - name: runGuid
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Returns list of strings with trace file contents.
          content:
            application/json; x-api-version=3.0:
              schema:
                title: List<String>
                type: array
                items:
                  type: string
            text/json; x-api-version=3.0:
              schema:
                title: List<String>
                type: array
                items:
                  type: string
        '400':
          description: Trace file exists on disk, but cannot be read.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Exception message.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/files/asset:
    get:
      tags:
        - Files
      summary: Get asset file requested as a blob.
      operationId: GetAsset
      parameters:
        - name: assetPath
          in: query
          description: Absolute path to asset.
          schema:
            type: string
        - name: assetType
          in: query
          description: File extension to denote the type of asset file requested.
          schema:
            type: string
      responses:
        '200':
          description: Returns Microsoft.AspNetCore.Mvc.FileContentResult
          content:
            application/json; x-api-version=3.0:
              schema:
                type: string
                format: binary
            text/json; x-api-version=3.0:
              schema:
                type: string
                format: binary
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found.
        '500':
          description: Unable to fetch and return data.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/files/artifacts/{artifactName}:
    get:
      tags:
        - Files
      summary: Get build artifact file for InstrumentViewer requested as a blob.
      operationId: GetArtifact
      parameters:
        - name: artifactName
          in: path
          description: Name of InstrumentViewer build artifact.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns Microsoft.AspNetCore.Mvc.FileContentResult
          content:
            application/json; x-api-version=3.0:
              schema:
                type: string
                format: binary
            text/json; x-api-version=3.0:
              schema:
                type: string
                format: binary
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found.
        '500':
          description: Unable to fetch and return data.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/files/streamingassets/{streamingAssetName}:
    get:
      tags:
        - Files
      summary: Get StreamingAsset file for InstrumentViewer requested as a blob.
      operationId: GetStreamingAsset
      parameters:
        - name: streamingAssetName
          in: path
          description: Name of InstrumentViewer StreamingAsset.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns Microsoft.AspNetCore.Mvc.FileContentResult
          content:
            application/json; x-api-version=3.0:
              schema:
                type: string
                format: binary
            text/json; x-api-version=3.0:
              schema:
                type: string
                format: binary
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found.
        '500':
          description: Unable to fetch and return data.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/files/cleanup:
    post:
      tags:
        - Files
      summary: Performs cleanup operations for VENUS log files.
      operationId: CleanupLogFiles
      requestBody:
        description: Venus log file cleanup options.
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/CleanupLogFileContract'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/CleanupLogFileContract'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/CleanupLogFileContract'
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.CmdResult
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to fetch and return data.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/instrumentdata:
    get:
      tags:
        - InstrumentData
      summary: Gets all saved instrument data.
      operationId: GetInstruments
      responses:
        '200':
          description: >-
            Returns a list of Hamilton.WebAPI.Common.InstrumentDataContract
            objects.
          content:
            application/json; x-api-version=3.0:
              schema:
                title: ICollection<InstrumentDataContract>
                type: array
                items:
                  $ref: '#/components/schemas/InstrumentDataContract'
            text/json; x-api-version=3.0:
              schema:
                title: ICollection<InstrumentDataContract>
                type: array
                items:
                  $ref: '#/components/schemas/InstrumentDataContract'
        '400':
          description: Error message.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
    post:
      tags:
        - InstrumentData
      summary: Saves new instrument data.
      operationId: CreateInstrument
      requestBody:
        description: A new Hamilton.WebAPI.Common.InstrumentData object.
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/InstrumentData'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/InstrumentData'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/InstrumentData'
      responses:
        '201':
          description: Returns a new Hamilton.WebAPI.Common.InstrumentDataContract object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/InstrumentDataContract'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/InstrumentDataContract'
        '400':
          description: Error message.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/instrumentdata/{instrumentId}:
    put:
      tags:
        - InstrumentData
      summary: Updates existing instrument data.
      operationId: UpdateInstrument
      parameters:
        - name: instrumentId
          in: path
          description: Id of the instrument to update.
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: An updated Hamilton.WebAPI.Common.InstrumentData object.
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/InstrumentData'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/InstrumentData'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/InstrumentData'
      responses:
        '201':
          description: >-
            Returns an updated Hamilton.WebAPI.Common.InstrumentDataContract
            object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/InstrumentDataContract'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/InstrumentDataContract'
        '400':
          description: Error message.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
    delete:
      tags:
        - InstrumentData
      summary: Deletes an existing instrument data resource.
      operationId: DeleteInstrument
      parameters:
        - name: instrumentId
          in: path
          description: Id of the instrument to delete.
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Resource successfully deleted.
        '400':
          description: Error message.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/execution/analyze:
    post:
      tags:
        - RunExecutor
      summary: Analyze the method file.
      operationId: AnalyzeMethod
      requestBody:
        description: Hamilton.WebAPI.Common.AnalyzeMethodContract
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/AnalyzeMethodContract'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/AnalyzeMethodContract'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/AnalyzeMethodContract'
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.CmdResult object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to analyze method.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/execution/analyze-method-package:
    post:
      tags:
        - RunExecutor
      summary: Analyze the method package file.
      operationId: AnalyzeMethodPackage
      parameters:
        - name: archivePath
          in: query
          description: path to the .hamPackage file
          schema:
            type: string
      requestBody:
        description: >-
          Files are included or excluded to the import path specified in the
          options
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ImportMethodOptions'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ImportMethodOptions'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/ImportMethodOptions'
      responses:
        '200':
          description: Returns list of Hamilton.WebAPI.Common.FileConflict object.
          content:
            application/json; x-api-version=3.0:
              schema:
                title: List<FileConflict>
                type: array
                items:
                  $ref: '#/components/schemas/FileConflict'
            text/json; x-api-version=3.0:
              schema:
                title: List<FileConflict>
                type: array
                items:
                  $ref: '#/components/schemas/FileConflict'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: File not found error.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to analyze method.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/execution/load:
    put:
      tags:
        - RunExecutor
      summary: Load the method file.
      description: Method cannot be started until the Initialized event is fired.
      operationId: LoadMethod
      requestBody:
        description: Hamilton.WebAPI.Common.LoadMethodContract
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/LoadMethodContract'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/LoadMethodContract'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/LoadMethodContract'
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.CmdResult object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to load method.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/execution/input:
    put:
      tags:
        - RunExecutor
      summary: >-
        Use after LoadMethod() (parse) and before StartMethod() to initialize
        method variables.
      description: >-
        Method must be parsed and ready for execution; variables can only be set
        if the method state is Initialized or Paused.
      operationId: SetVariables
      requestBody:
        description: Hamilton.WebAPI.Common.SetVariablesContract
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/SetVariablesContract'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/SetVariablesContract'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/SetVariablesContract'
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.CmdResult object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
        '400':
          description: Malformed request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to set input variables.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/execution/start:
    post:
      tags:
        - RunExecutor
      summary: Start the method.
      operationId: StartMethod
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.CmdResult object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
              example:
                result: true
                message: string
                resetRunExec: true
        '400':
          description: Failure response.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to start method.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/execution/pause:
    post:
      tags:
        - RunExecutor
      summary: Pause the method.
      operationId: PauseMethod
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.CmdResult object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
              example:
                result: true
                message: string
                resetRunExec: true
        '400':
          description: Failure response.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to pause method.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/execution/resume:
    post:
      tags:
        - RunExecutor
      summary: Resume the method.
      operationId: ResumeMethod
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.CmdResult object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
              example:
                result: true
                message: string
                resetRunExec: true
        '400':
          description: Failure response.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to resume method.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/execution/abort:
    post:
      tags:
        - RunExecutor
      summary: Abort the method.
      operationId: AbortMethod
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.CmdResult object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
              example:
                result: true
                message: string
                resetRunExec: true
        '400':
          description: Failure response.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to abort method.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/execution/unload-method:
    post:
      tags:
        - RunExecutor
      summary: Unload method.
      description: >-
        Side effect of unloading method results in cleaning up other s/w objects
        and recycling the run executor process.
      operationId: UnloadMethod
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.CmdResult object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
              example:
                result: true
                message: string
                resetRunExec: true
        '400':
          description: Failure response.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server internal error.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/execution/run-state:
    get:
      tags:
        - RunExecutor
      summary: Get the run state.
      operationId: GetRunState
      responses:
        '200':
          description: Returns value of Hamilton.WebAPI.Common.RunState (enum).
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/RunState'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/RunState'
        '400':
          description: Unable to fetch data.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to process request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/execution/loaded-method:
    get:
      tags:
        - RunExecutor
      summary: Get the current loaded method.
      operationId: GetLoadedMethod
      responses:
        '200':
          description: Returns currently-loaded method (fully-qualified path).
          content:
            application/json; x-api-version=3.0:
              schema:
                type: string
            text/json; x-api-version=3.0:
              schema:
                type: string
        '400':
          description: Unable to fetch data.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to process request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/execution/current-run-data:
    get:
      tags:
        - RunExecutor
      summary: Gets detailed runtime information for currently-running method.
      operationId: GetCurrentRunData
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.DetailedRuntimeInfo object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/DetailedRuntimeInfo'
              example:
                methodName: string
                dbFileName: string
                runGuid: string
                startTime: '2025-07-17T21:40:15.402Z'
                endTime: '2025-07-17T21:40:15.402Z'
                computerName: string
                runState: string
                duration: 0
                userName: string
                instruments:
                  - instrumentName: string
                    instrumentSerialNumber: string
                    instrumentSimulation: true
                    softwareVersion: string
        '400':
          description: Runtime info not found. (e.g., not yet started, or terminated)
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to return detailed runtime info for run.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/execution/realtime-schedule:
    get:
      tags:
        - RunExecutor
      summary: Gets realtime schedule information for current method execution.
      operationId: GetScheduleData
      responses:
        '200':
          description: Returns Hamilton.WebAPI.Common.ScheduleData object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ScheduleData'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ScheduleData'
        '400':
          description: Unable to fetch data.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to return realtime schedule information.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/system/authentication-mode:
    get:
      tags:
        - System
      summary: Gets the Authentication-Mode
      operationId: GetAuthenticationMode
      responses:
        '200':
          description: Success
          content:
            application/json; x-api-version=3.0:
              schema:
                type: string
            text/json; x-api-version=3.0:
              schema:
                type: string
        '400':
          description: Bad Request
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server Error
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/system/paths:
    get:
      tags:
        - System
      summary: Gets the default Vector file paths.
      operationId: GetVectorPaths
      responses:
        '200':
          description: Returns a set of vector paths.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/VectorPathsResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/VectorPathsResult'
        '400':
          description: Bad Request
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception or vector exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Unable to retrieve vector path inforamtion.
      security:
        - Bearer: []
    head:
      tags:
        - System
      summary: Gets the default Vector file paths.
      operationId: GetVectorPathsHead
      responses:
        '200':
          description: Returns a set of vector paths.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/VectorPathsResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/VectorPathsResult'
        '400':
          description: Bad Request
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception or vector exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Unable to retrieve vector path inforamtion.
      security:
        - Bearer: []
  /api/vector/v3/system/venus/version:
    get:
      tags:
        - System
      summary: Gets the universal VENUS version.
      operationId: GetUniversalVersion
      responses:
        '200':
          description: Returns VENUS version information.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/VenusVersionResult'
              example:
                universalVersion: 1.0.0
        '400':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception or vector exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Unable to retrieve version information from the registry.
      security:
        - Bearer: []
    head:
      tags:
        - System
      summary: Gets the universal VENUS version.
      operationId: GetUniversalVersionHead
      responses:
        '200':
          description: Returns VENUS version information.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/VenusVersionResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/VenusVersionResult'
        '400':
          description: Bad Request
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception or vector exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Unable to retrieve version information from the registry.
      security:
        - Bearer: []
  /api/vector/v3/system/venus/archive:
    post:
      tags:
        - System
      summary: Archives Venus logs located in program data.
      operationId: ArchiveVenusLogs
      requestBody:
        content:
          application/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/VenusArchiveRequest'
          text/json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/VenusArchiveRequest'
          application/*+json; x-api-version=3.0:
            schema:
              $ref: '#/components/schemas/VenusArchiveRequest'
      responses:
        '200':
          description: Returns VENUS archive information.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/VenusSystemArchiveResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/VenusSystemArchiveResult'
        '400':
          description: Bad Request.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception or vector exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Unable to archive venus logs.
      security:
        - Bearer: []
  /api/vector/v3/system/invalidate-run-history-cache:
    post:
      tags:
        - System
      summary: Sets the run history cache invalid.
      operationId: InvalidateRunHistoryCache
      responses:
        '200':
          description: Returns 200 Okay
        '400':
          description: Bad Request
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unknown exception.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/system/configuration/simulation:
    put:
      tags:
        - System
      summary: Set Simulation Mode
      operationId: SetSimulationMode
      parameters:
        - name: simulationMode
          in: query
          description: ''
          schema:
            type: boolean
      responses:
        '200':
          description: Success
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/CmdResult'
        '400':
          description: Bad Request
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server Error
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Server Error
      security:
        - Bearer: []
    get:
      tags:
        - System
      summary: Get Simulation Mode
      operationId: GetSimulationMode
      responses:
        '200':
          description: Success
          content:
            application/json; x-api-version=3.0:
              schema:
                type: boolean
            text/json; x-api-version=3.0:
              schema:
                type: boolean
        '400':
          description: Bad Request
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server Error
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Server Error
      security:
        - Bearer: []
  /api/vector/v3/users/logon:
    get:
      tags:
        - Users
      summary: Gets Windows user name and Vector access rights.
      operationId: GetUserLogon
      responses:
        '200':
          description: >-
            Returns Hamilton.WebAPI.Common.UserRightsContainer that contains
            enum {AllAccess=0, Programmer=1, Operator2=2, Operator=3,
            NoAccess=4}.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: >-
                  #/components/schemas/UserRightsContainerRunExecutorValueResponse
            text/json; x-api-version=3.0:
              schema:
                $ref: >-
                  #/components/schemas/UserRightsContainerRunExecutorValueResponse
        '400':
          description: Error message.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to get user rights.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Not connected error.
      security:
        - Bearer: []
  /api/vector/v3/users/display-name:
    get:
      tags:
        - Users
      summary: Gets the display name of the user Run Executor is running under.
      operationId: GetUserDisplayName
      responses:
        '200':
          description: Returns Microsoft.AspNetCore.Mvc.OkObjectResult object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/StringRunExecutorValueResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/StringRunExecutorValueResponse'
        '400':
          description: Bad Request
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to return account display name.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
  /api/vector/v3/users/session-state:
    get:
      tags:
        - Users
      summary: >-
        Gets the current Windows session state (Locked or Unlocked) and the
        timestamp of the last state changed.
      operationId: GetSessionState
      responses:
        '200':
          description: Returns Microsoft.AspNetCore.Mvc.OkObjectResult object.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SessionStateResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/SessionStateResponse'
        '400':
          description: Bad Request
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Unable to return account display name.
          content:
            application/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            text/json; x-api-version=3.0:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Bearer: []
components:
  schemas:
    AVStreamingProtocols:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - None</b></li>\r\n<li><b>1 - WebRTC</b></li>\r\n<li><b>2 - SRT</b></li>\r\n<li><b>3 - RTSP</b></li>\r\n<li><b>4 - RTMP</b></li>\r\n<li><b>5 - HLS</b></li>\r\n</ul>\r\n"
      format: int32
    Action:
      type: object
      properties:
        id:
          type: integer
          format: int32
        description:
          type: string
          nullable: true
        help:
          $ref: '#/components/schemas/Help'
        group:
          type: string
          nullable: true
        index:
          type: integer
          format: int32
        name:
          type: string
          nullable: true
        inputs:
          title: IEnumerable<InputDetail>
          type: array
          items:
            $ref: '#/components/schemas/InputDetail'
          nullable: true
      additionalProperties: false
    ActivityData:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type: string
        state:
          $ref: '#/components/schemas/ActivityProcessingState'
        row:
          type: integer
          format: int32
        color:
          $ref: '#/components/schemas/ColorInfo'
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
      additionalProperties: false
    ActivityProcessingState:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - None</b></li>\r\n<li><b>1 - Ready</b></li>\r\n<li><b>2 - Running</b></li>\r\n<li><b>3 - Processed</b></li>\r\n<li><b>4 - Cancelled</b></li>\r\n</ul>\r\n"
      format: int32
    AnalyzeMethodContract:
      type: object
      properties:
        methodFilePath:
          type: string
      additionalProperties: false
    AttributeDetail:
      type: object
      properties:
        name:
          type: string
          nullable: true
        value:
          type: string
          nullable: true
      additionalProperties: false
    BookmarkRequest:
      type: object
      properties:
        name:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        cameraIds:
          title: ICollection<String>
          type: array
          items:
            type: string
          nullable: true
        startTime:
          type: string
          format: date-time
        duration:
          $ref: '#/components/schemas/TimeSpan'
      additionalProperties: false
    CameraLiveStreamInfo:
      type: object
      properties:
        liveStreamUrl:
          type: string
          format: uri
          nullable: true
        protocol:
          $ref: '#/components/schemas/AVStreamingProtocols'
      additionalProperties: false
    CameraMetadata:
      type: object
      properties:
        id:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        connectionState:
          type: string
          nullable: true
      additionalProperties: false
    CameraMetadataList:
      type: object
      properties:
        cameras:
          title: Collection<CameraMetadata>
          type: array
          items:
            $ref: '#/components/schemas/CameraMetadata'
          nullable: true
      additionalProperties: false
    CameraMetadataResponse:
      type: object
      properties:
        status:
          type: string
        result:
          $ref: '#/components/schemas/CameraMetadataList'
      additionalProperties: false
    CircularRackDefinition:
      type: object
      properties:
        id:
          type: string
        parentId:
          type: string
        anchor:
          $ref: '#/components/schemas/Coordinate'
        dimension:
          $ref: '#/components/schemas/Coordinate'
        rotation:
          type: number
          format: double
        model:
          type: string
        modelOffset:
          $ref: '#/components/schemas/Coordinate'
        bitmap:
          type: string
        visible:
          type: boolean
        color:
          type: integer
          format: int32
        segmentCount:
          type: integer
          format: int32
        segments:
          title: IList<Segment>
          type: array
          items:
            $ref: '#/components/schemas/Segment'
        singleContainer:
          type: boolean
        containers:
          title: List<ContainerDefinition>
          type: array
          items:
            $ref: '#/components/schemas/ContainerDefinition'
      additionalProperties: false
    CleanupLogFileContract:
      type: object
      properties:
        removePermanently:
          type: boolean
        cleanupCutoffUtc:
          type: string
          format: date-time
        archiveFilePath:
          type: string
          nullable: true
      additionalProperties: false
    CmdResult:
      type: object
      properties:
        result:
          type: boolean
          readOnly: true
        message:
          type: string
          readOnly: true
        resetRunExec:
          type: boolean
      additionalProperties: false
    ColorInfo:
      type: object
      properties:
        a:
          type: integer
          format: int32
        r:
          type: integer
          format: int32
        g:
          type: integer
          format: int32
        b:
          type: integer
          format: int32
      additionalProperties: false
    ContainerDefinition:
      type: object
      properties:
        shapeOverall:
          $ref: '#/components/schemas/SegmentShape'
        id:
          type: string
        deckCoordinate:
          $ref: '#/components/schemas/Coordinate'
        dimensions:
          $ref: '#/components/schemas/Coordinate'
        model:
          type: string
        modelOffset:
          $ref: '#/components/schemas/Coordinate'
        segments:
          title: List<ContainerSegment>
          type: array
          items:
            $ref: '#/components/schemas/ContainerSegment'
      additionalProperties: false
    ContainerSegment:
      type: object
      properties:
        minZ:
          type: number
          format: double
        maxZ:
          type: number
          format: double
        shape:
          $ref: '#/components/schemas/SegmentShape'
        diameter:
          $ref: '#/components/schemas/Coordinate'
      additionalProperties: false
    ControlPanelSupport:
      enum:
        - 0
        - 1
        - 2
        - 3
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - None</b></li>\r\n<li><b>1 - Idle</b></li>\r\n<li><b>2 - Pause</b></li>\r\n<li><b>3 - Run</b></li>\r\n</ul>\r\n"
      format: int32
    Coordinate:
      type: object
      properties:
        x:
          type: number
          format: double
        'y':
          type: number
          format: double
        z:
          type: number
          format: double
      additionalProperties: false
    CoverDefinition:
      type: object
      properties:
        id:
          type: string
        parentId:
          type: string
        anchor:
          $ref: '#/components/schemas/Coordinate'
        dimension:
          $ref: '#/components/schemas/Coordinate'
        rotation:
          type: number
          format: double
        model:
          type: string
        modelOffset:
          $ref: '#/components/schemas/Coordinate'
        bitmap:
          type: string
        visible:
          type: boolean
        color:
          type: integer
          format: int32
        baseOffset:
          type: number
          format: double
        coverThickness:
          type: number
          format: double
      additionalProperties: false
    DeckLayerData:
      type: object
      properties:
        name:
          type: string
        labware:
          title: IList<String>
          type: array
          items:
            type: string
      additionalProperties: false
    DeckLayoutData:
      type: object
      properties:
        deck:
          $ref: '#/components/schemas/TemplateDefinition'
        labware:
          title: IList<LabwareWrapper>
          type: array
          items:
            $ref: '#/components/schemas/LabwareWrapper'
        deckLayers:
          title: IList<DeckLayerData>
          type: array
          items:
            $ref: '#/components/schemas/DeckLayerData'
      additionalProperties: false
    DetailedErrorRecovery:
      type: object
      properties:
        date:
          type: string
          format: date-time
        uuid:
          type: string
          format: uuid
        inputs:
          title: IEnumerable<InputValue>
          type: array
          items:
            $ref: '#/components/schemas/InputValue'
          nullable: true
        selectedActionId:
          type: integer
          format: int32
        selectedActionIsRecovery:
          type: boolean
      additionalProperties: false
    DetailedErrors:
      type: object
      properties:
        attributes:
          title: IEnumerable<AttributeDetail>
          type: array
          items:
            $ref: '#/components/schemas/AttributeDetail'
          nullable: true
        code:
          type: string
          nullable: true
        date:
          type: string
          format: date-time
        help:
          $ref: '#/components/schemas/Help'
        uuid:
          type: string
          format: uuid
        index:
          type: integer
          format: int32
        message:
          type: string
          nullable: true
        recoveryActions:
          title: IEnumerable<RecoveryAction>
          type: array
          items:
            $ref: '#/components/schemas/RecoveryAction'
          nullable: true
        actions:
          title: IList<Action>
          type: array
          items:
            $ref: '#/components/schemas/Action'
          nullable: true
        title:
          type: string
          nullable: true
      additionalProperties: false
    DetailedRuntimeInfo:
      type: object
      properties:
        methodName:
          type: string
        dbFileName:
          type: string
        runGuid:
          type: string
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        computerName:
          type: string
        runState:
          type: string
        duration:
          type: number
          format: double
          readOnly: true
        userName:
          type: string
        instruments:
          title: IList<InstrumentInfo>
          type: array
          items:
            $ref: '#/components/schemas/InstrumentInfo'
      additionalProperties: false
    DeviceConfigurationData:
      type: object
      properties:
        deviceID:
          type: integer
          format: int32
        dataDefinition:
          type: string
        dataInstance:
          type: string
        configKeys:
          title: IList<String>
          type: array
          items:
            type: string
        configValues:
          title: IList<String>
          type: array
          items:
            type: string
      additionalProperties: false
    DeviceConfigurationRequest:
      type: object
      properties:
        deviceID:
          type: integer
          description: Device ID
          format: int32
        dataDefinition:
          type: string
          description: Data definition in instrument configuration file
        dataInstance:
          type: string
          description: Data instance (for definition)
        configKeys:
          title: IList<String>
          type: array
          items:
            type: string
          description: List of required configuration keys
      additionalProperties: false
      description: Device Configuration Request
    DirectoryKey:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - NoPath</b></li>\r\n<li><b>1 - Bin</b></li>\r\n<li><b>2 - Config</b></li>\r\n<li><b>3 - Graphic</b></li>\r\n<li><b>4 - Help</b></li>\r\n<li><b>5 - Labware</b></li>\r\n<li><b>6 - Language</b></li>\r\n<li><b>7 - Library</b></li>\r\n<li><b>8 - LogFiles</b></li>\r\n<li><b>9 - Methods</b></li>\r\n<li><b>10 - System</b></li>\r\n<li><b>11 - Other</b></li>\r\n</ul>\r\n"
      format: int32
    DirectoryOption:
      type: object
      properties:
        directoryKey:
          $ref: '#/components/schemas/DirectoryKey'
        pathValue:
          type: string
          nullable: true
      additionalProperties: false
    DownloadRunHistory:
      type: object
      properties:
        sortProperty:
          type: string
        sortOrder:
          $ref: '#/components/schemas/Ordering'
        downloadLimit:
          type: integer
          format: int32
        downloadFirstDateStamp:
          type: string
          format: date-time
        downloadLastDateStamp:
          type: string
          format: date-time
        downloadOffset:
          type: integer
          format: int32
        spanCount:
          type: integer
          format: int32
        spanFirstDateStamp:
          type: string
          format: date-time
        spanLastDateStamp:
          type: string
          format: date-time
        cacheTotalCount:
          type: integer
          format: int32
        cacheFirstDateStamp:
          type: string
          format: date-time
        cacheLastDateStamp:
          type: string
          format: date-time
        subList:
          title: List<RuntimeInfo>
          type: array
          items:
            $ref: '#/components/schemas/RuntimeInfo'
      additionalProperties: false
    ErrorData:
      type: object
      properties:
        actions:
          title: IList<Action>
          type: array
          items:
            $ref: '#/components/schemas/Action'
          nullable: true
        code:
          type: string
          nullable: true
        date:
          type: string
          format: date-time
        detailedErrors:
          title: IList<DetailedErrors>
          type: array
          items:
            $ref: '#/components/schemas/DetailedErrors'
          nullable: true
        help:
          $ref: '#/components/schemas/Help'
        uuid:
          type: string
          format: uuid
        deviceId:
          type: integer
          format: int32
        message:
          type: string
          nullable: true
        notificationSound:
          type: string
          nullable: true
        recoveryActions:
          title: IList<RecoveryAction>
          type: array
          items:
            $ref: '#/components/schemas/RecoveryAction'
          nullable: true
        timeout:
          type: integer
          format: int32
        title:
          type: string
          nullable: true
      additionalProperties: false
    ErrorDataICollectionResponseModel:
      title: ResponseModel<ICollection<ErrorData>>
      type: object
      properties:
        data:
          title: ICollection<ErrorData>
          type: array
          items:
            $ref: '#/components/schemas/ErrorData'
          nullable: true
        message:
          type: string
          nullable: true
        success:
          type: boolean
      additionalProperties: false
    ErrorDataResponseModel:
      title: ResponseModel<ErrorData>
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ErrorData'
        message:
          type: string
          nullable: true
        success:
          type: boolean
      additionalProperties: false
    ErrorRecovery:
      type: object
      properties:
        date:
          type: string
          format: date-time
        uuid:
          type: string
          format: uuid
        detailedErrorRecoveries:
          title: IEnumerable<DetailedErrorRecovery>
          type: array
          items:
            $ref: '#/components/schemas/DetailedErrorRecovery'
          nullable: true
        inputs:
          title: IEnumerable<InputValue>
          type: array
          items:
            $ref: '#/components/schemas/InputValue'
          nullable: true
        selectedActionId:
          type: integer
          format: int32
        selectedActionIsRecovery:
          type: boolean
        errorHandlingKey:
          type: string
          nullable: true
      additionalProperties: false
    ErrorResponse:
      type: object
      properties:
        Message:
          type: string
          description: Error Response Message
        Errors:
          title: Dictionary<String,List<String>>
          type: object
          additionalProperties:
            title: List<String>
            type: array
            items:
              type: string
          description: Errors Dictionary
      additionalProperties: false
      description: Error Response
    ExportDiagnosticContract:
      type: object
      properties:
        methodPath:
          type: string
        runGuid:
          type: string
        filePath:
          type: string
        exportMethod:
          type: boolean
        exportCommTrace:
          type: boolean
        exportVenusLogs:
          type: boolean
      additionalProperties: false
    ExportMethodContract:
      type: object
      properties:
        methodPath:
          type: string
        filePath:
          type: string
        exportOriginalFiles:
          type: boolean
      additionalProperties: false
    ExportOptions:
      type: object
      properties:
        method:
          type: string
        comment:
          type: string
        packageName:
          type: string
        exportLiquidClassDatabase:
          type: boolean
      additionalProperties: false
    FileConflict:
      type: object
      properties:
        source:
          type: string
        sourceLastModified:
          type: string
          format: date-time
        target:
          type: string
        targetLastModified:
          type: string
          format: date-time
        conflictType:
          $ref: '#/components/schemas/ImportConflictType'
        itemType:
          $ref: '#/components/schemas/ItemType'
      additionalProperties: false
    FileRuleType:
      enum:
        - 0
        - 16
        - 17
        - 18
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - None</b></li>\r\n<li><b>16 - ReplaceExisting</b></li>\r\n<li><b>17 - KeepExisting</b></li>\r\n<li><b>18 - AskUser</b></li>\r\n</ul>\r\n"
      format: int32
    Help:
      type: object
      properties:
        contextId:
          type: string
          nullable: true
        location:
          type: string
          nullable: true
      additionalProperties: false
      nullable: true
    ImportConflictType:
      enum:
        - 0
        - 1
        - 2
        - 4
        - 5
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - None</b></li>\r\n<li><b>1 - Size</b></li>\r\n<li><b>2 - NewerSource</b></li>\r\n<li><b>4 - OlderSource</b></li>\r\n<li><b>5 - FileExists</b></li>\r\n</ul>\r\n"
      format: int32
    ImportMethodContract:
      type: object
      properties:
        filePath:
          type: string
        pathRule:
          $ref: '#/components/schemas/PathRuleType'
        fileRule:
          $ref: '#/components/schemas/FileRuleType'
        instrumentRule:
          $ref: '#/components/schemas/InstrumentRuleType'
        importRule:
          $ref: '#/components/schemas/ImportPathType'
        subDirectoryName:
          type: string
        methodPath:
          type: string
        libraryPath:
          type: string
        labwarePath:
          type: string
        miscPath:
          type: string
        importHamiltonFiles:
          type: boolean
      additionalProperties: false
    ImportMethodOptions:
      type: object
      properties:
        includeOriginalFiles:
          type: boolean
        importMode:
          $ref: '#/components/schemas/ImportMode'
        directoryOption:
          title: Collection<DirectoryOption>
          type: array
          items:
            $ref: '#/components/schemas/DirectoryOption'
      additionalProperties: false
    ImportMode:
      enum:
        - 0
        - 1
        - 2
        - 3
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - SystemDefault</b></li>\r\n<li><b>1 - Recovery</b></li>\r\n<li><b>2 - SubdirectoryOfSystemDefault</b></li>\r\n<li><b>3 - UserDefined</b></li>\r\n</ul>\r\n"
      format: int32
    ImportPathType:
      enum:
        - 0
        - 64
        - 65
        - 66
        - 67
        - 68
        - 69
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - None</b></li>\r\n<li><b>64 - DefaultPath</b></li>\r\n<li><b>65 - ExportedPath</b></li>\r\n<li><b>66 - MethodPath</b></li>\r\n<li><b>67 - LibraryPath</b></li>\r\n<li><b>68 - LabwarePath</b></li>\r\n<li><b>69 - OtherPath</b></li>\r\n</ul>\r\n"
      format: int32
    InputDetail:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type: string
          nullable: true
        pattern:
          type: string
          nullable: true
        defaultValue:
          type: string
          nullable: true
        valueType:
          type: string
          nullable: true
        options:
          title: IEnumerable<OptionDetail>
          type: array
          items:
            $ref: '#/components/schemas/OptionDetail'
          nullable: true
        rules:
          title: IEnumerable<Rule>
          type: array
          items:
            $ref: '#/components/schemas/Rule'
          nullable: true
        index:
          type: integer
          format: int32
      additionalProperties: false
    InputValue:
      type: object
      properties:
        id:
          type: integer
          format: int32
        value:
          type: string
          nullable: true
      additionalProperties: false
    InstrumentData:
      type: object
      properties:
        name:
          type: string
        defaultName:
          type: string
        platform:
          type: string
        description:
          type: string
        image:
          type: string
      additionalProperties: false
    InstrumentDataContract:
      type: object
      properties:
        name:
          type: string
        defaultName:
          type: string
        platform:
          type: string
        description:
          type: string
        image:
          type: string
        id:
          type: integer
          format: int32
      additionalProperties: false
    InstrumentInfo:
      type: object
      properties:
        instrumentName:
          type: string
        instrumentSerialNumber:
          type: string
        instrumentSimulation:
          type: boolean
        softwareVersion:
          type: string
      additionalProperties: false
    InstrumentRuleType:
      enum:
        - 0
        - 48
        - 49
        - 50
        - 51
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - None</b></li>\r\n<li><b>48 - ChooseBest</b></li>\r\n<li><b>49 - ChooseNone</b></li>\r\n<li><b>50 - AbortProcedure</b></li>\r\n<li><b>51 - AskUser</b></li>\r\n</ul>\r\n"
      format: int32
    ItemType:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - Void</b></li>\r\n<li><b>1 - SystemConfig</b></li>\r\n<li><b>2 - InstrumentConfig</b></li>\r\n<li><b>3 - InstrumentOptional</b></li>\r\n<li><b>4 - Method</b></li>\r\n<li><b>5 - Library</b></li>\r\n<li><b>6 - Labware</b></li>\r\n<li><b>7 - Other</b></li>\r\n<li><b>8 - AdditionalDependency</b></li>\r\n<li><b>9 - Graphic</b></li>\r\n<li><b>10 - LiquidDB</b></li>\r\n<li><b>11 - PathData</b></li>\r\n</ul>\r\n"
      format: int32
    LabwareWrapper:
      type: object
      properties:
        templateWrapper:
          $ref: '#/components/schemas/TemplateDefinition'
        rackWrapper:
          $ref: '#/components/schemas/RackDefinition'
        circularRackWrapper:
          $ref: '#/components/schemas/CircularRackDefinition'
        coverWrapper:
          $ref: '#/components/schemas/CoverDefinition'
      additionalProperties: false
    LoadMethodContract:
      type: object
      properties:
        filePath:
          type: string
        simulation:
          type: boolean
        parentWindowHandle:
          type: integer
          format: int32
      additionalProperties: false
    OptionDetail:
      type: object
      properties:
        id:
          type: integer
          format: int32
        index:
          type: integer
          format: int32
        value:
          type: string
          nullable: true
      additionalProperties: false
    Ordering:
      enum:
        - 0
        - 1
        - 2
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - None</b></li>\r\n<li><b>1 - Descending</b></li>\r\n<li><b>2 - Ascending</b></li>\r\n</ul>\r\n"
      format: int32
    PathRuleType:
      enum:
        - 0
        - 32
        - 33
        - 34
        - 35
        - 36
        - 37
        - 38
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - None</b></li>\r\n<li><b>32 - SkipFile</b></li>\r\n<li><b>33 - MethodPath</b></li>\r\n<li><b>34 - LibraryPath</b></li>\r\n<li><b>35 - LabwarePath</b></li>\r\n<li><b>36 - OtherPath</b></li>\r\n<li><b>37 - AbortProcedure</b></li>\r\n<li><b>38 - AskUser</b></li>\r\n</ul>\r\n"
      format: int32
    RackDefinition:
      type: object
      properties:
        id:
          type: string
        parentId:
          type: string
        anchor:
          $ref: '#/components/schemas/Coordinate'
        dimension:
          $ref: '#/components/schemas/Coordinate'
        rotation:
          type: number
          format: double
        model:
          type: string
        modelOffset:
          $ref: '#/components/schemas/Coordinate'
        bitmap:
          type: string
        visible:
          type: boolean
        color:
          type: integer
          format: int32
        numberRows:
          type: integer
          format: int32
        numberCols:
          type: integer
          format: int32
        rowSpacing:
          type: number
          format: double
        colSpacing:
          type: number
          format: double
        singleContainer:
          type: boolean
        containers:
          title: List<ContainerDefinition>
          type: array
          items:
            $ref: '#/components/schemas/ContainerDefinition'
        holePositions:
          title: Dictionary<String,Coordinate>
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Coordinate'
        covered:
          type: boolean
      additionalProperties: false
    RecoveryAction:
      type: object
      properties:
        description:
          type: string
          nullable: true
        help:
          $ref: '#/components/schemas/Help'
        id:
          type: integer
          format: int32
        index:
          type: integer
          format: int32
        iterations:
          type: integer
          format: int32
        name:
          type: string
          nullable: true
        inputs:
          title: IEnumerable<InputDetail>
          type: array
          items:
            $ref: '#/components/schemas/InputDetail'
          nullable: true
      additionalProperties: false
    RegisteredDeviceInfo:
      type: object
      properties:
        deviceName:
          type: string
        deviceDisplayName:
          type: string
        imageFile:
          type: string
        hasDeckLayout:
          type: boolean
      additionalProperties: false
    RegisteredDeviceInput:
      type: object
      properties:
        deviceName:
          type: string
        windowHandle:
          type: integer
          format: int32
      additionalProperties: false
    ResourceData:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type: string
        color:
          $ref: '#/components/schemas/ColorInfo'
        unit:
          type: integer
          format: int32
        enabled:
          type: boolean
        activities:
          title: IList<Int32>
          type: array
          items:
            type: integer
            format: int32
      additionalProperties: false
    Rule:
      type: object
      properties:
        type:
          type: string
          nullable: true
        parameter:
          type: string
          nullable: true
        value:
          type: string
          nullable: true
      additionalProperties: false
    RunState:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - NotInitialized</b></li>\r\n<li><b>1 - Initialized</b></li>\r\n<li><b>2 - Running</b></li>\r\n<li><b>3 - Aborting</b></li>\r\n<li><b>4 - Aborted</b></li>\r\n<li><b>5 - Processed</b></li>\r\n<li><b>6 - Pausing</b></li>\r\n<li><b>7 - Paused</b></li>\r\n<li><b>8 - Starting</b></li>\r\n<li><b>9 - Terminating</b></li>\r\n<li><b>10 - Terminated</b></li>\r\n<li><b>11 - Unknown</b></li>\r\n</ul>\r\n"
      format: int32
    RuntimeDeviceInfo:
      type: object
      properties:
        deviceName:
          type: string
        deviceDisplayName:
          type: string
        imageFile:
          type: string
        hasDeckLayout:
          type: boolean
        deviceId:
          type: integer
          format: int32
        simulation:
          type: boolean
        controlPanelSupport:
          $ref: '#/components/schemas/ControlPanelSupport'
        windowHandle:
          type: integer
          format: int32
      additionalProperties: false
    RuntimeDeviceInput:
      type: object
      properties:
        deviceId:
          type: integer
          format: int32
      additionalProperties: false
    RuntimeFileList:
      type: object
      properties:
        files:
          title: ICollection<RuntimeInfo>
          type: array
          items:
            $ref: '#/components/schemas/RuntimeInfo'
          readOnly: true
      additionalProperties: false
    RuntimeInfo:
      type: object
      properties:
        methodName:
          type: string
        dbFileName:
          type: string
        runGuid:
          type: string
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        computerName:
          type: string
        runState:
          type: string
        duration:
          type: number
          format: double
          readOnly: true
      additionalProperties: false
    ScheduleData:
      type: object
      properties:
        tasks:
          title: IList<TaskData>
          type: array
          items:
            $ref: '#/components/schemas/TaskData'
        resources:
          title: IList<ResourceData>
          type: array
          items:
            $ref: '#/components/schemas/ResourceData'
        scheduleState:
          $ref: '#/components/schemas/ScheduleState'
      additionalProperties: false
    ScheduleState:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - Closed</b></li>\r\n<li><b>1 - Opened</b></li>\r\n<li><b>2 - Planning</b></li>\r\n<li><b>3 - Scheduling</b></li>\r\n<li><b>4 - Scheduled</b></li>\r\n<li><b>5 - Controlling</b></li>\r\n<li><b>6 - Finished</b></li>\r\n</ul>\r\n"
      format: int32
    SecurityCOMValidation:
      enum:
        - 0
        - 1
        - 2
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - Invalid</b></li>\r\n<li><b>1 - Valid</b></li>\r\n<li><b>2 - Irrelevant</b></li>\r\n</ul>\r\n"
      format: int32
    Segment:
      type: object
      properties:
        numberHoles:
          type: integer
          format: int32
        radius:
          type: number
          format: double
        holeAnchors:
          type: array
          items:
            $ref: '#/components/schemas/Coordinate'
      additionalProperties: false
    SegmentShape:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - Circle</b></li>\r\n<li><b>1 - Rectangle</b></li>\r\n<li><b>2 - Conic</b></li>\r\n<li><b>3 - VCone</b></li>\r\n<li><b>4 - BaseRound</b></li>\r\n<li><b>5 - BaseVCone</b></li>\r\n<li><b>6 - BaseFlat</b></li>\r\n</ul>\r\n"
      format: int32
    SessionStateResponse:
      type: object
      properties:
        state:
          type: string
        lastChanged:
          type: string
          format: date-time
      additionalProperties: false
    SetVariablesContract:
      type: object
      properties:
        variableNames:
          type: array
          items:
            type: string
        variableValues:
          type: array
          items: {}
      additionalProperties: false
    StringResponseModel:
      title: ResponseModel<String>
      type: object
      properties:
        data:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
        success:
          type: boolean
      additionalProperties: false
    StringRunExecutorValueResponse:
      title: RunExecutorValueResponse<String>
      type: object
      properties:
        succeeded:
          type: boolean
        message:
          type: string
        resetRunExecutor:
          type: boolean
        hasValue:
          type: boolean
          readOnly: true
        value:
          type: string
          nullable: true
      additionalProperties: false
    TaskData:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type: string
        state:
          $ref: '#/components/schemas/TaskState'
        row:
          type: integer
          format: int32
        activities:
          title: IList<ActivityData>
          type: array
          items:
            $ref: '#/components/schemas/ActivityData'
      additionalProperties: false
    TaskState:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
      type: integer
      description: "<p>Possible values:</p>\r\n<ul>\r\n<li><b>0 - None</b></li>\r\n<li><b>1 - NotScheduled</b></li>\r\n<li><b>2 - NotSchedulable</b></li>\r\n<li><b>3 - Scheduled</b></li>\r\n<li><b>4 - Running</b></li>\r\n<li><b>5 - Cancelling</b></li>\r\n<li><b>6 - Cancelled</b></li>\r\n<li><b>7 - Processed</b></li>\r\n<li><b>8 - Unscheduled</b></li>\r\n</ul>\r\n"
      format: int32
    TemplateDefinition:
      type: object
      properties:
        id:
          type: string
        parentId:
          type: string
        anchor:
          $ref: '#/components/schemas/Coordinate'
        dimension:
          $ref: '#/components/schemas/Coordinate'
        rotation:
          type: number
          format: double
        model:
          type: string
        modelOffset:
          $ref: '#/components/schemas/Coordinate'
        bitmap:
          type: string
        visible:
          type: boolean
        color:
          type: integer
          format: int32
        originOffset:
          $ref: '#/components/schemas/Coordinate'
      additionalProperties: false
    TimeSpan:
      type: object
      properties:
        ticks:
          type: integer
          format: int64
        days:
          type: integer
          format: int32
          readOnly: true
        hours:
          type: integer
          format: int32
          readOnly: true
        milliseconds:
          type: integer
          format: int32
          readOnly: true
        microseconds:
          type: integer
          format: int32
          readOnly: true
        nanoseconds:
          type: integer
          format: int32
          readOnly: true
        minutes:
          type: integer
          format: int32
          readOnly: true
        seconds:
          type: integer
          format: int32
          readOnly: true
        totalDays:
          type: number
          format: double
          readOnly: true
        totalHours:
          type: number
          format: double
          readOnly: true
        totalMilliseconds:
          type: number
          format: double
          readOnly: true
        totalMicroseconds:
          type: number
          format: double
          readOnly: true
        totalNanoseconds:
          type: number
          format: double
          readOnly: true
        totalMinutes:
          type: number
          format: double
          readOnly: true
        totalSeconds:
          type: number
          format: double
          readOnly: true
      additionalProperties: false
    UserRightsContainer:
      type: object
      properties:
        userName:
          type: string
        userAccess:
          type: integer
          format: int32
      additionalProperties: false
    UserRightsContainerRunExecutorValueResponse:
      title: RunExecutorValueResponse<UserRightsContainer>
      type: object
      properties:
        succeeded:
          type: boolean
        message:
          type: string
        resetRunExecutor:
          type: boolean
        hasValue:
          type: boolean
          readOnly: true
        value:
          $ref: '#/components/schemas/UserRightsContainer'
      additionalProperties: false
    VectorPathsResult:
      type: object
      properties:
        paths:
          title: Dictionary<String,String>
          type: object
          additionalProperties:
            type: string
          readOnly: true
      additionalProperties: false
    VenusArchiveRequest:
      type: object
      properties:
        destinationPath:
          type: string
      additionalProperties: false
    VenusSystemArchiveResult:
      type: object
      properties:
        archivePath:
          type: string
      additionalProperties: false
    VenusVersionResult:
      type: object
      properties:
        universalVersion:
          type: string
        ivdSystem:
          type: boolean
          readOnly: true
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: http
      description: Enter your JWT token in the text input below.
      scheme: Bearer
      bearerFormat: JWT
