openapi: 3.0.1
info: 
 description: "This is the REST interface description of the multiScan100 family. The availability of functions can vary depending on the variant / software package."
 contact: 
  name: SICK
  url: https://www.sick.com/
 version: 2.5.0
 title: "multiScan100 REST interface description"
servers: 
- url: http://{device}/api
  variables: 
   device: 
    default: 192.168.0.1
    description: The IP address of the multiScan100.
tags: 
- name: 1 - General
- name: 2 - Status
- name: 3 - Device
- name: 4 - Basic settings
- name: 5 - Date and system time
- name: 6 - Filter
- name: 7 - Mounting position
- name: 8 - Contamination indication
- name: 9 - Ethernet
- name: 10 - Legacy protocols
- name: 11 - Webserver settings
- name: 12 - Inputs and outputs
- name: 13 - Measurement data output
- name: 14 - IMU data output
- name: 15 - Data reduction
- name: 16 - Region of interest
- name: 17 - Field evaluation
- name: 18 - Object evaluation
- name: 19 - Perpendicular distance
- name: 20 - Operating data
- name: 21 - Diagnostic file
- name: 22 - Detection history
- name: 23 - Firmware update
- name: 24 - Cybersecurity
- name: 25 - Backup/Restore
paths: 
 /checkCredentials:
  post: 
   tags: 
   - 1 - General
   summary: ""
   description: 'Indicates whether authentication succeeded. For more details, see https://github.com/SICKAG/sick_scan_rest_client.'
   operationId: Post/checkCredentials
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       nullable: true
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /update:
  put: 
   tags: 
   - 23 - Firmware update
   summary: ""
   description: "Uploads a firmware file (.spk) to the device. The maximum file size is 100 MB."
   operationId: Put/update
   requestBody:
    content: 
     application/octet-stream:
      schema: 
       type: object
       properties: 
        data:
         type: object
         properties: 
          Type:
           type: string
          Binary:
           type: string
   responses: 
    '200':
     description: successful operation
 /crown/file:
  get: 
   tags: 
   - 21 - Diagnostic file
   summary: ""
   description: "Downloads the diagnostic file (zip file) if one exists."
   operationId: Get/crown/file
   parameters: 
    - name: filePath
      in: query
      description: path
      required: true
      schema: 
       type: string
       example: diagnosisDump.zip
   responses: 
    '200':
     description: successful operation
     content: 
      application/zip: 
       schema: 
        type: string
        format: binary
    '400':
     description: bad operation
    '404':
     description: file not found
    '500':
     description: Server not found
 /parameterbackup:
  get: 
   tags: 
   - 25 - Backup/Restore
   summary: ""
   description: "Downloads the parameter backup file (.json) from the device or uploads it to the device."
   operationId: Get/parameterbackup
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        properties: 
         version:
          type: string
         device identification:
          type: string
         checksum:
          type: string
         parameters:
          type: array
          items: 
           type: object
           properties: 
            userlevel:
             $ref: '#/components/schemas/E_USER_LEVEL_TYPE'
            parameters:
             type: array
             items: 
              type: object
              properties: 
               name:
                type: string
               id:
                type: string
               value:
                oneOf:
                - type: integer
                - type: boolean
                - type: string
                - type: object
                - type: number
  put: 
   tags: 
   - 25 - Backup/Restore
   summary: ""
   description: "Downloads the parameter backup file (.json) from the device or uploads it to the device."
   operationId: Put/parameterbackup
   requestBody:
    content: 
     multipart/form-data:
      schema: 
       type: object
       properties: 
        datei:
         type: string
         format: binary
         description: Json-Datei
   responses: 
    '200':
     description: successful operation
 /DeviceIdent:
  get: 
   tags: 
   - 3 - Device
   summary: ""
   description: 'Returns the device name and the firmware version.'
   operationId: Get/DeviceIdent
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           Name:
            type: string
            default: "multiScan"
            maxLength: 9
           Version:
            type: string
            default: "2.5.0.0R"
            maxLength: 8
 /LocationName:
  get: 
   tags: 
   - 3 - Device
   summary: ""
   description: 'Returns/sets the device name.'
   operationId: Get/LocationName
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            LocationName:
             type: string
             default: "not defined"
             maxLength: 32
           example:
            LocationName: TestDevice
  post: 
   tags: 
   - 3 - Device
   summary: ""
   description: |
    Returns/sets the device name.

     This function requires at least user level: Authorized Client.
   operationId: Post/LocationName
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          LocationName:
           type: string
           default: "not defined"
           maxLength: 32
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /SerialNumber:
  get: 
   tags: 
   - 3 - Device
   summary: ""
   description: 'Returns the serial number.'
   operationId: Get/SerialNumber
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            SerialNumber:
             type: string
             default: "123456789"
             maxLength: 9
 /FirmwareVersion:
  get: 
   tags: 
   - 3 - Device
   summary: ""
   description: 'Returns the current firmware version.'
   operationId: Get/FirmwareVersion
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            FirmwareVersion:
             type: string
             default: "XXXXXXXXXX"
             maxLength: 40
 /SetPassword:
  post: 
   tags: 
   - 1 - General
   summary: ""
   description: 'Sets the password for the CoLa A/B interface only. In this example, the password for user level: Service (4) is set to - test - (integer value of the password hash - test -). For more details, see https://github.com/SICKAG/sick_scan_rest_client.'
   operationId: Post/SetPassword
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        data:
         type: object
         properties: 
          siUserLevel:
           type: integer
          udiNewPassword:
           type: integer
         example:
          siUserLevel: 4
          udiNewPassword: 3410122659
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           bSuccess:
            type: boolean
            default: false
 /getChallenge:
  post: 
   tags: 
   - 1 - General
   summary: ""
   description: Returns a challenge for the challenge-response authentication method. For more details, see https://github.com/SICKAG/sick_scan_rest_client
   operationId: Post
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        data:
         type: object
         properties: 
          user:
           $ref: '#/components/schemas/E_USER_LEVEL_TYPE'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         challenge:
          type: object
          properties: 
           realm:
            type: string
            default: " "
           nonce:
            type: string
            default: " "
           opaque:
            type: string
            default: " "
           salt:
            type: array
            maxItems: 16
            minItems: 0
            default: []
            items: 
             type: integer
 /changePassword:
  post: 
   tags: 
   - 1 - General
   summary: ""
   description: 'Sets the password for the REST interface. For more details, see https://github.com/SICKAG/sick_scan_rest_client.'
   operationId: Post/changePassword
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        data:
         type: object
         properties: 
          encryptedMessage:
           type: array
           maxItems: 96
           minItems: 0
           default: []
           items: 
            type: integer
          userLevel:
           $ref: '#/components/schemas/E_USER_LEVEL_TYPE'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           result:
            type: integer
            default: 0
            enum: 
            - 0
            - 2
            - 4
            - 5
            description: >
             Mapping:
              * 0 - SUCCESS
              * 2 - NOT_ACCEPTED
              * 4 - PWD_NOT_CHANGABLE
              * 5 - TIMELOCK_ACTIVE
 /EnableUserLevel:
  post: 
   tags: 
   - 1 - General
   summary: ""
   description: |
    Activates/deactivates a specific user level for the REST interface.

     This function requires at least user level: Service.
   operationId: Post/EnableUserLevel
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          userLevel:
           type: integer
          isEnabled:
           type: boolean
           default: false
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           result:
            type: integer
            default: 0
            enum: 
            - 0
            - 2
            description: >
             Mapping:
              * 0 - SUCCESS
              * 2 - NOT_ACCEPTED
 /OrderNumber:
  get: 
   tags: 
   - 3 - Device
   summary: ""
   description: 'Returns the order number (SICK part number).'
   operationId: Get/OrderNumber
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            OrderNumber:
             type: string
             default: "1234567"
             maxLength: 32
 /DeviceStatus:
  get: 
   tags: 
   - 2 - Status
   summary: ""
   description: 'Returns the device state (9 possible states).'
   operationId: Get/DeviceStatus
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            DeviceStatus:
             $ref: '#/components/schemas/DeviceStatus'
 /WriteEeprom:
  post: 
   tags: 
   - 1 - General
   summary: ""
   description: |
    Saves all parameters permanently.

     This function requires at least user level: Authorized Client.
   operationId: Post/WriteEeprom
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           Success:
            type: boolean
            default: False
 /SoftReset:
  post: 
   tags: 
   - 1 - General
   summary: ""
   description: |
    Reboots the device. All unsaved parameters are lost. This function requires the user level: Service.

     This function requires at least user level: Authorized Client.
   operationId: Post/SoftReset
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          ProcessorNbr:
           type: integer
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /RebootDevice:
  post: 
   tags: 
   - 1 - General
   summary: ""
   description: |
    Reboots the device. All parameters are saved. This function requires the user level: Service.

     This function requires at least user level: Authorized Client.
   operationId: Post/RebootDevice
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /LoadFactoryDefaults:
  post: 
   tags: 
   - 1 - General
   summary: ""
   description: |
    Resets all parameters to default. This function requires the user level: Service.

     This function requires at least user level: Service.
   operationId: Post/LoadFactoryDefaults
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /LoadApplicationDefaults:
  post: 
   tags: 
   - 1 - General
   summary: ""
   description: |
    Resets only the user parameterization of the fields, evaluation cases, and parameters under the section "Application". Other parameters like interface settings, echo filter, etc. remain unchanged. This function requires the user level: Service.

     This function requires at least user level: Authorized Client.
   operationId: Post/LoadApplicationDefaults
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /LastParaDate:
  get: 
   tags: 
   - 20 - Operating data
   summary: ""
   description: 'Returns the last date (e.g. 12.11.2024) when a permanent parameter save was executed.'
   operationId: Get/LastParaDate
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            LastParaDate:
             type: string
             default: "DD.MM.YYYY"
             maxLength: 10
 /LastParaTime:
  get: 
   tags: 
   - 20 - Operating data
   summary: ""
   description: 'Returns the last time (e.g. 13:24) when a permanent parameter save was executed.'
   operationId: Get/LastParaTime
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            LastParaTime:
             type: string
             default: "HH:MM"
             maxLength: 5
 /DoDiagnosisDump:
  post: 
   tags: 
   - 21 - Diagnostic file
   summary: ""
   description: |
    Creates a diagnostic file (zip file) for further analysis.

     This function requires at least user level: Service.
   operationId: Post/DoDiagnosisDump
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          DoRunlevelLoop:
           type: boolean
           default: False
          Output:
           type: string
           default: " "
           maxLength: 64
         example:
          DoRunlevelLoop: True
          Output: 'file'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           Successful:
            type: boolean
            default: False
 /GetDiagnosisDumpInfo:
  post: 
   tags: 
   - 21 - Diagnostic file
   summary: ""
   description: 'Returns additional metadata about the diagnostic file.'
   operationId: Post/GetDiagnosisDumpInfo
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       nullable: true
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           DiagDumpExists:
            type: boolean
            default: False
           DiagDumpTimestamp:
            type: integer
          example:
           DiagDumpExists: true
           DiagDumpTimestamp: 247
 /EtherIPAddress:
  get: 
   tags: 
   - 9 - Ethernet
   summary: ""
   description: 'Returns/sets the static IP address in use.'
   operationId: Get/EtherIPAddress
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            EtherIPAddress:
             type: array
             maxItems: 4
             minItems: 4
             default: [192,168,0,1]
             items: 
              type: integer
  post: 
   tags: 
   - 9 - Ethernet
   summary: ""
   description: |
    Returns/sets the static IP address in use.

     This function requires at least user level: Authorized Client.
   operationId: Post/EtherIPAddress
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EtherIPAddress:
           type: array
           maxItems: 4
           minItems: 4
           default: [192,168,0,1]
           items: 
            type: integer
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /EtherIPGateAddress:
  get: 
   tags: 
   - 9 - Ethernet
   summary: ""
   description: 'Returns/sets the default gateway address.'
   operationId: Get/EtherIPGateAddress
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            EtherIPGateAddress:
             type: array
             maxItems: 4
             minItems: 4
             default: [0,0,0,0]
             items: 
              type: integer
  post: 
   tags: 
   - 9 - Ethernet
   summary: ""
   description: |
    Returns/sets the default gateway address.

     This function requires at least user level: Authorized Client.
   operationId: Post/EtherIPGateAddress
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EtherIPGateAddress:
           type: array
           maxItems: 4
           minItems: 4
           default: [0,0,0,0]
           items: 
            type: integer
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /EtherIPMask:
  get: 
   tags: 
   - 9 - Ethernet
   summary: ""
   description: 'Returns/sets the subnet mask.'
   operationId: Get/EtherIPMask
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            EtherIPMask:
             type: array
             maxItems: 4
             minItems: 4
             default: [255,255,255,0]
             items: 
              type: integer
  post: 
   tags: 
   - 9 - Ethernet
   summary: ""
   description: |
    Returns/sets the subnet mask.

     This function requires at least user level: Authorized Client.
   operationId: Post/EtherIPMask
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EtherIPMask:
           type: array
           maxItems: 4
           minItems: 4
           default: [255,255,255,0]
           items: 
            type: integer
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /EtherAuxEnabled:
  get: 
   tags: 
   - 10 - Legacy protocols
   summary: ""
   description: 'Enables/disables the legacy interface CoLa A/B. If enabled, CoLa A uses port 2111 and CoLa B uses port 2112.'
   operationId: Get/EtherAuxEnabled
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            EtherAuxEnabled:
             type: boolean
             default: True
  post: 
   tags: 
   - 10 - Legacy protocols
   summary: ""
   description: |
    Enables/disables the legacy interface CoLa A/B. If enabled, CoLa A uses port 2111 and CoLa B uses port 2112.

     This function requires at least user level: Authorized Client.
   operationId: Post/EtherAuxEnabled
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EtherAuxEnabled:
           type: boolean
           default: True
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /EtherCoLaScanMode:
  get: 
   tags: 
   - 10 - Legacy protocols
   summary: ""
   description: 'Configures the device search by SICK tools. If disabled, finding the device via device search and changing the IP address via SICK tools is not possible.'
   operationId: Get/EtherCoLaScanMode
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            EtherCoLaScanMode:
             type: integer
             default: 3
             enum: 
             - 0
             - 1
             - 2
             - 3
             description: >
              Mapping:
               * 0 - ENABLED
               * 1 - IP_CONFIG_DISABLED
               * 2 - DISABLED
               * 3 - IP_CONFIG_TIME_LIMIT
  post: 
   tags: 
   - 10 - Legacy protocols
   summary: ""
   description: |
    Configures the device search by SICK tools. If disabled, finding the device via device search and changing the IP address via SICK tools is not possible.

     This function requires at least user level: Authorized Client.
   operationId: Post/EtherCoLaScanMode
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EtherCoLaScanMode:
           type: integer
           default: 3
           enum: 
           - 0
           - 1
           - 2
           - 3
           description: >
            Mapping:
             * 0 - ENABLED
             * 1 - IP_CONFIG_DISABLED
             * 2 - DISABLED
             * 3 - IP_CONFIG_TIME_LIMIT
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /EtherAddressingMode:
  get: 
   tags: 
   - 9 - Ethernet
   summary: ""
   description: 'Returns/sets the mode for the IP address assignment (static or DHCP).'
   operationId: Get/EtherAddressingMode
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            EtherAddressingMode:
             type: integer
             default: 0
             enum: 
             - 0
             - 1
             description: >
              Mapping:
               * 0 - TX_IP_STATIC
               * 1 - TX_IP_DHCP
  post: 
   tags: 
   - 9 - Ethernet
   summary: ""
   description: |
    Returns/sets the mode for the IP address assignment (static or DHCP).

     This function requires at least user level: Authorized Client.
   operationId: Post/EtherAddressingMode
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EtherAddressingMode:
           type: integer
           default: 0
           enum: 
           - 0
           - 1
           description: >
            Mapping:
             * 0 - TX_IP_STATIC
             * 1 - TX_IP_DHCP
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /EtherDHCPFallback:
  get: 
   tags: 
   - 9 - Ethernet
   summary: ""
   description: 'Returns/sets the mode for the DHCP fallback (retry or static).'
   operationId: Get/EtherDHCPFallback
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            EtherDHCPFallback:
             type: integer
             default: 0
             enum: 
             - 0
             - 1
             description: >
              Mapping:
               * 0 - TX_USE_STATIC_IP
               * 1 - TX_RETRY_DHCP
  post: 
   tags: 
   - 9 - Ethernet
   summary: ""
   description: |
    Returns/sets the mode for the DHCP fallback (retry or static).

     This function requires at least user level: Authorized Client.
   operationId: Post/EtherDHCPFallback
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EtherDHCPFallback:
           type: integer
           default: 0
           enum: 
           - 0
           - 1
           description: >
            Mapping:
             * 0 - TX_USE_STATIC_IP
             * 1 - TX_RETRY_DHCP
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /EthernetUpdate:
  post: 
   tags: 
   - 9 - Ethernet
   summary: ""
   description: |
    Applies the ethernet settings. This needs to be executed to actually change the ethernet settings.

     This function requires at least user level: Authorized Client.
   operationId: Post/EthernetUpdate
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /httpsStatus:
  get: 
   tags: 
   - 24 - Cybersecurity
   summary: ""
   description: 'Returns the status of the HTTPS interface.'
   operationId: Get/httpsStatus
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           enabled:
            type: boolean
            default: False
           errorCode:
            $ref: '#/components/schemas/httpsError_t'
 /certificateBundleInfo:
  get: 
   tags: 
   - 24 - Cybersecurity
   summary: ""
   description: 'Returns information about the uploaded certificate bundle.'
   operationId: Get/certificateBundleInfo
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           uuidBundle:
            type: string
            default: " "
            maxLength: 100
           certificates:
            type: array
            maxItems: 4
            minItems: 0
            default: []
            items: 
             type: object
             properties: 
              names:
               type: array
               maxItems: 20
               minItems: 0
               default: []
               items: 
                type: object
                properties: 
                 entry:
                  type: string
                  default: " "
                  maxLength: 1000
              issuer:
               type: string
               default: " "
               maxLength: 1000
              subject:
               type: string
               default: " "
               maxLength: 1000
              serialNumber:
               type: string
               default: " "
               maxLength: 119
              fingerprint:
               type: string
               default: " "
               maxLength: 119
              validNotBefore:
               type: string
               default: "                        "
               maxLength: 24
               minLength: 24
              validNotAfter:
               type: string
               default: "                        "
               maxLength: 24
               minLength: 24
           errorCode:
            $ref: '#/components/schemas/httpsError_t'
 /removeCertificateBundle:
  post: 
   tags: 
   - 24 - Cybersecurity
   summary: ""
   description: |
    Removes the uploaded certificate bundle.

     This function requires at least user level: Service.
   operationId: Post/removeCertificateBundle
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           success:
            type: boolean
            default: False
           errorCode:
            $ref: '#/components/schemas/httpsError_t'
 /setCertificateBundle:
  post: 
   tags: 
   - 24 - Cybersecurity
   summary: ""
   description: |
    Uploads a certificate bundle in the PEM format via JSON.

     This function requires at least user level: Service.
   operationId: Post/setCertificateBundle
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          contentCertificateBundle:
           type: string
           default: " "
           maxLength: 10000
          contentPrivateKey:
           type: string
           default: " "
           maxLength: 4000
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           success:
            type: boolean
            default: False
           errorCode:
            $ref: '#/components/schemas/httpsError_t'
 /EtherIPAddressDHCP:
  get: 
   tags: 
   - 9 - Ethernet
   summary: ""
   description: 'Returns the assigned DHCP IP address.'
   operationId: Get/EtherIPAddressDHCP
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            EtherIPAddressDHCP:
             type: array
             maxItems: 4
             minItems: 4
             default: [192,168,0,1]
             items: 
              type: integer
 /EtherIPGateAddressDHCP:
  get: 
   tags: 
   - 9 - Ethernet
   summary: ""
   description: 'Returns the assigned DHCP default gateway address.'
   operationId: Get/EtherIPGateAddressDHCP
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            EtherIPGateAddressDHCP:
             type: array
             maxItems: 4
             minItems: 4
             default: [0,0,0,0]
             items: 
              type: integer
 /EtherIPMaskDHCP:
  get: 
   tags: 
   - 9 - Ethernet
   summary: ""
   description: 'Returns the assigned DHCP subnet mask.'
   operationId: Get/EtherIPMaskDHCP
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            EtherIPMaskDHCP:
             type: array
             maxItems: 4
             minItems: 4
             default: [255,255,255,0]
             items: 
              type: integer
 /SetWebserverEnabled:
  post: 
   tags: 
   - 11 - Webserver settings
   summary: ""
   description: |
    Sets the availability of the web server (reboot required). If disabled, the web-based GUI and the REST interface can no longer be used.

     This function requires at least user level: Authorized Client.
   operationId: Post/SetWebserverEnabled
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          Enable:
           type: boolean
           default: True
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /GetWebserverEnabled:
  post: 
   tags: 
   - 11 - Webserver settings
   summary: ""
   description: 'Returns the availability of the web server.'
   operationId: Post/GetWebserverEnabled
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       nullable: true
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           IsEnabled:
            type: boolean
            default: True
 /EnableLegacyUserLevel:
  post: 
   tags: 
   - 1 - General
   summary: ""
   description: |
    Activates/deactivates a specific user level for the CoLa A/B interface.

     This function requires at least user level: Service.
   operationId: Post/EnableLegacyUserLevel
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          userLevel:
           type: integer
           minimum: 0
           maximum: 7
          isEnabled:
           type: boolean
           default: False
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           result:
            type: boolean
            default: False
 /EtherMACAddress:
  get: 
   tags: 
   - 9 - Ethernet
   summary: ""
   description: 'Returns the MAC address of the Ethernet interface.'
   operationId: Get/EtherMACAddress
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            EtherMACAddress:
             type: array
             maxItems: 6
             minItems: 6
             default: [0,6,0x77,0,0,0]
             items: 
              type: integer
 /PowerOnCnt:
  get: 
   tags: 
   - 20 - Operating data
   summary: ""
   description: 'Returns the number of power-on cycles.'
   operationId: Get/PowerOnCnt
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            PowerOnCnt:
             type: integer
             default: 0
 /DailyOpHours:
  get: 
   tags: 
   - 20 - Operating data
   summary: ""
   description: 'Returns the runtime duration since the last power-on (non-persistent).'
   operationId: Get/DailyOpHours
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            DailyOpHours:
             type: number
             default: 0.0
 /OpHours:
  get: 
   tags: 
   - 20 - Operating data
   summary: ""
   description: 'Returns the total number of operating hours during the lifetime of the device. The resolution is one-tenth of an hour.'
   operationId: Get/OpHours
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            OpHours:
             type: integer
             default: 0
 /DeviceType:
  get: 
   tags: 
   - 3 - Device
   summary: ""
   description: 'Returns the device type.'
   operationId: Get/DeviceType
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            DeviceType:
             type: string
             default: "multiScan1xxx"
             maxLength: 18
 /RunFirmwareUpdate:
  post: 
   tags: 
   - 23 - Firmware update
   summary: ""
   description: |
    Starts the firmware update process. This function requires the user level: Service.

     This function requires at least user level: Service.
   operationId: Post/RunFirmwareUpdate
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /UpdateState:
  get: 
   tags: 
   - 23 - Firmware update
   summary: ""
   description: 'Returns the state of the update process.'
   operationId: Get/UpdateState
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            UpdateState:
             type: integer
             default: 0
             enum: 
             - 0
             - 1
             - 2
             - 3
             description: >
              Mapping:
               * 0 - Initial
               * 1 - Started
               * 2 - Finished
               * 3 - Error
 /CreateParameterBackup:
  post: 
   tags: 
   - 25 - Backup/Restore
   summary: ""
   description: |
    Creates a parameter backup file.

     This function requires at least user level: Service.
   operationId: Post/CreateParameterBackup
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          Passphrase:
           type: string
           default: " "
           maxLength: 256
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           Result:
            type: boolean
            default: False
 /RestoreParameterBackup:
  post: 
   tags: 
   - 25 - Backup/Restore
   summary: ""
   description: |
    Restores the device parameters from the uploaded backup file.

     This function requires at least user level: Service.
   operationId: Post/RestoreParameterBackup
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          Passphrase:
           type: string
           default: " "
           maxLength: 256
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           RestoreResult:
            $ref: '#/components/schemas/RestoreBackupResult'
           ParametersFailedToRestore:
            type: array
            maxItems: 100
            minItems: 0
            default: []
            items: 
             type: string
             default: " "
             maxLength: 256
 /SCdevicestate:
  get: 
   tags: 
   - 2 - Status
   summary: ""
   description: 'Returns the device state (busy, ready, or error).'
   operationId: Get/SCdevicestate
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            SCdevicestate:
             type: integer
             default: 0
             enum: 
             - 0
             - 1
             - 2
             description: >
              Mapping:
               * 0 - Busy
               * 1 - Ready
               * 2 - Error
 /FieldEvaluationResult:
  get: 
   tags: 
   - 17 - Field evaluation
   summary: ""
   description: 'Returns the state of all possible fields.'
   operationId: Get/FieldEvaluationResult
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            FieldEvaluationResult:
             $ref: '#/components/schemas/FieldEvaluationResult_t'
 /ActivateEvaluationGroup:
  post: 
   tags: 
   - 17 - Field evaluation
   summary: ""
   description: 'Sets the activation condition for all existing field evaluation groups (not configured, active, or inactive).'
   operationId: Post/ActivateEvaluationGroup
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        data:
         type: object
         properties: 
          List:
           type: array
           maxItems: 48
           minItems: 0
           default: []
           items: 
            type: object
            properties: 
             GroupId:
              type: integer
              minimum: 1
              maximum: 48
              default: 1
             Activate:
              type: boolean
              default: false
         example:
          List:
           - GroupId: 1
             Activate: True
           - GroupId: 2
             Activate: False
           - GroupId: 3
             Activate: True
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           Success:
            type: array
            maxItems: 48
            minItems: 0
            default: []
            items: 
             type: boolean
             default: false
 /SetFieldEvaluationContour:
  post: 
   tags: 
   - 17 - Field evaluation
   summary: ""
   description: |
    Sets the contour of an existing field.

     This function requires at least user level: Authorized Client.
   operationId: Post/SetFieldEvaluationContour
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EvaluationId:
           type: integer
          Points:
           type: array
           maxItems: 100
           minItems: 0
           default: []
           items: 
            type: object
            properties: 
             x:
              type: integer
              default: 0
             y:
              type: integer
          LowerZLimit:
           type: integer
           minimum: -100000
           maximum: 100000
          UpperZLimit:
           type: integer
           minimum: -100000
           maximum: 100000
         example:
          EvaluationId: 1
          LowerZLimit: 0
          UpperZLimit: 0
          Points:
           - x: 0
             y: -1000
           - x: 1000
             y: -1000
           - x: 1000
             y: 1000
           - x: 0
             y: 1000
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           ErrorCode:
            type: integer
            default: 0
            enum: 
            - 0
            - 1
            - 2
            - 3
            description: >
             Mapping:
              * 0 - SOPAS_ERR_NO_ERR
              * 1 - SOPAS_ERR_INVALID_EVALUATION_ID
              * 2 - SOPAS_ERR_INVALID_POLYGON
              * 3 - SOPAS_ERR_INVALID_ZLIM
 /GetFieldEvaluationContour:
  post: 
   tags: 
   - 17 - Field evaluation
   summary: ""
   description: |
    Returns the contour of an existing field.

     This function requires at least user level: Authorized Client.
   operationId: Post/GetFieldEvaluationContour
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EvaluationId:
           type: integer
         example:
          EvaluationId: 1
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           Contour:
            type: array
            maxItems: 1
            minItems: 0
            default: []
            items: 
             type: object
             properties: 
              EvaluationId:
               type: integer
              Points:
               type: array
               maxItems: 100
               minItems: 0
               default: []
               items: 
                type: object
                properties: 
                 x:
                  type: integer
                  default: 0
                 y:
                  type: integer
                  default: 0
              LowerZLimit:
               type: integer
               minimum: -100000
               maximum: 100000
              UpperZLimit:
               type: integer
               minimum: -100000
               maximum: 100000
 /SetFieldEvaluationConfiguration:
  post: 
   tags: 
   - 17 - Field evaluation
   summary: ""
   description: |
    Sets the configuration of a field evaluation.

     This function requires at least user level: Authorized Client.
   operationId: Post/SetFieldEvaluationConfiguration
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EvaluationId:
           type: integer
          Name:
           type: string
           default: " "
           maxLength: 20
          Configuration:
           $ref: '#/components/schemas/Evaluation_t'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           ErrorCode:
            type: integer
            default: 0
            enum: 
            - 0
            - 1
            - 2
            description: >
             Mapping:
              * 0 - SOPAS_ERR_NO_ERR
              * 1 - SOPAS_ERR_INVALID_EVALUATION_ID
              * 2 - SOPAS_ERR_INVALID_CONFIGURATION
 /GetFieldEvaluationConfiguration:
  post: 
   tags: 
   - 17 - Field evaluation
   summary: ""
   description: |
    Gets the configuration of a field evaluation.

     This function requires at least user level: Authorized Client.
   operationId: Post/GetFieldEvaluationConfiguration
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EvaluationId:
           type: integer
         example:
          EvaluationId: 1
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           Configuration:
            type: array
            maxItems: 1
            minItems: 0
            default: []
            items: 
             type: object
             properties: 
              EvaluationId:
               type: integer
              Name:
               type: string
               default: " "
               maxLength: 20
              Configuration:
               $ref: '#/components/schemas/Evaluation_t'
 /EvaluationConfigState:
  get: 
   tags: 
   - 17 - Field evaluation
   summary: ""
   description: 'Returns the performance state of an evaluation configuration.'
   operationId: Get/EvaluationConfigState
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           ActiveBeamsLimit:
            type: integer
            default: 0
            enum: 
            - 0
            - 1
            - 2
            description: >
             Mapping:
              * 0 - OK
              * 1 - WARNING
              * 2 - EXCEEDED
           ActiveEvaluationsLimit:
            type: integer
            default: 0
            enum: 
            - 0
            - 1
            - 2
            description: >
             Mapping:
              * 0 - OK
              * 1 - WARNING
              * 2 - EXCEEDED
           NumberOfIntersectingBeams:
            type: array
            maxItems: 48
            minItems: 0
            default: []
            items: 
             type: integer
           InputIsOutputErrorList:
            type: array
            maxItems: 48
            minItems: 0
            items: 
             type: integer
 /FieldEvaluationGroupState:
  get: 
   tags: 
   - 17 - Field evaluation
   summary: ""
   description: 'Returns the activation condition for all existing field evaluation groups (not configured, active, or inactive).'
   operationId: Get/FieldEvaluationGroupState
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            FieldEvaluationGroupState:
             type: array
             maxItems: 48
             minItems: 48
             items: 
              type: integer
              default: 0
              enum: 
              - 0
              - 1
              - 2
              description: >
               Mapping:
                * 0 - NOT_CONFIGURED
                * 1 - ACTIVE
                * 2 - INACTIVE
 /FieldEvaluationApplicationState:
  get: 
   tags: 
   - 17 - Field evaluation
   summary: ""
   description: 'Returns the state (DEACTIVATED, ACTIVE, CONFIGURING, ERROR) of the field evaluation.'
   operationId: Get/FieldEvaluationApplicationState
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            FieldEvaluationApplicationState:
             type: integer
             default: 0
             enum: 
             - 0
             - 1
             - 2
             - 3
             description: >
              Mapping:
               * 0 - DEACTIVATED
               * 1 - ACTIVE
               * 2 - CONFIGURING
               * 3 - ERROR
 /EnableDetectionHistory:
  get: 
   tags: 
   - 22 - Detection history
   summary: ""
   description: 'Enables/disables detection history.'
   operationId: Get/EnableDetectionHistory
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            EnableDetectionHistory:
             type: boolean
             default: True
  post: 
   tags: 
   - 22 - Detection history
   summary: ""
   description: |
    Enables/disables detection history.

     This function requires at least user level: Authorized Client.
   operationId: Post/EnableDetectionHistory
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EnableDetectionHistory:
           type: boolean
           default: True
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /EvaluationsToLog:
  get: 
   tags: 
   - 22 - Detection history
   summary: ""
   description: 'Returns/sets which evaluations are logged when they are in use.'
   operationId: Get/EvaluationsToLog
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            EvaluationsToLog:
             type: array
             maxItems: 48
             minItems: 48
             items: 
              type: boolean
              default: True
  post: 
   tags: 
   - 22 - Detection history
   summary: ""
   description: |
    Returns/sets which evaluations are logged when they are in use.

     This function requires at least user level: Authorized Client.
   operationId: Post/EvaluationsToLog
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EvaluationsToLog:
           type: array
           maxItems: 48
           minItems: 48
           items: 
            type: boolean
            default: True
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /ResetDetectionHistory:
  post: 
   tags: 
   - 22 - Detection history
   summary: ""
   description: |
    Resets the detection history logs.

     This function requires at least user level: Authorized Client.
   operationId: Post/ResetDetectionHistory
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /ContaminationConfig:
  get: 
   tags: 
   - 8 - Contamination indication
   summary: ""
   description: 'Returns/sets the contamination indication settings such as sensitivity, response time, threshold for warning, and active sectors.'
   operationId: Get/ContaminationConfig
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           eStrategy:
            type: integer
            default: 0
            enum: 
            - 0
            - 1
            - 2
            description: >
             Mapping:
              * 0 - CM_STRATEGY_INACTIVE
              * 1 - CM_STRATEGY_HIGH_AVAILABLE
              * 2 - CM_STRATEGY_SENSITIVE
           usiResponseTime:
            type: integer
            minimum: 3
            maximum: 60
            default: 3
           eThreshold:
            type: integer
            default: 0
            enum: 
            - 0
            - 1
            - 2
            description: >
             Mapping:
              * 0 - CM_LOW
              * 1 - CM_MID
              * 2 - CM_HIGH
           eCover:
            type: integer
            default: 0
            enum: 
            - 0
            - 6
            - 255
            description: >
             Mapping:
              * 0 - CM_COVER_NONE
              * 6 - CM_COVER
              * 255 - CM_COVER_CUSTOM_SECTORS
           CustomSectors:
            type: array
            maxItems: 12
            minItems: 0
            default: []
            items: 
             type: boolean
             default: True
           bEnableWarning:
            type: boolean
            default: True
           bEnableError:
            type: boolean
            default: True
  post: 
   tags: 
   - 8 - Contamination indication
   summary: ""
   description: |
    Returns/sets the contamination indication settings such as sensitivity, response time, threshold for warning, and active sectors.

     This function requires at least user level: Authorized Client.
   operationId: Post/ContaminationConfig
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          ContaminationConfig:
           type: object
           properties: 
            eStrategy:
             type: integer
             default: 0
             enum: 
             - 0
             - 1
             - 2
             description: >
              Mapping:
               * 0 - CM_STRATEGY_INACTIVE
               * 1 - CM_STRATEGY_HIGH_AVAILABLE
               * 2 - CM_STRATEGY_SENSITIVE
            usiResponseTime:
             type: integer
             minimum: 3
             maximum: 60
             default: 3
            eThreshold:
             type: integer
             default: 0
             enum: 
             - 0
             - 1
             - 2
             description: >
              Mapping:
               * 0 - CM_LOW
               * 1 - CM_MID
               * 2 - CM_HIGH
            eCover:
             type: integer
             default: 0
             enum: 
             - 0
             - 6
             - 255
             description: >
              Mapping:
               * 0 - CM_COVER_NONE
               * 6 - CM_COVER
               * 255 - CM_COVER_CUSTOM_SECTORS
            CustomSectors:
             type: array
             maxItems: 12
             minItems: 0
             default: []
             items: 
              type: boolean
              default: True
            bEnableWarning:
             type: boolean
             default: True
            bEnableError:
             type: boolean
             default: True
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /ContaminationActiveSectors:
  get: 
   tags: 
   - 8 - Contamination indication
   summary: ""
   description: 'Returns which sectors are included in the contamination result calculation. Each element is true if the corresponding sector is included and false otherwise.'
   operationId: Get/ContaminationActiveSectors
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            ContaminationActiveSectors:
             type: array
             maxItems: 12
             minItems: 0
             default: []
             items: 
              type: boolean
              default: False
 /ContaminationData:
  get: 
   tags: 
   - 8 - Contamination indication
   summary: ""
   description: 'Returns the contamination state of all contamination sectors.'
   operationId: Get/ContaminationData
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            ContaminationData:
             type: array
             maxItems: 12
             minItems: 0
             default: []
             items: 
              type: integer
              default: 0
              enum: 
              - 0
              - 1
              - 2
              - 3
              description: >
               Mapping:
                * 0 - CM_DATA_NONE
                * 1 - CM_DATA_CLEAN
                * 2 - CM_DATA_WARN
                * 3 - CM_DATA_ERROR
 /ContaminationResult:
  get: 
   tags: 
   - 8 - Contamination indication
   summary: ""
   description: 'Returns the contamination indication state of the device.'
   operationId: Get/ContaminationResult
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           bWarningActive:
            type: boolean
            default: False
           bErrorActive:
            type: boolean
            default: False
 /ScanDataEthSettings:
  get: 
   tags: 
   - 13 - Measurement data output
   summary: ""
   description: 'Returns/sets the destination IP address settings for measurement data streaming (UDP).'
   operationId: Get/ScanDataEthSettings
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           Protocol:
            type: integer
            default: 1
            enum: 
            - 1
            - 2
            description: >
             Mapping:
              * 1 - UDP
              * 2 - TCP
           IPAddress:
            type: array
            maxItems: 4
            minItems: 0
            default: [192,168,0,100]
            items: 
             type: integer
           Port:
            type: integer
            default: 2115
  post: 
   tags: 
   - 13 - Measurement data output
   summary: ""
   description: |
    Returns/sets the destination IP address settings for measurement data streaming (UDP).

     This function requires at least user level: Authorized Client.
   operationId: Post/ScanDataEthSettings
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          ScanDataEthSettings:
           type: object
           properties: 
            Protocol:
             type: integer
             default: 1
             enum: 
             - 1
             - 2
             description: >
              Mapping:
               * 1 - UDP
               * 2 - TCP
            IPAddress:
             type: array
             maxItems: 4
             minItems: 0
             default: [192,168,0,100]
             items: 
              type: integer
            Port:
             type: integer
             default: 2115
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /ScanDataEnable:
  get: 
   tags: 
   - 13 - Measurement data output
   summary: ""
   description: 'Enables/disables the measurement data streaming. The measurement data itself is sent via a UDP-based SICK-specific format. A Python example can be found at https://github.com/SICKAG/ScanSegmentAPI.'
   operationId: Get/ScanDataEnable
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            ScanDataEnable:
             type: boolean
             default: False
  post: 
   tags: 
   - 13 - Measurement data output
   summary: ""
   description: |
    Enables/disables the measurement data streaming. The measurement data itself is sent via a UDP-based SICK-specific format. A Python example can be found at https://github.com/SICKAG/ScanSegmentAPI.

     This function requires at least user level: Authorized Client.
   operationId: Post/ScanDataEnable
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          ScanDataEnable:
           type: boolean
           default: False
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /ScanDataFormat:
  get: 
   tags: 
   - 13 - Measurement data output
   summary: ""
   description: 'Returns/sets the scan data format (e.g. Compact format).'
   operationId: Get/ScanDataFormat
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            ScanDataFormat:
             type: integer
             default: 2
             enum: 
             - 1
             - 2
             - 3
             - 4
             description: >
              Mapping:
               * 1 - MSGPACK
               * 2 - Compact
               * 3 - LMDscandata
               * 4 - NativeROS2
  post: 
   tags: 
   - 13 - Measurement data output
   summary: ""
   description: |
    Returns/sets the scan data format (e.g. Compact format).

     This function requires at least user level: Authorized Client.
   operationId: Post/ScanDataFormat
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          ScanDataFormat:
           type: integer
           default: 2
           enum: 
           - 1
           - 2
           - 3
           - 4
           description: >
            Mapping:
             * 1 - MSGPACK
             * 2 - Compact
             * 3 - LMDscandata
             * 4 - NativeROS2
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /groundFilterEnable:
  get: 
   tags: 
   - 6 - Filter
   summary: ""
   description: 'Returns/sets whether the ground filter is enabled.'
   operationId: Get/groundFilterEnable
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            groundFilterEnable:
             type: boolean
             default: False
  post: 
   tags: 
   - 6 - Filter
   summary: ""
   description: |
    Returns/sets whether the ground filter is enabled.

     This function requires at least user level: Authorized Client.
   operationId: Post/groundFilterEnable
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          groundFilterEnable:
           type: boolean
           default: False
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /groundFilterThresholds:
  get: 
   tags: 
   - 6 - Filter
   summary: ""
   description: 'Returns/sets the ground filter thresholds.'
   operationId: Get/groundFilterThresholds
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           minimumDistance:
            type: integer
            minimum: -10000
            maximum: 0
            default: -100
           maximumDistance:
            type: integer
            minimum: 0
            maximum: 10000
            default: 100
  post: 
   tags: 
   - 6 - Filter
   summary: ""
   description: |
    Returns/sets the ground filter thresholds.

     This function requires at least user level: Authorized Client.
   operationId: Post/groundFilterThresholds
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          groundFilterThresholds:
           type: object
           properties: 
            minimumDistance:
             type: integer
             minimum: -10000
             maximum: 0
             default: -100
            maximumDistance:
             type: integer
             minimum: 0
             maximum: 10000
             default: 100
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /groundFilterType:
  get: 
   tags: 
   - 6 - Filter
   summary: ""
   description: 'Returns the ground filter type. Currently, the ground filter only works on plain measurement data (P3D algorithm). The option IMU is currently not available.'
   operationId: Get/groundFilterType
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            groundFilterType:
             type: integer
             default: 0
             enum: 
             - 0
             - 1
             description: >
              Mapping:
               * 0 - P3D
               * 1 - IMU
 /ImuDataEthSettings:
  get: 
   tags: 
   - 14 - IMU data output
   summary: ""
   description: 'Returns/sets the destination IP address settings for IMU data streaming (UDP).'
   operationId: Get/ImuDataEthSettings
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           Protocol:
            type: integer
            default: 1
            enum: 
            - 1
            - 2
            description: >
             Mapping:
              * 1 - UDP
              * 2 - TCP
           IPAddress:
            type: array
            maxItems: 4
            minItems: 0
            default: [192,168,0,100]
            items: 
             type: integer
           Port:
            type: integer
            default: 7503
  post: 
   tags: 
   - 14 - IMU data output
   summary: ""
   description: |
    Returns/sets the destination IP address settings for IMU data streaming (UDP).

     This function requires at least user level: Authorized Client.
   operationId: Post/ImuDataEthSettings
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          ImuDataEthSettings:
           type: object
           properties: 
            Protocol:
             type: integer
             default: 1
             enum: 
             - 1
             - 2
             description: >
              Mapping:
               * 1 - UDP
               * 2 - TCP
            IPAddress:
             type: array
             maxItems: 4
             minItems: 0
             default: [192,168,0,100]
             items: 
              type: integer
            Port:
             type: integer
             default: 7503
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /ImuDataEnable:
  get: 
   tags: 
   - 14 - IMU data output
   summary: ""
   description: 'Enables/disables IMU data streaming.'
   operationId: Get/ImuDataEnable
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            ImuDataEnable:
             type: boolean
             default: false
  post: 
   tags: 
   - 14 - IMU data output
   summary: ""
   description: |
    Enables/disables IMU data streaming.

     This function requires at least user level: Authorized Client.
   operationId: Post/ImuDataEnable
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          ImuDataEnable:
           type: boolean
           default: false
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /InertialMeasurementUnit:
  get: 
   tags: 
   - 14 - IMU data output
   summary: ""
   description: 'Returns the current IMU data (e.g. acceleration and orientation). The data uses a coordinate system based on DIN 70000. The x-axis lies on the 90-degree beam of the 0-degree layer. The y-axis is perpendicular to the x-axis and lies in the 0-degree layer. The y-values increase in the counterclockwise rotation direction (right-handed system). The z-axis is perpendicular to the x-y plane, with positive values pointing toward the top of the scanner.'
   operationId: Get/InertialMeasurementUnit
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           Acceleration:
            type: array
            maxItems: 3
            minItems: 0
            default: []
            items: 
             type: number
             default: 0.0
           AngularVelocity:
            type: array
            maxItems: 3
            minItems: 0
            default: []
            items: 
             type: number
             default: 0.0
           Orientation:
            type: array
            maxItems: 4
            minItems: 0
            default: []
            items: 
             type: number
             default: 0.0
           TimeStamp:
            type: integer
 /CopySensorOrientationFromImu:
  post: 
   tags: 
   - 7 - Mounting position
   summary: ""
   description: |
    Copies the roll and pitch angles from the IMU data to the sensor orientation.

     This function requires at least user level: Authorized Client.
   operationId: Post/CopySensorOrientationFromImu
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /PortConfiguration:
  get: 
   tags: 
   - 12 - Inputs and outputs
   summary: ""
   description: 'Returns/sets the port configuration of all I/Os.'
   operationId: Get/PortConfiguration
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            PortConfiguration:
             type: array
             maxItems: 8
             minItems: 8
             items: 
              type: object
              properties: 
               PortType:
                type: integer
                default: 0
                enum: 
                - 0
                - 1
                - 2
                description: >
                 Mapping:
                  * 0 - INPUT
                  * 1 - OUTPUT
                  * 2 - ENCODER
               Name:
                type: string
                default: "IOx"
                maxLength: 20
               InputSettings:
                type: object
                properties: 
                 Logic:
                  $ref: '#/components/schemas/Logic_t'
                 Debounce:
                  type: integer
                  minimum: 1
                  maximum: 1000
                  default: 10
                 Sensitivity:
                  type: integer
                  default: 0
                  enum: 
                  - 0
                  - 1
                  description: >
                   Mapping:
                    * 0 - EDGE
                    * 1 - LEVEL
                 Reserved1:
                  type: integer
                  default: 0
                 Reserved2:
                  type: integer
                  default: 0
               OutputSettings:
                type: object
                properties: 
                 Logic:
                  $ref: '#/components/schemas/Logic_t'
                 OutputMode:
                  type: integer
                  default: 0
                  enum: 
                  - 0
                  - 1
                  - 2
                  description: >
                   Mapping:
                    * 0 - PNP
                    * 1 - NPN
                    * 2 - PUSH_PULL
                 RestartType:
                  type: integer
                  default: 0
                  enum: 
                  - 0
                  - 1
                  - 2
                  description: >
                   Mapping:
                    * 0 - RESTART_IMMEDATE
                    * 1 - RESTART_TIME
                    * 2 - RESTART_INPUT
                 RestartTime:
                  type: integer
                  minimum: 20
                  maximum: 600000
                  default: 200
                 RestartInput:
                  type: integer
                  minimum: 1
                  maximum: 8
                  default: 1
                 Combination:
                  type: integer
                  default: 1
                  enum: 
                  - 0
                  - 1
                  - 2
                  description: >
                   Mapping:
                    * 0 - AND
                    * 1 - OR
                    * 2 - XOR
                 Reserved3:
                  type: integer
                  default: 0
                 Reserved4:
                  type: integer
                  default: 0
                 Sources:
                  type: array
                  maxItems: 128
                  minItems: 0
                  default: []
                  items: 
                   type: object
                   properties: 
                    Name:
                     type: string
                     default: "    "
                     maxLength: 4
                     minLength: 4
                    Invert:
                     type: boolean
                     default: False
                    Reserved5:
                     type: integer
                     default: 0
                    Reserved6:
                     type: integer
                     default: 0
               EncoderPortType:
                type: integer
                default: 0
                enum: 
                - 0
                - 1
                - 2
                - 3
                - 4
                description: >
                 Mapping:
                  * 0 - NONE
                  * 1 - ENCODER_A
                  * 2 - ENCODER_B
                  * 3 - AUX1
                  * 4 - AUX2
               Reserved8:
                type: integer
                default: 0
               Reserved9:
                type: integer
                default: 0
               Reserved10:
                type: integer
                default: 0
  post: 
   tags: 
   - 12 - Inputs and outputs
   summary: ""
   description: |
    Returns/sets the port configuration of all I/Os.

     This function requires at least user level: Authorized Client.
   operationId: Post/PortConfiguration
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          PortConfiguration:
           type: array
           maxItems: 8
           minItems: 8
           items: 
            type: object
            properties: 
             PortType:
              type: integer
              default: 0
              enum: 
              - 0
              - 1
              - 2
              description: >
               Mapping:
                * 0 - INPUT
                * 1 - OUTPUT
                * 2 - ENCODER
             Name:
              type: string
              default: "IOx"
              maxLength: 20
             InputSettings:
              type: object
              properties: 
               Logic:
                $ref: '#/components/schemas/Logic_t'
               Debounce:
                type: integer
                minimum: 1
                maximum: 1000
                default: 10
               Sensitivity:
                type: integer
                default: 0
                enum: 
                - 0
                - 1
                description: >
                 Mapping:
                  * 0 - EDGE
                  * 1 - LEVEL
               Reserved1:
                type: integer
                default: 0
               Reserved2:
                type: integer
                default: 0
             OutputSettings:
              type: object
              properties: 
               Logic:
                $ref: '#/components/schemas/Logic_t'
               OutputMode:
                type: integer
                default: 0
                enum: 
                - 0
                - 1
                - 2
                description: >
                 Mapping:
                  * 0 - PNP
                  * 1 - NPN
                  * 2 - PUSH_PULL
               RestartType:
                type: integer
                default: 0
                enum: 
                - 0
                - 1
                - 2
                description: >
                 Mapping:
                  * 0 - RESTART_IMMEDATE
                  * 1 - RESTART_TIME
                  * 2 - RESTART_INPUT
               RestartTime:
                type: integer
                minimum: 20
                maximum: 600000
                default: 200
               RestartInput:
                type: integer
                minimum: 1
                maximum: 8
                default: 1
               Combination:
                type: integer
                default: 1
                enum: 
                - 0
                - 1
                - 2
                description: >
                 Mapping:
                  * 0 - AND
                  * 1 - OR
                  * 2 - XOR
               Reserved3:
                type: integer
                default: 0
               Reserved4:
                type: integer
                default: 0
               Sources:
                type: array
                maxItems: 128
                minItems: 0
                default: []
                items: 
                 type: object
                 properties: 
                  Name:
                   type: string
                   default: "    "
                   maxLength: 4
                   minLength: 4
                  Invert:
                   type: boolean
                   default: False
                  Reserved5:
                   type: integer
                   default: 0
                  Reserved6:
                   type: integer
                   default: 0
             EncoderPortType:
              type: integer
              default: 0
              enum: 
              - 0
              - 1
              - 2
              - 3
              - 4
              description: >
               Mapping:
                * 0 - NONE
                * 1 - ENCODER_A
                * 2 - ENCODER_B
                * 3 - AUX1
                * 4 - AUX2
             Reserved8:
              type: integer
              default: 0
             Reserved9:
              type: integer
              default: 0
             Reserved10:
              type: integer
              default: 0
         example:
          PortConfiguration:
          - PortType: 0
            Name: InOut1
            InputSettings:
              Logic: 0
              Debounce: 1
              Sensitivity: 1
              Reserved1: 0
              Reserved2: 0
            OutputSettings:
              Logic: 1
              OutputMode: 0
              RestartType: 0
              RestartTime: 200
              RestartInput: 1
              Combination: 1
              Reserved3: 0
              Reserved4: 0
              Sources: []
            Reserved7: 0
            Reserved8: 0
            Reserved9: 0
            Reserved10: 0
          - PortType: 1
            Name: InOut2
            InputSettings:
              Logic: 0
              Debounce: 10
              Sensitivity: 1
              Reserved1: 0
              Reserved2: 0
            OutputSettings:
              Logic: 1
              OutputMode: 2
              RestartType: 0
              RestartTime: 200
              RestartInput: 1
              Combination: 1
              Reserved3: 0
              Reserved4: 0
              Sources:
              - Name: DRDY
                Invert: false
                Reserved5: 0
                Reserved6: 0
            Reserved7: 0
            Reserved8: 0
            Reserved9: 0
            Reserved10: 0
          - PortType: 1
            Name: InOut3
            InputSettings:
              Logic: 0
              Debounce: 10
              Sensitivity: 1
              Reserved1: 0
              Reserved2: 0
            OutputSettings:
              Logic: 0
              OutputMode: 0
              RestartType: 0
              RestartTime: 200
              RestartInput: 1
              Combination: 1
              Reserved3: 0
              Reserved4: 0
              Sources:
              - Name: FE01
                Invert: false
                Reserved5: 0
                Reserved6: 0
            Reserved7: 0
            Reserved8: 0
            Reserved9: 0
            Reserved10: 0
          - PortType: 0
            Name: InOut4
            InputSettings:
              Logic: 0
              Debounce: 10
              Sensitivity: 1
              Reserved1: 0
              Reserved2: 0
            OutputSettings:
              Logic: 0
              OutputMode: 0
              RestartType: 0
              RestartTime: 200
              RestartInput: 1
              Combination: 1
              Reserved3: 0
              Reserved4: 0
              Sources: []
            Reserved7: 0
            Reserved8: 0
            Reserved9: 0
            Reserved10: 0
          - PortType: 0
            Name: InOut5
            InputSettings:
              Logic: 0
              Debounce: 10
              Sensitivity: 1
              Reserved1: 0
              Reserved2: 0
            OutputSettings:
              Logic: 0
              OutputMode: 0
              RestartType: 0
              RestartTime: 200
              RestartInput: 1
              Combination: 1
              Reserved3: 0
              Reserved4: 0
              Sources: []
            Reserved7: 0
            Reserved8: 0
            Reserved9: 0
            Reserved10: 0
          - PortType: 0
            Name: InOut6
            InputSettings:
              Logic: 0
              Debounce: 10
              Sensitivity: 1
              Reserved1: 0
              Reserved2: 0
            OutputSettings:
              Logic: 0
              OutputMode: 0
              RestartType: 0
              RestartTime: 200
              RestartInput: 1
              Combination: 1
              Reserved3: 0
              Reserved4: 0
              Sources: []
            Reserved7: 0
            Reserved8: 0
            Reserved9: 0
            Reserved10: 0
          - PortType: 1
            Name: InOut7
            InputSettings:
              Logic: 0
              Debounce: 10
              Sensitivity: 1
              Reserved1: 0
              Reserved2: 0
            OutputSettings:
              Logic: 1
              OutputMode: 0
              RestartType: 0
              RestartTime: 200
              RestartInput: 1
              Combination: 1
              Reserved3: 0
              Reserved4: 0
              Sources:
              - Name: DRDY
                Invert: false
                Reserved5: 0
                Reserved6: 0
            Reserved7: 0
            Reserved8: 0
            Reserved9: 0
            Reserved10: 0
          - PortType: 1
            Name: InOut8
            InputSettings:
              Logic: 0
              Debounce: 10
              Sensitivity: 1
              Reserved1: 0
              Reserved2: 0
            OutputSettings:
              Logic: 1
              OutputMode: 0
              RestartType: 0
              RestartTime: 200
              RestartInput: 1
              Combination: 1
              Reserved3: 0
              Reserved4: 0
              Sources:
              - Name: DRDY
                Invert: false
                Reserved5: 0
                Reserved6: 0
            Reserved7: 0
            Reserved8: 0
            Reserved9: 0
            Reserved10: 0
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /SetOutput:
  post: 
   tags: 
   - 12 - Inputs and outputs
   summary: ""
   description: 'Sets the state of an individual output. The output source must first be set to "SOPAS command".'
   operationId: Post/SetOutput
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        data:
         type: object
         properties: 
          Output:
           type: integer
          Value:
           type: integer
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           Success:
            type: boolean
            default: false
 /InputState:
  get: 
   tags: 
   - 12 - Inputs and outputs
   summary: ""
   description: 'Returns the state of all inputs.'
   operationId: Get/InputState
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           uiVersionNumber:
            type: integer
            default: 1
           udiSystCount:
            type: integer
           aDigitalIn:
            type: array
            maxItems: 8
            minItems: 8
            items: 
             type: object
             properties: 
              IOState:
               $ref: '#/components/schemas/IOState_t'
           aTimeBlock:
            type: array
            maxItems: 1
            minItems: 0
            default: []
            items: 
             $ref: '#/components/schemas/DateTime_t'
 /OutputState:
  get: 
   tags: 
   - 12 - Inputs and outputs
   summary: ""
   description: 'Returns the state of all outputs.'
   operationId: Get/OutputState
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           uiVersionNumber:
            type: integer
            default: 1
           udiSystCount:
            type: integer
           aDigitalOut:
            type: array
            maxItems: 8
            minItems: 8
            items: 
             type: object
             properties: 
              IOState:
               $ref: '#/components/schemas/IOState_t'
              udiCounter:
               type: integer
           aTimeBlock:
            type: array
            maxItems: 1
            minItems: 0
            default: []
            items: 
             $ref: '#/components/schemas/DateTime_t'
 /PortState:
  get: 
   tags: 
   - 12 - Inputs and outputs
   summary: ""
   description: 'Returns the state of the ports. "PortState" is preferred over "OutputState".'
   operationId: Get/PortState
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           uiVersionNumber:
            type: integer
           udiSystCount:
            type: integer
           aInternalPorts:
            type: array
            maxItems: 8
            minItems: 0
            default: []
            items: 
             $ref: '#/components/schemas/PortStateAndCounter_t'
           aExternalPorts:
            type: array
            maxItems: 8
            minItems: 0
            default: []
            items: 
             $ref: '#/components/schemas/PortStateAndCounter_t'
           aTimeBlock:
            type: array
            maxItems: 1
            minItems: 0
            default: []
            items: 
             $ref: '#/components/schemas/DateTime_t'
 /mResetOutputCounter:
  post: 
   tags: 
   - 12 - Inputs and outputs
   summary: ""
   description: |
    Resets the counter for the outputs.

     This function requires at least user level: Authorized Client.
   operationId: Post/mResetOutputCounter
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           ErrorCode:
            type: integer
            default: 0
            enum: 
            - 0
            - 1
            description: >
             Mapping:
              * 0 - SOPAS_ERR_NO_ERR
              * 1 - SOPAS_ERR_STATE_CHANGE_NOT_PERMITTED
 /LEDState:
  get: 
   tags: 
   - 4 - Basic settings
   summary: ""
   description: 'Returns the LED status.'
   operationId: Get/LEDState
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            LEDState:
             type: array
             maxItems: 8
             minItems: 0
             default: []
             items: 
              $ref: '#/components/schemas/LedStateType'
 /LEDEnable:
  get: 
   tags: 
   - 4 - Basic settings
   summary: ""
   description: 'Returns/sets the LED mode (on/off).'
   operationId: Get/LEDEnable
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            LEDEnable:
             type: boolean
             default: True
  post: 
   tags: 
   - 4 - Basic settings
   summary: ""
   description: |
    Returns/sets the LED mode (on/off).

     This function requires at least user level: Authorized Client.
   operationId: Post/LEDEnable
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          LEDEnable:
           type: boolean
           default: True
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /FindMe:
  post: 
   tags: 
   - 3 - Device
   summary: ""
   description: 'Sets the device LEDs into blinking mode for better identification.'
   operationId: Post/FindMe
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        data:
         type: object
         properties: 
          uiDuration:
           type: integer
           minimum: 1
         example:
          uiDuration: 100
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /perpendicularDistanceResult:
  get: 
   tags: 
   - 19 - Perpendicular distance
   summary: ""
   description: 'Returns the perpendicular distance within a field.'
   operationId: Get/perpendicularDistanceResult
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           timestamp:
            type: integer
           evaluations:
            type: array
            maxItems: 48
            minItems: 0
            default: []
            items: 
             type: object
             properties: 
              evaluationId:
               type: integer
              minimumDistance:
               type: integer
              maximumDistance:
               type: integer
              minimumDistancePosition:
               $ref: '#/components/schemas/Point3d_t'
              maximumDistancePosition:
               $ref: '#/components/schemas/Point3d_t'
 /ObjectEvaluationApplicationState:
  get: 
   tags: 
   - 18 - Object evaluation
   summary: ""
   description: 'Returns the application state (DEACTIVATED, ACTIVE, CONFIGURING, ERROR).'
   operationId: Get/ObjectEvaluationApplicationState
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            ObjectEvaluationApplicationState:
             type: integer
             default: 0
             enum: 
             - 0
             - 1
             - 2
             - 3
             description: >
              Mapping:
               * 0 - DEACTIVATED
               * 1 - ACTIVE
               * 2 - CONFIGURING
               * 3 - ERROR
 /ObjectEvaluationResult:
  get: 
   tags: 
   - 18 - Object evaluation
   summary: ""
   description: 'Returns the results of all configured object evaluations.'
   operationId: Get/ObjectEvaluationResult
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            ObjectEvaluationResult:
             $ref: '#/components/schemas/ObjectEvaluationResult_t'
 /ObjectEvaluationConfigState:
  get: 
   tags: 
   - 18 - Object evaluation
   summary: ""
   description: 'Returns the performance state of an object evaluation configuration.'
   operationId: Get/ObjectEvaluationConfigState
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           ActiveBeamsLimit:
            type: integer
            default: 0
            enum: 
            - 0
            - 1
            - 2
            description: >
             Mapping:
              * 0 - OK
              * 1 - WARNING
              * 2 - EXCEEDED
           ActiveEvaluationsLimit:
            type: integer
            default: 0
            enum: 
            - 0
            - 1
            - 2
            description: >
             Mapping:
              * 0 - OK
              * 1 - WARNING
              * 2 - EXCEEDED
           NumberOfIntersectingBeams:
            type: array
            maxItems: 48
            minItems: 0
            default: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
            items: 
             type: integer
             minimum: 0
             default: 0
           InputIsOutputErrorList:
            type: array
            maxItems: 48
            minItems: 0
            items: 
             type: integer
 /ObjectEvaluationGroupState:
  get: 
   tags: 
   - 18 - Object evaluation
   summary: ""
   description: 'Returns the activation condition for all existing object evaluation groups (not configured, active, or inactive).'
   operationId: Get/ObjectEvaluationGroupState
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            ObjectEvaluationGroupState:
             type: array
             maxItems: 48
             minItems: 48
             items: 
              type: integer
              default: 0
              enum: 
              - 0
              - 1
              - 2
              description: >
               Mapping:
                * 0 - NOT_CONFIGURED
                * 1 - ACTIVE
                * 2 - INACTIVE
 /ActivateObjectEvaluationGroup:
  post: 
   tags: 
   - 18 - Object evaluation
   summary: ""
   description: 'Activates/deactivates an object evaluation group.'
   operationId: Post/ActivateObjectEvaluationGroup
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        data:
         type: object
         properties: 
          List:
           type: array
           maxItems: 48
           minItems: 0
           default: []
           items: 
            type: object
            properties: 
             GroupId:
              type: integer
              minimum: 1
              maximum: 48
              default: 1
             Activate:
              type: boolean
              default: false
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           Success:
            type: array
            maxItems: 48
            minItems: 0
            default: []
            items: 
             type: boolean
             default: false
 /SetObjectEvaluationContour:
  post: 
   tags: 
   - 18 - Object evaluation
   summary: ""
   description: |
    Sets the region of interest of an object detection evaluation.

     This function requires at least user level: Authorized Client.
   operationId: Post/SetObjectEvaluationContour
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EvaluationId:
           type: integer
          Points:
           type: array
           maxItems: 100
           minItems: 0
           default: []
           items: 
            type: object
            properties: 
             x:
              type: integer
              default: 0
             y:
              type: integer
          LowerZLimit:
           type: integer
           minimum: -100000
           maximum: 100000
          UpperZLimit:
           type: integer
           minimum: -100000
           maximum: 100000
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           ErrorCode:
            type: integer
            default: 0
            enum: 
            - 0
            - 1
            - 2
            - 3
            description: >
             Mapping:
              * 0 - SOPAS_ERR_NO_ERR
              * 1 - SOPAS_ERR_INVALID_EVALUATION_ID
              * 2 - SOPAS_ERR_INVALID_POLYGON
              * 3 - SOPAS_ERR_INVALID_ZLIM
 /GetObjectEvaluationContour:
  post: 
   tags: 
   - 18 - Object evaluation
   summary: ""
   description: |
    Gets the region of interest of an object detection evaluation.

     This function requires at least user level: Authorized Client.
   operationId: Post/GetObjectEvaluationContour
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EvaluationId:
           type: integer
         example:
          EvaluationId: 1
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           Contour:
            type: array
            maxItems: 1
            minItems: 0
            default: []
            items: 
             type: object
             properties: 
              EvaluationId:
               type: integer
              Points:
               type: array
               maxItems: 100
               minItems: 0
               default: []
               items: 
                type: object
                properties: 
                 x:
                  type: integer
                  default: 0
                 y:
                  type: integer
                  default: 0
              LowerZLimit:
               type: integer
               minimum: -100000
               maximum: 100000
              UpperZLimit:
               type: integer
               minimum: -100000
               maximum: 100000
 /SetObjectEvaluationConfiguration:
  post: 
   tags: 
   - 18 - Object evaluation
   summary: ""
   description: |
    Sets the configuration of an object detection evaluation.

     This function requires at least user level: Authorized Client.
   operationId: Post/SetObjectEvaluationConfiguration
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EvaluationId:
           type: integer
          Name:
           type: string
           default: " "
           maxLength: 20
          Configuration:
           $ref: '#/components/schemas/TrackEvaluation_t'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           ErrorCode:
            type: integer
            default: 0
            enum: 
            - 0
            - 1
            - 2
            description: >
             Mapping:
              * 0 - SOPAS_ERR_NO_ERR
              * 1 - SOPAS_ERR_INVALID_EVALUATION_ID
              * 2 - SOPAS_ERR_INVALID_CONFIGURATION
 /GetObjectEvaluationConfiguration:
  post: 
   tags: 
   - 18 - Object evaluation
   summary: ""
   description: |
    Gets the configuration of an object detection evaluation.

     This function requires at least user level: Authorized Client.
   operationId: Post/GetObjectEvaluationConfiguration
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          EvaluationId:
           type: integer
         example:
          EvaluationId: 1
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           Configuration:
            type: array
            maxItems: 1
            minItems: 0
            default: []
            items: 
             type: object
             properties: 
              EvaluationId:
               type: integer
              Name:
               type: string
               default: " "
               maxLength: 20
              Configuration:
               $ref: '#/components/schemas/TrackEvaluation_t'
 /mStartMeasure:
  post: 
   tags: 
   - 4 - Basic settings
   summary: ""
   description: |
    Starts the motor and measurement.

     This function requires at least user level: Authorized Client.
   operationId: Post/mStartMeasure
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           ErrorCode:
            type: integer
            default: 0
            enum: 
            - 0
            - 1
            description: >
             Mapping:
              * 0 - SOPAS_ERR_NO_ERR
              * 1 - SOPAS_ERR_STATE_CHANGE_NOT_PERMITTED
 /mStopMeasure:
  post: 
   tags: 
   - 4 - Basic settings
   summary: ""
   description: |
    Stops the motor and measurement.

     This function requires at least user level: Authorized Client.
   operationId: Post/mStopMeasure
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           ErrorCode:
            type: integer
            default: 0
            enum: 
            - 0
            - 1
            description: >
             Mapping:
              * 0 - SOPAS_ERR_NO_ERR
              * 1 - SOPAS_ERR_STATE_CHANGE_NOT_PERMITTED
 /AutoStartMeasure:
  get: 
   tags: 
   - 4 - Basic settings
   summary: ""
   description: 'Returns/sets the mode for automatic start of measurement after boot-up.'
   operationId: Get/AutoStartMeasure
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            AutoStartMeasure:
             type: boolean
             default: True
  post: 
   tags: 
   - 4 - Basic settings
   summary: ""
   description: 'Returns/sets the mode for automatic start of measurement after boot-up.'
   operationId: Post/AutoStartMeasure
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        data:
         type: object
         properties: 
          AutoStartMeasure:
           type: boolean
           default: True
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /bInterlacedMode:
  get: 
   tags: 
   - 4 - Basic settings
   summary: ""
   description: 'Returns/sets the interlaced mode.'
   operationId: Get/bInterlacedMode
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            bInterlacedMode:
             type: boolean
             default: False
  post: 
   tags: 
   - 4 - Basic settings
   summary: ""
   description: |
    Returns/sets the interlaced mode.

     This function requires at least user level: Authorized Client.
   operationId: Post/bInterlacedMode
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          bInterlacedMode:
           type: boolean
           default: False
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /MCSenseLevel:
  get: 
   tags: 
   - 6 - Filter
   summary: ""
   description: 'Returns/sets the fog filter settings.'
   operationId: Get/MCSenseLevel
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            MCSenseLevel:
             type: integer
             minimum: 0
             maximum: 1
             default: 0
  post: 
   tags: 
   - 6 - Filter
   summary: ""
   description: |
    Returns/sets the fog filter settings.

     This function requires at least user level: Authorized Client.
   operationId: Post/MCSenseLevel
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          MCSenseLevel:
           type: integer
           minimum: 0
           maximum: 1
           default: 0
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /temperatureAlarmConfiguration:
  get: 
   tags: 
   - 2 - Status
   summary: ""
   description: 'Returns/sets the thresholds for the device temperature alarm status.'
   operationId: Get/temperatureAlarmConfiguration
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           upperThreshold:
            type: integer
            default: 55
           lowerThreshold:
            type: integer
            default: 50
  post: 
   tags: 
   - 2 - Status
   summary: ""
   description: |
    Returns/sets the thresholds for the device temperature alarm status.

     This function requires at least user level: Authorized Client.
   operationId: Post/temperatureAlarmConfiguration
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          temperatureAlarmConfiguration:
           type: object
           properties: 
            upperThreshold:
             type: integer
             default: 55
            lowerThreshold:
             type: integer
             default: 50
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /temperatureAlarmStatus:
  get: 
   tags: 
   - 2 - Status
   summary: ""
   description: 'Returns the current device temperature alarm status. If true, the configured temperature alarm is active.'
   operationId: Get/temperatureAlarmStatus
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            temperatureAlarmStatus:
             type: boolean
             default: False
 /CurrentTempDev:
  get: 
   tags: 
   - 20 - Operating data
   summary: ""
   description: 'Returns the current device temperature in Celsius.'
   operationId: Get/CurrentTempDev
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            CurrentTempDev:
             type: number
             default: 20.0
 /LFPparticle:
  get: 
   tags: 
   - 6 - Filter
   summary: ""
   description: 'Returns/sets the particle filter settings. Filters out disturbances in the measurement data caused by particles such as dust, snowflakes, or similar. Configure the minimum threshold of the required distance step (mm) between the echo to be filtered and the echoes of surrounding beam angles.'
   operationId: Get/LFPparticle
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           bEnable:
            type: boolean
            default: False
           uiThreshold:
            type: integer
            minimum: 20
            maximum: 5000
            default: 500
  post: 
   tags: 
   - 6 - Filter
   summary: ""
   description: |
    Returns/sets the particle filter settings. Filters out disturbances in the measurement data caused by particles such as dust, snowflakes, or similar. Configure the minimum threshold of the required distance step (mm) between the echo to be filtered and the echoes of surrounding beam angles.

     This function requires at least user level: Authorized Client.
   operationId: Post/LFPparticle
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          LFPparticle:
           type: object
           properties: 
            bEnable:
             type: boolean
             default: False
            uiThreshold:
             type: integer
             minimum: 20
             maximum: 5000
             default: 500
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /LFPmovingAveragingFilter:
  get: 
   tags: 
   - 6 - Filter
   summary: ""
   description: 'Returns/sets the mean filter settings. This filter smooths the distance value by calculating the arithmetic mean from the configured number of scans (2 to 4 scans). Points with zero distance are treated as missing values and are not taken into account for averaging. If all distances considered for averaging have the value 0, the result will be 0 as well.'
   operationId: Get/LFPmovingAveragingFilter
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           bEnable:
            type: boolean
            default: False
           uiAveragingDepth:
            type: integer
            minimum: 2
            maximum: 4
            default: 3
  post: 
   tags: 
   - 6 - Filter
   summary: ""
   description: |
    Returns/sets the mean filter settings. This filter smooths the distance value by calculating the arithmetic mean from the configured number of scans (2 to 4 scans). Points with zero distance are treated as missing values and are not taken into account for averaging. If all distances considered for averaging have the value 0, the result will be 0 as well.

     This function requires at least user level: Authorized Client.
   operationId: Post/LFPmovingAveragingFilter
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          LFPmovingAveragingFilter:
           type: object
           properties: 
            bEnable:
             type: boolean
             default: False
            uiAveragingDepth:
             type: integer
             minimum: 2
             maximum: 4
             default: 3
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /LFPangleRangeFilter:
  get: 
   tags: 
   - 15 - Data reduction
   summary: ""
   description: 'Returns/sets the angle range filter settings. The filter restricts the output scan to a specified angle range. Filtered measurement values are set to 0. If an entire data segment is set to 0, it is no longer output.'
   operationId: Get/LFPangleRangeFilter
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           bEnable:
            type: boolean
            default: False
           fThetaStart:
            type: integer
            minimum: -1800000
            maximum: 1800000
            default: -900000
           fThetaStop:
            type: integer
            minimum: -1800000
            maximum: 1800000
            default: 900000
           fPhiStart:
            type: integer
            minimum: -900000
            maximum: 900000
            default: -900000
           fPhiStop:
            type: integer
            minimum: -900000
            maximum: 900000
            default: 900000
           uiBeamIncrement:
            type: integer
            minimum: 1
            maximum: 20
            default: 1
  post: 
   tags: 
   - 15 - Data reduction
   summary: ""
   description: |
    Returns/sets the angle range filter settings. The filter restricts the output scan to a specified angle range. Filtered measurement values are set to 0. If an entire data segment is set to 0, it is no longer output.

     This function requires at least user level: Authorized Client.
   operationId: Post/LFPangleRangeFilter
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          LFPangleRangeFilter:
           type: object
           properties: 
            bEnable:
             type: boolean
             default: False
            fThetaStart:
             type: integer
             minimum: -1800000
             maximum: 1800000
             default: -900000
            fThetaStop:
             type: integer
             minimum: -1800000
             maximum: 1800000
             default: 900000
            fPhiStart:
             type: integer
             minimum: -900000
             maximum: 900000
             default: -900000
            fPhiStop:
             type: integer
             minimum: -900000
             maximum: 900000
             default: 900000
            uiBeamIncrement:
             type: integer
             minimum: 1
             maximum: 20
             default: 1
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /LFPradialDistanceRangeFilter:
  get: 
   tags: 
   - 16 - Region of interest
   summary: ""
   description: 'Returns/sets the scanning range filter settings. The filter restricts distance measurements to a specified range. Measurements outside the specified range are assigned a distance and RSSI value of 0.'
   operationId: Get/LFPradialDistanceRangeFilter
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           bEnable:
            type: boolean
            default: False
           ulDistMin:
            type: integer
            minimum: 0
            maximum: 200000
            default: 0
           ulDistMax:
            type: integer
            minimum: 0
            maximum: 200000
            default: 20000
  post: 
   tags: 
   - 16 - Region of interest
   summary: ""
   description: |
    Returns/sets the scanning range filter settings. The filter restricts distance measurements to a specified range. Measurements outside the specified range are assigned a distance and RSSI value of 0.

     This function requires at least user level: Authorized Client.
   operationId: Post/LFPradialDistanceRangeFilter
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          LFPradialDistanceRangeFilter:
           type: object
           properties: 
            bEnable:
             type: boolean
             default: False
            ulDistMin:
             type: integer
             minimum: 0
             maximum: 200000
             default: 0
            ulDistMax:
             type: integer
             minimum: 0
             maximum: 200000
             default: 20000
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /LFPcubicareafilter:
  get: 
   tags: 
   - 16 - Region of interest
   summary: ""
   description: 'Returns/sets the cuboid area filter settings. The cuboid area filter limits the measurement data box defined by its extension along the x- and y-axes.'
   operationId: Get/LFPcubicareafilter
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           bEnable:
            type: boolean
            default: False
           lXMin:
            type: integer
            minimum: -200000
            maximum: 200000
            default: -20000
           lXMax:
            type: integer
            minimum: -200000
            maximum: 200000
            default: 20000
           lYMin:
            type: integer
            minimum: -200000
            maximum: 200000
            default: -20000
           lYMax:
            type: integer
            minimum: -200000
            maximum: 200000
            default: 20000
           lZMin:
            type: integer
            minimum: -200000
            maximum: 200000
            default: -20000
           lZMax:
            type: integer
            minimum: -200000
            maximum: 200000
            default: 20000
  post: 
   tags: 
   - 16 - Region of interest
   summary: ""
   description: |
    Returns/sets the cuboid area filter settings. The cuboid area filter limits the measurement data box defined by its extension along the x- and y-axes.

     This function requires at least user level: Authorized Client.
   operationId: Post/LFPcubicareafilter
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          LFPcubicareafilter:
           type: object
           properties: 
            bEnable:
             type: boolean
             default: False
            lXMin:
             type: integer
             minimum: -200000
             maximum: 200000
             default: -20000
            lXMax:
             type: integer
             minimum: -200000
             maximum: 200000
             default: 20000
            lYMin:
             type: integer
             minimum: -200000
             maximum: 200000
             default: -20000
            lYMax:
             type: integer
             minimum: -200000
             maximum: 200000
             default: 20000
            lZMin:
             type: integer
             minimum: -200000
             maximum: 200000
             default: -20000
            lZMax:
             type: integer
             minimum: -200000
             maximum: 200000
             default: 20000
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /FREchoFilter:
  get: 
   tags: 
   - 6 - Filter
   summary: ""
   description: 'Returns/sets the multi-echo filter settings. Depending on the environment, the sensor receives several measurement points on the same angular step (multi-echo). The filter can filter out the first echo, the last echo, or all echoes.'
   operationId: Get/FREchoFilter
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            FREchoFilter:
             type: integer
             default: 1
             enum: 
             - 0
             - 1
             - 2
             description: >
              Mapping:
               * 0 - FIRST_ECHO
               * 1 - ALL_ECHOS
               * 2 - LAST_ECHO
  post: 
   tags: 
   - 6 - Filter
   summary: ""
   description: |
    Returns/sets the multi-echo filter settings. Depending on the environment, the sensor receives several measurement points on the same angular step (multi-echo). The filter can filter out the first echo, the last echo, or all echoes.

     This function requires at least user level: Authorized Client.
   operationId: Post/FREchoFilter
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          FREchoFilter:
           type: integer
           default: 1
           enum: 
           - 0
           - 1
           - 2
           description: >
            Mapping:
             * 0 - FIRST_ECHO
             * 1 - ALL_ECHOS
             * 2 - LAST_ECHO
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /LFPintervalFilter:
  get: 
   tags: 
   - 15 - Data reduction
   summary: ""
   description: 'Returns/sets the interval filter settings. The filter reduces the scan output rate by a given factor.'
   operationId: Get/LFPintervalFilter
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           bEnable:
            type: boolean
            default: False
           uiReductionFactor:
            type: integer
            minimum: 2
            maximum: 50
            default: 2
  post: 
   tags: 
   - 15 - Data reduction
   summary: ""
   description: |
    Returns/sets the interval filter settings. The filter reduces the scan output rate by a given factor.

     This function requires at least user level: Authorized Client.
   operationId: Post/LFPintervalFilter
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          LFPintervalFilter:
           type: object
           properties: 
            bEnable:
             type: boolean
             default: False
            uiReductionFactor:
             type: integer
             minimum: 2
             maximum: 50
             default: 2
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /LFPlayerFilter:
  get: 
   tags: 
   - 15 - Data reduction
   summary: ""
   description: 'Returns/sets the layer filter settings. The filter removes selected complete layers from the output data.'
   operationId: Get/LFPlayerFilter
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           bEnable:
            type: boolean
            default: False
           aLayers:
            type: array
            maxItems: 16
            minItems: 0
            default: [True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True]
            items: 
             type: boolean
             default: false
  post: 
   tags: 
   - 15 - Data reduction
   summary: ""
   description: |
    Returns/sets the layer filter settings. The filter removes selected complete layers from the output data.

     This function requires at least user level: Authorized Client.
   operationId: Post/LFPlayerFilter
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          LFPlayerFilter:
           type: object
           properties: 
            bEnable:
             type: boolean
             default: False
            aLayers:
             type: array
             maxItems: 16
             minItems: 0
             default: [True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True]
             items: 
              type: boolean
              default: false
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /ScanDataPreformatting:
  get: 
   tags: 
   - 13 - Measurement data output
   summary: ""
   description: 'Returns/sets the azimuth reordering mode for the layers. In Raw mode, no reordering is performed. In Rectified mode, the layers are reordered so that their azimuth angle ranges match as closely as possible.'
   operationId: Get/ScanDataPreformatting
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            ScanDataPreformatting:
             type: integer
             default: 1
             enum: 
             - 1
             - 2
             description: >
              Mapping:
               * 1 - Raw
               * 2 - Rectified
  post: 
   tags: 
   - 13 - Measurement data output
   summary: ""
   description: |
    Returns/sets the azimuth reordering mode for the layers. In Raw mode, no reordering is performed. In Rectified mode, the layers are reordered so that their azimuth angle ranges match as closely as possible.

     This function requires at least user level: Authorized Client.
   operationId: Post/ScanDataPreformatting
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          ScanDataPreformatting:
           type: integer
           default: 1
           enum: 
           - 1
           - 2
           description: >
            Mapping:
             * 1 - Raw
             * 2 - Rectified
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /SensorPosition:
  get: 
   tags: 
   - 7 - Mounting position
   summary: ""
   description: 'Returns/sets the mounting position in increments of 1/10,000 degree.'
   operationId: Get/SensorPosition
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           x:
            type: integer
            minimum: -100000
            maximum: 100000
            default: 0
           y:
            type: integer
            minimum: -100000
            maximum: 100000
            default: 0
           z:
            type: integer
            minimum: -100000
            maximum: 100000
            default: 0
           yaw:
            type: integer
            minimum: -3600000
            maximum: 3600000
            default: 0
           pitch:
            type: integer
            minimum: -3600000
            maximum: 3600000
            default: 0
           roll:
            type: integer
            minimum: -3600000
            maximum: 3600000
            default: 0
  post: 
   tags: 
   - 7 - Mounting position
   summary: ""
   description: |
    Returns/sets the mounting position in increments of 1/10,000 degree.

     This function requires at least user level: Authorized Client.
   operationId: Post/SensorPosition
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          SensorPosition:
           type: object
           properties: 
            x:
             type: integer
             minimum: -100000
             maximum: 100000
             default: 0
            y:
             type: integer
             minimum: -100000
             maximum: 100000
             default: 0
            z:
             type: integer
             minimum: -100000
             maximum: 100000
             default: 0
            yaw:
             type: integer
             minimum: -3600000
             maximum: 3600000
             default: 0
            pitch:
             type: integer
             minimum: -3600000
             maximum: 3600000
             default: 0
            roll:
             type: integer
             minimum: -3600000
             maximum: 3600000
             default: 0
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /TSCRole:
  get: 
   tags: 
   - 5 - Date and system time
   summary: ""
   description: 'Returns/sets the time synchronization role (none, NTP, or PTP).'
   operationId: Get/TSCRole
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            TSCRole:
             type: integer
             default: 0
             enum: 
             - 0
             - 1
             - 3
             description: >
              Mapping:
               * 0 - TX_NONE
               * 1 - TX_CLIENT
               * 3 - TX_PTP_SLAVE
  post: 
   tags: 
   - 5 - Date and system time
   summary: ""
   description: |
    Returns/sets the time synchronization role (none, NTP, or PTP).

     This function requires at least user level: Authorized Client.
   operationId: Post/TSCRole
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          TSCRole:
           type: integer
           default: 0
           enum: 
           - 0
           - 1
           - 3
           description: >
            Mapping:
             * 0 - TX_NONE
             * 1 - TX_CLIENT
             * 3 - TX_PTP_SLAVE
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /TSCTCSrvAddr:
  get: 
   tags: 
   - 5 - Date and system time
   summary: ""
   description: 'Returns/sets the IP address of the time server.'
   operationId: Get/TSCTCSrvAddr
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            TSCTCSrvAddr:
             type: array
             maxItems: 4
             minItems: 0
             default: [192,168,0,11]
             items: 
              type: integer
  post: 
   tags: 
   - 5 - Date and system time
   summary: ""
   description: |
    Returns/sets the IP address of the time server.

     This function requires at least user level: Authorized Client.
   operationId: Post/TSCTCSrvAddr
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          TSCTCSrvAddr:
           type: array
           maxItems: 4
           minItems: 0
           default: [192,168,0,11]
           items: 
            type: integer
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /TSCTCtimezone:
  get: 
   tags: 
   - 5 - Date and system time
   summary: ""
   description: 'Returns/sets the time zone of the client.'
   operationId: Get/TSCTCtimezone
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            TSCTCtimezone:
             type: integer
             default: 36
             enum: 
             - 0
             - 1
             - 2
             - 3
             - 4
             - 5
             - 6
             - 7
             - 8
             - 9
             - 10
             - 11
             - 12
             - 13
             - 14
             - 15
             - 16
             - 17
             - 18
             - 19
             - 20
             - 21
             - 22
             - 23
             - 24
             - 25
             - 26
             - 27
             - 28
             - 29
             - 30
             - 31
             - 32
             - 33
             - 34
             - 35
             - 36
             - 37
             - 38
             - 39
             - 40
             - 41
             - 42
             - 43
             - 44
             - 45
             - 46
             - 47
             - 48
             - 49
             - 50
             - 51
             - 52
             - 53
             - 54
             - 55
             - 56
             - 57
             - 58
             - 59
             - 60
             - 61
             - 62
             - 63
             - 64
             - 65
             - 66
             - 67
             - 68
             - 69
             - 70
             - 71
             - 72
             - 73
             - 74
             - 75
             - 76
             - 77
             - 78
             - 79
             - 80
             - 81
             - 82
             - 83
             - 84
             - 85
             - 86
             - 87
             - 88
             - 89
             - 90
             - 91
             - 92
             - 93
             - 94
             - 95
             - 96
             - 97
             - 98
             - 99
             - 100
             - 101
             - 102
             - 103
             - 104
             description: >
              Mapping:
               * 0 - DATE_LINE_STANDARD
               * 1 - COORD_WORLD_TIME_11
               * 2 - HAWAII
               * 3 - ALASKA
               * 4 - CALIFORNIA
               * 5 - USA_CANADA
               * 6 - ARIZONA
               * 7 - LA_PAZ
               * 8 - MOUNTAIN_TIME_USA
               * 9 - CENTRAL_TIME_USA
               * 10 - MEXICO_CITY
               * 11 - MIDDLE_AMERICA
               * 12 - SASKATCHEWAN
               * 13 - BOGOTA_LIMA
               * 14 - EASTERN_TIME_USA
               * 15 - INDIANA
               * 16 - CARACAS
               * 17 - ASUNCION
               * 18 - ATLANTIC_KANADA
               * 19 - CUIABA
               * 20 - LAPAZ_SANJUAN
               * 21 - SANTIAGO
               * 22 - NEUFUNDLAND
               * 23 - BRASILIA
               * 24 - BUENOS_AIRES
               * 25 - CAYENNE_FORTALEZA
               * 26 - GROENLAND
               * 27 - MONTEVIDEO
               * 28 - SALVADOR
               * 29 - COORD_WORLD_TIME_02
               * 30 - AZOREN
               * 31 - KAP_VERDE
               * 32 - CASABLANCA
               * 33 - DUBLIN_LISSABON_LONDON
               * 34 - COORD_WORLD_TIME
               * 35 - MONROVIA_REYKJAVIK
               * 36 - AMSTERDAM_BERLIN_ROM
               * 37 - BELGRAD_BUDAPEST_PRAG
               * 38 - BRUESSEL_MADRID_PARIS
               * 39 - SARAJEVO_WARSCHAU
               * 40 - WEST_CENTRAL_AFRICA
               * 41 - WINDHUK
               * 42 - JOHANNESBURG
               * 43 - AMMAN
               * 44 - ATHEN_BUKAREST
               * 45 - BEIRUT
               * 46 - DAMASCUS
               * 47 - HARARE_PRETORIA
               * 48 - HELSINKI_KIEW_RIGA
               * 49 - ISTANBUL
               * 50 - JERUSALEM
               * 51 - KAIRO
               * 52 - KALININGRAD
               * 53 - TRIPOLIS
               * 54 - BAGDAD
               * 55 - KUWAIT_RIAD
               * 56 - MINSK
               * 57 - MOSKAU_PETERSBURG
               * 58 - NAIROBI
               * 59 - TEHERAN
               * 60 - ABU_DHABI
               * 61 - BAKU
               * 62 - ERIWAN
               * 63 - ISCHEWSK_SAMARA
               * 64 - PORT_LOUIS
               * 65 - TIFLIS
               * 66 - KABUL
               * 67 - ASCHGABET_TASCHKENT
               * 68 - ISLAMABAD_KARATSCHI
               * 69 - JEKATERINBURG
               * 70 - MUMBAI_NEUDELHI
               * 71 - SRI_JAYAWARDENEPURA
               * 72 - KATMANDU
               * 73 - ASTANA
               * 74 - DAKKA
               * 75 - NOWOSIBIRSK
               * 76 - YANGON
               * 77 - BANGKOK_HANOI_JAKARTA
               * 78 - KRASNOJARSK
               * 79 - IRKUTSK
               * 80 - KUALA_LUMPUR_SINGAPUR
               * 81 - PEKING_HONGKONG
               * 82 - PERTH
               * 83 - TAIPEH
               * 84 - ULAN_BATOR
               * 85 - JAKUTSK
               * 86 - OSAKA_TOKIO
               * 87 - SEOUL
               * 88 - ADELAIDE
               * 89 - DARWIN
               * 90 - BRISBANE
               * 91 - CANBERRA_SYDNEY
               * 92 - GUAM_PORT_MORESBY
               * 93 - HOBART
               * 94 - MAGADAN
               * 95 - WLADIWOSTOK
               * 96 - SALOMONEN_KALEDONIEN
               * 97 - TSCHOKURDACH
               * 98 - ANADYR
               * 99 - AUCKLAND_WELLINGTON
               * 100 - FIDSCHI
               * 101 - COORD_WORLD_TIME_12
               * 102 - NAKUALOFA
               * 103 - SAMOA
               * 104 - KIRITIMATI
  post: 
   tags: 
   - 5 - Date and system time
   summary: ""
   description: |
    Returns/sets the time zone of the client.

     This function requires at least user level: Authorized Client.
   operationId: Post/TSCTCtimezone
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          TSCTCtimezone:
           type: integer
           default: 36
           enum: 
           - 0
           - 1
           - 2
           - 3
           - 4
           - 5
           - 6
           - 7
           - 8
           - 9
           - 10
           - 11
           - 12
           - 13
           - 14
           - 15
           - 16
           - 17
           - 18
           - 19
           - 20
           - 21
           - 22
           - 23
           - 24
           - 25
           - 26
           - 27
           - 28
           - 29
           - 30
           - 31
           - 32
           - 33
           - 34
           - 35
           - 36
           - 37
           - 38
           - 39
           - 40
           - 41
           - 42
           - 43
           - 44
           - 45
           - 46
           - 47
           - 48
           - 49
           - 50
           - 51
           - 52
           - 53
           - 54
           - 55
           - 56
           - 57
           - 58
           - 59
           - 60
           - 61
           - 62
           - 63
           - 64
           - 65
           - 66
           - 67
           - 68
           - 69
           - 70
           - 71
           - 72
           - 73
           - 74
           - 75
           - 76
           - 77
           - 78
           - 79
           - 80
           - 81
           - 82
           - 83
           - 84
           - 85
           - 86
           - 87
           - 88
           - 89
           - 90
           - 91
           - 92
           - 93
           - 94
           - 95
           - 96
           - 97
           - 98
           - 99
           - 100
           - 101
           - 102
           - 103
           - 104
           description: >
            Mapping:
             * 0 - DATE_LINE_STANDARD
             * 1 - COORD_WORLD_TIME_11
             * 2 - HAWAII
             * 3 - ALASKA
             * 4 - CALIFORNIA
             * 5 - USA_CANADA
             * 6 - ARIZONA
             * 7 - LA_PAZ
             * 8 - MOUNTAIN_TIME_USA
             * 9 - CENTRAL_TIME_USA
             * 10 - MEXICO_CITY
             * 11 - MIDDLE_AMERICA
             * 12 - SASKATCHEWAN
             * 13 - BOGOTA_LIMA
             * 14 - EASTERN_TIME_USA
             * 15 - INDIANA
             * 16 - CARACAS
             * 17 - ASUNCION
             * 18 - ATLANTIC_KANADA
             * 19 - CUIABA
             * 20 - LAPAZ_SANJUAN
             * 21 - SANTIAGO
             * 22 - NEUFUNDLAND
             * 23 - BRASILIA
             * 24 - BUENOS_AIRES
             * 25 - CAYENNE_FORTALEZA
             * 26 - GROENLAND
             * 27 - MONTEVIDEO
             * 28 - SALVADOR
             * 29 - COORD_WORLD_TIME_02
             * 30 - AZOREN
             * 31 - KAP_VERDE
             * 32 - CASABLANCA
             * 33 - DUBLIN_LISSABON_LONDON
             * 34 - COORD_WORLD_TIME
             * 35 - MONROVIA_REYKJAVIK
             * 36 - AMSTERDAM_BERLIN_ROM
             * 37 - BELGRAD_BUDAPEST_PRAG
             * 38 - BRUESSEL_MADRID_PARIS
             * 39 - SARAJEVO_WARSCHAU
             * 40 - WEST_CENTRAL_AFRICA
             * 41 - WINDHUK
             * 42 - JOHANNESBURG
             * 43 - AMMAN
             * 44 - ATHEN_BUKAREST
             * 45 - BEIRUT
             * 46 - DAMASCUS
             * 47 - HARARE_PRETORIA
             * 48 - HELSINKI_KIEW_RIGA
             * 49 - ISTANBUL
             * 50 - JERUSALEM
             * 51 - KAIRO
             * 52 - KALININGRAD
             * 53 - TRIPOLIS
             * 54 - BAGDAD
             * 55 - KUWAIT_RIAD
             * 56 - MINSK
             * 57 - MOSKAU_PETERSBURG
             * 58 - NAIROBI
             * 59 - TEHERAN
             * 60 - ABU_DHABI
             * 61 - BAKU
             * 62 - ERIWAN
             * 63 - ISCHEWSK_SAMARA
             * 64 - PORT_LOUIS
             * 65 - TIFLIS
             * 66 - KABUL
             * 67 - ASCHGABET_TASCHKENT
             * 68 - ISLAMABAD_KARATSCHI
             * 69 - JEKATERINBURG
             * 70 - MUMBAI_NEUDELHI
             * 71 - SRI_JAYAWARDENEPURA
             * 72 - KATMANDU
             * 73 - ASTANA
             * 74 - DAKKA
             * 75 - NOWOSIBIRSK
             * 76 - YANGON
             * 77 - BANGKOK_HANOI_JAKARTA
             * 78 - KRASNOJARSK
             * 79 - IRKUTSK
             * 80 - KUALA_LUMPUR_SINGAPUR
             * 81 - PEKING_HONGKONG
             * 82 - PERTH
             * 83 - TAIPEH
             * 84 - ULAN_BATOR
             * 85 - JAKUTSK
             * 86 - OSAKA_TOKIO
             * 87 - SEOUL
             * 88 - ADELAIDE
             * 89 - DARWIN
             * 90 - BRISBANE
             * 91 - CANBERRA_SYDNEY
             * 92 - GUAM_PORT_MORESBY
             * 93 - HOBART
             * 94 - MAGADAN
             * 95 - WLADIWOSTOK
             * 96 - SALOMONEN_KALEDONIEN
             * 97 - TSCHOKURDACH
             * 98 - ANADYR
             * 99 - AUCKLAND_WELLINGTON
             * 100 - FIDSCHI
             * 101 - COORD_WORLD_TIME_12
             * 102 - NAKUALOFA
             * 103 - SAMOA
             * 104 - KIRITIMATI
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /TSCTCupdatetime:
  get: 
   tags: 
   - 5 - Date and system time
   summary: ""
   description: 'Returns/sets the update time of the client.'
   operationId: Get/TSCTCupdatetime
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            TSCTCupdatetime:
             type: integer
             minimum: 1
             maximum: 3600
             default: 600
  post: 
   tags: 
   - 5 - Date and system time
   summary: ""
   description: |
    Returns/sets the update time of the client.

     This function requires at least user level: Authorized Client.
   operationId: Post/TSCTCupdatetime
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          TSCTCupdatetime:
           type: integer
           minimum: 1
           maximum: 3600
           default: 600
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
 /LSPdatetime:
  get: 
   tags: 
   - 5 - Date and system time
   summary: ""
   description: 'Returns the current time of the device (years, months, days, hours, minutes, seconds, microseconds).'
   operationId: Get/LSPdatetime
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
           type: object
           properties: 
            LSPdatetime:
             $ref: '#/components/schemas/DateTime_t'
 /LSPsetdatetime:
  post: 
   tags: 
   - 5 - Date and system time
   summary: ""
   description: |
    Sets the time of the device (years, months, days, hours, minutes, seconds, microseconds).

     This function requires at least user level: Authorized Client.
   operationId: Post/LSPsetdatetime
   requestBody:
    description: successful operation
    required: true
    content: 
     application/json: 
      schema: 
       type: object
       properties: 
        header:
         $ref: '#/components/schemas/PostBodyHeader'
        data:
         type: object
         properties: 
          DateTime:
           $ref: '#/components/schemas/DateTime_t'
   responses: 
    '200':
     description: successful operation
     content: 
      application/json: 
       schema: 
        type: object
        required: ["header"]
        properties: 
         header:
          $ref: '#/components/schemas/ResponseHeader'
         data:
          type: object
          properties: 
           ErrorCode:
            type: integer
            default: 0
            enum: 
            - 0
            - 1
            description: >
             Mapping:
              * 0 - SOPAS_ERR_NO_ERR
              * 1 - SOPAS_ERR_STATE_CHANGE_NOT_PERMITTED
components: 
 schemas:
  ResponseHeader:
   type: object
   properties: 
    status:
     type: integer
     default: 0
     enum: 
     - 0
     - 1
     - 2
     - 3
     - 4
     - 5
     - 6
     - 7
     - 8
     - 9
     - 10
     - 11
     description: >
      Mapping:
       * 0 - Ok
       * 1 - Parsing Failed
       * 2 - Invalid Data
       * 3 - Internal Server Error
       * 4 - Access Denied
       * 5 - Not Found
       * 6 - Out Of Range
       * 7 - Out Of Bounds
       * 8 - Read Only
       * 9 - Illegal Value
       * 10 - Invalid Challenge
       * 11 - Out Of Connections
    message:
     type: string
     default: "Ok"
  PostBodyHeader:
   type: object
   properties: 
    nonce:
     type: string
     default: " "
    opaque:
     type: string
     default: " "
    realm:
     type: string
     default: "SICK Sensor"
    response:
     type: string
     default: " "
    user:
     type: string
     default: "AuthorizedClient"
  E_USER_LEVEL_TYPE:
   type: string
   default: Run
   enum: 
   - Run
   - Operator
   - Maintenance
   - AuthorizedClient
   - Service
  RestoreBackupResult:
   type: integer
   default: 0
   enum: 
   - 0
   - 1
   - 2
   - 3
   - 4
   - 5
   - 6
   - 7
   - 8
   - 9
   - 10
   - 50
   description: >
    Mapping:
     * 0 - Ok
     * 1 - ChecksumError
     * 2 - ParseError
     * 3 - DeviceIdentificationError
     * 4 - UpdateRepositoryError
     * 5 - UpdateSourceError
     * 6 - DecryptionError
     * 7 - DecryptionHeaderError
     * 8 - DecryptionLengthError
     * 9 - IoError
     * 10 - VersionConversionError
     * 50 - ComponentRegistryError
  DeviceStatus:
   type: integer
   default: 0
   enum: 
   - 0
   - 1
   - 2
   - 3
   - 4
   - 5
   - 6
   - 7
   - 8
   description: >
    Mapping:
     * 0 - DS_UnknownState
     * 1 - DS_Startup
     * 2 - DS_ServiceMode
     * 3 - DS_NormalOperation
     * 4 - DS_SuspendedOperation
     * 5 - DS_ServiceRecommended
     * 6 - DS_ServiceRequired
     * 7 - DS_RecoverableError
     * 8 - DS_FatalError
  httpsError_t:
   type: object
   properties: 
    error:
     type: string
     default: " "
     maxLength: 100
  Logic_t:
   type: integer
   default: 0
   enum: 
   - 0
   - 1
   description: >
    Mapping:
     * 0 - ACTIVE_HIGH
     * 1 - ACTIVE_LOW
  IOState_t:
   type: object
   properties: 
    eIOState:
     type: integer
     default: 2
     enum: 
     - 0
     - 1
     - 2
     description: >
      Mapping:
       * 0 - IOS_LOW
       * 1 - IOS_HIGH
       * 2 - IOS_TRISTATE
  PortStateAndCounter_t:
   type: object
   properties: 
    ePortState:
     type: integer
     default: 2
     enum: 
     - 0
     - 1
     - 2
     - 3
     - 4
     description: >
      Mapping:
       * 0 - OUTPUT_NOT_ACTIVE
       * 1 - OUTPUT_ACTIVE
       * 2 - TRISTATE
       * 3 - INPUT_ACTIVE
       * 4 - INPUT_NOT_ACTIVE
    PortCounter:
     type: integer
  DateTime_t:
   type: object
   properties: 
    uiYear:
     type: integer
     minimum: 0
     maximum: 2105
     default: 0
    usiMonth:
     type: integer
     minimum: 0
     maximum: 12
     default: 1
    usiDay:
     type: integer
     minimum: 0
     maximum: 31
     default: 1
    usiHour:
     type: integer
     minimum: 0
     maximum: 23
     default: 0
    usiMinute:
     type: integer
     minimum: 0
     maximum: 59
     default: 0
    usiSec:
     type: integer
     minimum: 0
     maximum: 59
     default: 0
    udiUSec:
     type: integer
     minimum: 0
     maximum: 999999
     default: 0
  LedStateType:
   type: object
   properties: 
    Color:
     type: integer
     default: 0
     enum: 
     - 0
     - 1
     - 2
     - 3
     description: >
      Mapping:
       * 0 - GREEN
       * 1 - YELLOW
       * 2 - RED
       * 3 - WHITE
    Function:
     type: integer
     default: 0
     enum: 
     - 0
     - 1
     - 2
     - 3
     - 4
     - 5
     - 6
     description: >
      Mapping:
       * 0 - ON
       * 1 - OFF
       * 2 - BLINKING
       * 3 - BLINKING_FAST
       * 4 - BLINKING_DELAYED
       * 5 - BLINKING_COLOR
       * 6 - BLINKING_YELLOW_RED
    Id:
     type: string
     default: " "
     maxLength: 8
  Point3d_t:
   type: object
   properties: 
    x:
     type: integer
     minimum: -500000
     maximum: 500000
     default: 0
    y:
     type: integer
     minimum: -500000
     maximum: 500000
     default: 0
    z:
     type: integer
     minimum: -500000
     maximum: 500000
     default: 0
  Evaluation_t:
   type: object
   properties: 
    Version:
     type: integer
     default: 1
    Source:
     type: integer
     default: 0
     enum: 
     - 0
     - 1
     - 2
     description: >
      Mapping:
       * 0 - STANDARD
       * 1 - HIGHRES_6
       * 2 - HIGHRES_14
    Name:
     type: string
     default: " "
     maxLength: 20
    ID:
     type: integer
     default: 1
    EvaluationParamsMaskBased:
     type: array
     maxItems: 1
     minItems: 0
     items: 
      type: object
      properties: 
       InfringementThresholdFactor:
        type: integer
        minimum: 1
        maximum: 100
        default: 80
    EvaluationParamsSegmentationBased:
     type: array
     maxItems: 1
     minItems: 0
     items: 
      type: object
      properties: 
       SampleParam1:
        type: integer
    EvaluationParamsCommon:
     type: array
     maxItems: 1
     minItems: 0
     items: 
      type: object
      properties: 
       MinimumObjectSizeHorizontal:
        type: integer
        minimum: 0
        maximum: 5000
        default: 200
       MinimumObjectSizeVertical:
        type: integer
        minimum: 0
        maximum: 5000
        default: 200
       OcclusionHandling:
        type: boolean
        default: False
       TreatMissingDataAsInfringed:
        type: boolean
        default: False
       TimeForInfringedState:
        type: integer
        minimum: 1
        maximum: 10000
        default: 50
       TimeForFreeState:
        type: integer
        minimum: 1
        maximum: 10000
        default: 50
       Reserved3:
        type: integer
       Reserved4:
        type: integer
    EvaluationParamsExitSize:
     type: array
     maxItems: 1
     minItems: 0
     items: 
      type: object
      properties: 
       disableExitSize:
        type: boolean
        default: False
       exitSizeVertical:
        type: integer
        minimum: 0
        maximum: 100
        default: 70
       exitSizeHorizontal:
        type: integer
        minimum: 0
        maximum: 100
        default: 100
    VolumeList:
     type: array
     maxItems: 1
     minItems: 0
     default: []
     items: 
      type: integer
      minimum: 1
      maximum: 48
      default: 1
  EvaluationResult_t:
   type: object
   properties: 
    State:
     type: integer
     default: 0
     enum: 
     - 0
     - 1
     - 2
     - 3
     - 4
     - 5
     description: >
      Mapping:
       * 0 - NOT_CONFIGURED
       * 1 - INACTIVE
       * 2 - FREE
       * 3 - DETECTING_INFRINGED
       * 4 - INFRINGED
       * 5 - DETECTING_FREE
  FieldEvaluationResult_t:
   type: object
   properties: 
    Version:
     type: integer
     default: 1
    Timestamp:
     type: integer
    EvaluationResultList:
     type: array
     maxItems: 48
     minItems: 0
     default: []
     items: 
      $ref: '#/components/schemas/EvaluationResult_t'
  TrackEvaluation_t:
   type: object
   properties: 
    Version:
     type: integer
     default: 1
    EvaluationParamsCommon:
     type: array
     maxItems: 1
     minItems: 0
     items: 
      type: object
      properties: 
       MaximumHiddenTime:
        type: integer
        minimum: 0
        maximum: 1000
        default: 500
       MinimumObjectAge:
        type: integer
        minimum: 0
        default: 0
       TimeForInfringedState:
        type: integer
        minimum: 1
        default: 500
       MinimumObjectWidth:
        type: integer
        minimum: 0
        maximum: 200000
        default: 200
       MinimumObjectHeight:
        type: integer
        minimum: 0
        maximum: 200000
        default: 0
       EnableMaximumSizeFilter:
        type: boolean
        default: False
       MaximumObjectWidth:
        type: integer
        minimum: 0
        maximum: 200000
        default: 2000
       MaximumObjectHeight:
        type: integer
        minimum: 0
        maximum: 200000
        default: 2000
       MotionState:
        type: integer
        default: 1
        enum: 
        - 0
        - 1
        - 2
        description: >
         Mapping:
          * 0 - ALL
          * 1 - MOVING
          * 2 - STATIONARY
       EnableSpeedFilter:
        type: boolean
        default: True
       MinimumObjectVelocity:
        type: integer
        minimum: 0
        maximum: 65000
        default: 300
       MaximumObjectVelocity:
        type: integer
        minimum: 0
        maximum: 65000
        default: 15000
       EnableDirectionFilter:
        type: boolean
        default: False
       ObjectDirection:
        type: integer
        minimum: -180
        maximum: 180
        default: 180
       ObjectDirectionUncertainty:
        type: integer
        minimum: 0
        maximum: 180
        default: 90
       Reserved1:
        type: integer
        default: 0
       Reserved2:
        type: integer
        default: 0
       Reserved3:
        type: integer
        default: 0
       Reserved4:
        type: integer
        default: 0
       Reserved5:
        type: integer
        default: 0
       Reserved6:
        type: integer
        default: 0
    ReservedParams1:
     type: array
     maxItems: 1
     minItems: 0
     default: []
     items: 
      type: object
      properties: 
       ReservedDummy:
        type: integer
        default: 0
    ReservedParams2:
     type: array
     maxItems: 1
     minItems: 0
     default: []
     items: 
      type: object
      properties: 
       ReservedDummy:
        type: integer
        default: 0
  ObjectEvaluationResult_t:
   type: object
   properties: 
    Version:
     type: integer
     default: 1
    Timestamp:
     type: integer
    EvaluationResultList:
     type: array
     maxItems: 48
     minItems: 0
     default: []
     items: 
      $ref: '#/components/schemas/EvaluationResult_t'
