Skip to content

API | REST | OpenAPI

This page provides the searchable V1.1.0 REST reference and downloadable OpenAPI description for the multiScan200 family. For REST concepts, authentication, and request patterns, see REST API / OpenAPI.

multiScan200_1.1.0.yaml (Download)

Always match the file to your device's actual firmware version. Function availability can vary by variant and installed software package.

1 - General

POST /checkCredentials

Returns authentication success. For more details see https://github.com/SICKAG/sick_scan_rest_client.

Build the JSON body from the request schema below.

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

Type: object · Nullable: true

Responses

Status 200

Media type: application/json

header

PUT /update

Transfers a firmware file (.spk.signed) from the file location to the device. The maximum possible file size is 100 MB.

See Firmware Update for the firmware update workflow.

This operation uploads a file or uses a non-JSON body. Use the request media type and upload fields below.

Request body

Media type: application/octet-stream

data
Type

Type: string

Binary

Type: string

Responses

Status 200

GET /parameterbackup

Reads/transfers the backup file (.json) from/to the device.

See Configuration Backup and Restore for the parameter backup workflow.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/parameterbackup"

Responses

Status 200

Media type: application/json

version

Type: string

device identification

Type: string

checksum

Type: string

parameters

Type: array

Items:
userlevel
parameters

Type: array

Items:
name

Type: string

id

Type: string

value

oneOf

  1. Type: integer

  2. Type: boolean

  3. Type: string

  4. Type: object

  5. Type: number

PUT /parameterbackup

Reads/transfers the backup file (.json) from/to the device.

See Configuration Backup and Restore for the parameter backup workflow.

This operation uploads a file or uses a non-JSON body. Use the request media type and upload fields below.

Request body

Media type: multipart/form-data

datei

Type: string · Format: binary

Json-Datei

Responses

Status 200

POST /SetPassword

Sets the password for the CoLa A/B interface only. For more details see https://github.com/SICKAG/sick_scan_rest_client.

JSON example

{
  "data": {
    "siUserLevel": 4,
    "udiNewPassword": 3410122659
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

data

Example:

{
  "siUserLevel": 4,
  "udiNewPassword": 3410122659
}
siUserLevel

Type: integer

udiNewPassword

Type: integer

Responses

Status 200

Media type: application/json

header
data
bSuccess

Type: boolean · Default: false

POST /getChallenge

Returns a challenge for the challenge and response authentication method. For more details see https://github.com/SICKAG/sick_scan_rest_client

JSON example

{
  "data": {
    "user": "Run"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

data
user

Responses

Status 200

Media type: application/json

header
challenge
realm

Type: string · Default:

nonce

Type: string · Default:

opaque

Type: string · Default:

salt

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 16

Items:

Type: integer

POST /changePassword

Sets the password for the REST interface. For more details see https://github.com/SICKAG/sick_scan_rest_client.

JSON example

{
  "data": {
    "encryptedMessage": [],
    "userLevel": "Run"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

data
encryptedMessage

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 96

Items:

Type: integer

userLevel

Responses

Status 200

Media type: application/json

header
data
result

Allowed values:

[
  0,
  2,
  4,
  5
]

Type: integer · Default: 0

Mapping: * 0 - SUCCESS * 2 - NOT_ACCEPTED * 4 - PWD_NOT_CHANGABLE * 5 - TIMELOCK_ACTIVE

POST /EnableUserLevel

Activates/deactivates a specific user level for the REST interface.

This function requires at least user level: Service.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "userLevel": "<integer>",
    "isEnabled": false
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
userLevel

Type: integer

isEnabled

Type: boolean · Default: false

Responses

Status 200

Media type: application/json

header
data
result

Allowed values:

[
  0,
  2
]

Type: integer · Default: 0

Mapping: * 0 - SUCCESS * 2 - NOT_ACCEPTED

POST /WriteEeprom

Saves all parameters permanently.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header

Responses

Status 200

Media type: application/json

header
data
Success

Type: boolean · Default: false

POST /SoftReset

Reboots the device. All non-saved parameters are lost.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "ProcessorNbr": "<integer>"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
ProcessorNbr

Type: integer

Responses

Status 200

Media type: application/json

header

POST /RebootDevice

Reboots the device. All parameters are saved.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header

Responses

Status 200

Media type: application/json

header

POST /LoadFactoryDefaults

Resets all parameters to default.

This function requires at least user level: Service.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header

Responses

Status 200

Media type: application/json

header

POST /LoadApplicationDefaults

Resets all parameters except the communication interfaces.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header

Responses

Status 200

Media type: application/json

header

POST /EnableLegacyUserLevel

Activates/deactivates a specific user level for the CoLa A/B interface.

This function requires at least user level: Service.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "userLevel": "<integer>",
    "isEnabled": false
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
userLevel

Type: integer · Minimum: 0 · Maximum: 7

isEnabled

Type: boolean · Default: false

Responses

Status 200

Media type: application/json

header
data
result

Type: boolean · Default: false

POST /RunFirmwareUpdate

Starts the firmware update process.

This function requires at least user level: Service.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header

Responses

Status 200

Media type: application/json

header

GET /UpdateState

Returns the state of the update process.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/UpdateState"

Responses

Status 200

Media type: application/json

header
data
UpdateState

Allowed values:

[
  0,
  1,
  2,
  3
]

Type: integer · Default: 0

Mapping: * 0 - Initial * 1 - Started * 2 - Finished * 3 - Error

GET /CreateParameterBackupResult

Returns the current status of the parameter backup process.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/CreateParameterBackupResult"

Responses

Status 200

Media type: application/json

header
data
Status

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - Pending * 1 - Finished

Result

Type: boolean · Default: false

GET /RestoreParameterBackupResult

Returns the current status of the parameter restoration process.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/RestoreParameterBackupResult"

Responses

Status 200

Media type: application/json

header
data
Status

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - Pending * 1 - Finished

RestoreResult
ParametersFailedToRestore

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 100

Items:

Type: string · Default: · Maximum length: 256

POST /CreateParameterBackup

Creates a parameter backup file.

This function requires at least user level: Service.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "Passphrase": " "
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
Passphrase

Type: string · Default: · Maximum length: 256

Responses

Status 200

Media type: application/json

header
data
Result

Type: boolean · Default: false

POST /RestoreParameterBackup

Starts the backup file upload.

This function requires at least user level: Service.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "Passphrase": " ",
    "Filter": 0
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
Passphrase

Type: string · Default: · Maximum length: 256

Filter

Type: integer · Default: 0

Responses

Status 200

Media type: application/json

header
data
Result

Type: boolean · Default: false

GET /LFTchecksum

Returns a checksum over all software parts and configurations.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/LFTchecksum"

Responses

Status 200

Media type: application/json

header
data
MD5SumOK

Type: boolean · Default: false

MD5LinuxRoot

Type: string · Default: · Maximum length: 32

MD5App

Type: string · Default: · Maximum length: 32

MD5Calibration

Type: string · Default: · Maximum length: 32

MD5Parameters

Type: string · Default: · Maximum length: 32

POST /CreateSessionToken

A short-lived session token to pass to a HTTP request header.

Build the JSON body from the request schema below.

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

Type: object · Nullable: true

Responses

Status 200

Media type: application/json

header
data
token

Fields: SessionToken

timeToLive

Type: integer

2 - Status

GET /DeviceStatus

Returns the device state (9 possible states).

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/DeviceStatus"

Responses

Status 200

Media type: application/json

header
data
DeviceStatus

Fields: DeviceStatus

GET /SCdevicestate

Returns the device state (busy, ready, or error).

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/SCdevicestate"

Responses

Status 200

Media type: application/json

header
data
SCdevicestate

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - Busy * 1 - Ready * 2 - Error

3 - Device Information

GET /DeviceIdent

Returns the device name and the firmware version.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/DeviceIdent"

Responses

Status 200

Media type: application/json

header
data
Name

Type: string · Default: multiScan200 · Maximum length: 12

Version

Type: string · Default: 1.1.0.0R · Maximum length: 8

GET /LocationName

Returns/sets the device name.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/LocationName"

Responses

Status 200

Media type: application/json

header
data
LocationName

Type: string · Default: not defined · Maximum length: 32

POST /LocationName

Returns/sets the device name.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "LocationName": "not defined"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
LocationName

Type: string · Default: not defined · Maximum length: 32

Responses

Status 200

Media type: application/json

header

GET /SerialNumber

Returns the serial number.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/SerialNumber"

Responses

Status 200

Media type: application/json

header
data
SerialNumber

Type: string · Default: 123456789 · Maximum length: 9

GET /FirmwareVersion

Returns the current firmware version.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/FirmwareVersion"

Responses

Status 200

Media type: application/json

header
data
FirmwareVersion

Type: string · Default: XXXXXXXXXX · Maximum length: 40

GET /OrderNumber

Returns the order number (SICK part number).

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/OrderNumber"

Responses

Status 200

Media type: application/json

header
data
OrderNumber

Type: string · Default: 1234567 · Maximum length: 32

GET /DeviceType

Returns the device type.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/DeviceType"

Responses

Status 200

Media type: application/json

header
data
DeviceType

Type: string · Default: multiScan2xx · Maximum length: 18

POST /FindMe

Sets the device LEDs into blinking mode for better identification.

JSON example

{
  "data": {
    "uiDuration": 100
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

data

Example:

{
  "uiDuration": 100
}
uiDuration

Type: integer · Minimum: 1

Responses

Status 200

Media type: application/json

header

4 - Basic Settings

GET /enableHighPrecisionMode

Returns/sets the high precision mode (temporal moving averaging).

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/enableHighPrecisionMode"

Responses

Status 200

Media type: application/json

header
data
enableHighPrecisionMode

Type: boolean · Default: false

POST /enableHighPrecisionMode

Returns/sets the high precision mode (temporal moving averaging).

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "enableHighPrecisionMode": false
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
enableHighPrecisionMode

Type: boolean · Default: false

Responses

Status 200

Media type: application/json

header

POST /mStartMeasure

Starts motor and measurement.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header

Responses

Status 200

Media type: application/json

header
data
ErrorCode

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - SOPAS_ERR_NO_ERR * 1 - SOPAS_ERR_STATE_CHANGE_NOT_PERMITTED

POST /mStandby

Disables the Laser.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header

Responses

Status 200

Media type: application/json

header
data
ErrorCode

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - SOPAS_ERR_NO_ERR * 1 - SOPAS_ERR_STATE_CHANGE_NOT_PERMITTED

POST /mStopMeasure

Stops motor and measurement.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header

Responses

Status 200

Media type: application/json

header
data
ErrorCode

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - SOPAS_ERR_NO_ERR * 1 - SOPAS_ERR_STATE_CHANGE_NOT_PERMITTED

GET /AutoStartMeasure

Returns/sets the mode for automatic start of measurement after boot-up.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/AutoStartMeasure"

Responses

Status 200

Media type: application/json

header
data
AutoStartMeasure

Type: boolean · Default: true

POST /AutoStartMeasure

Returns/sets the mode for automatic start of measurement after boot-up.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "AutoStartMeasure": true
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
AutoStartMeasure

Type: boolean · Default: true

Responses

Status 200

Media type: application/json

header

GET /LEDState

Returns the LED status.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/LEDState"

Responses

Status 200

Media type: application/json

header
data
LEDState

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 8

Items:

Fields: LedStateType

GET /LEDEnable

Returns/sets the LED mode (on/off).

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/LEDEnable"

Responses

Status 200

Media type: application/json

header
data
LEDEnable

Type: boolean · Default: true

POST /LEDEnable

Returns/sets the LED mode (on/off).

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "LEDEnable": true
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
LEDEnable

Type: boolean · Default: true

Responses

Status 200

Media type: application/json

header

GET /ScanConfig

Returns the configuration of angular resolution, scanning frequency and start angle.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/ScanConfig"

Responses

Status 200

Media type: application/json

header
data
udiScanFreq

Type: integer · Default: 2000 · Minimum: 100 · Maximum: 2000

ScanRange
uiLength

Type: integer · Default: 1 · Minimum: 1 · Maximum: 1

aThetaAngleRange

Type: array · Minimum items: 1 · Maximum items: 1

Items:
udiThetaAngleRes

Type: integer · Default: 4700 · Minimum: 100 · Maximum: 100000

diThetaStartAngle

Type: integer · Default: -1380000 · Minimum: -1800000 · Maximum: 1800000

diThetaStopAngle

Type: integer · Default: 1380000 · Minimum: -1800000 · Maximum: 1800000

aPhiAngleRange

Type: array · Minimum items: 1 · Maximum items: 1

Items:
udiPhiAngleRes

Type: integer · Default: 4700 · Minimum: 100 · Maximum: 100000

diPhiStartAngle

Type: integer · Default: -225000 · Minimum: -450000 · Maximum: 450000

diPhiStopAngle

Type: integer · Default: 225000 · Minimum: -450000 · Maximum: 450000

GET /PerformanceProfileNumber

Returns the scan configuration profile (scanning frequency and angular resolution).

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/PerformanceProfileNumber"

Responses

Status 200

Media type: application/json

header
data
PerformanceProfileNumber

POST /SetScanConfigList

Sets the scan configuration profile (field of view, scanning frequency and angular resolution).

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "ScanConfigList": 1
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
ScanConfigList

Responses

Status 200

Media type: application/json

header
data
eScanConfigError

Allowed values:

[
  0,
  1,
  2,
  3,
  4,
  5,
  6
]

Type: integer · Default: 0

Mapping: * 0 - SCE_OK * 1 - SCE_ERROR_FREQ * 2 - SCE_ERROR_RES * 3 - SCE_ERROR_FREQ_RES_COMB * 4 - SCE_ERROR_NUM_RANGE * 5 - SCE_ERROR * 6 - SCE_ERROR_NO_LICENSE

GET /horizontalFieldOfViewCenterAngle

Returns/sets the horizontal field of view center angle.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/horizontalFieldOfViewCenterAngle"

Responses

Status 200

Media type: application/json

header
data
horizontalFieldOfViewCenterAngle

Type: integer · Default: 0 · Minimum: -1800000 · Maximum: 1800000

POST /horizontalFieldOfViewCenterAngle

Returns/sets the horizontal field of view center angle.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "horizontalFieldOfViewCenterAngle": 0
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
horizontalFieldOfViewCenterAngle

Type: integer · Default: 0 · Minimum: -1800000 · Maximum: 1800000

Responses

Status 200

Media type: application/json

header

GET /ambientPixelCountVertical

Returns/sets the vertical ambient pixel count.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/ambientPixelCountVertical"

Responses

Status 200

Media type: application/json

header
data
ambientPixelCountVertical

Allowed values:

[
  0,
  1
]

Type: integer · Default: 1

Mapping: * 0 - FULL * 1 - MATCHING

POST /ambientPixelCountVertical

Returns/sets the vertical ambient pixel count.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "ambientPixelCountVertical": 1
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
ambientPixelCountVertical

Allowed values:

[
  0,
  1
]

Type: integer · Default: 1

Mapping: * 0 - FULL * 1 - MATCHING

Responses

Status 200

Media type: application/json

header

GET /SensitivityMode

Returns/sets the sensitivity of the receiver unit.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/SensitivityMode"

Responses

Status 200

Media type: application/json

header
data
SensitivityMode

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 1

Mapping: * 0 - MAXIMUM_ROBUSTNESS * 1 - STANDARD * 2 - MAXIMUM_DETECTIVITY

POST /SensitivityMode

Returns/sets the sensitivity of the receiver unit.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "SensitivityMode": 1
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
SensitivityMode

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 1

Mapping: * 0 - MAXIMUM_ROBUSTNESS * 1 - STANDARD * 2 - MAXIMUM_DETECTIVITY

Responses

Status 200

Media type: application/json

header

5 - Date and System Time

GET /TSCRole

Returns/sets the time synchronization role (none, NTP or PTP).

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/TSCRole"

Responses

Status 200

Media type: application/json

header
data
TSCRole

Allowed values:

[
  0,
  1,
  3
]

Type: integer · Default: 0

Mapping: * 0 - TX_NONE * 1 - TX_CLIENT * 3 - TX_PTP_SLAVE

POST /TSCRole

Returns/sets the time synchronization role (none, NTP or PTP).

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "TSCRole": 0
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
TSCRole

Allowed values:

[
  0,
  1,
  3
]

Type: integer · Default: 0

Mapping: * 0 - TX_NONE * 1 - TX_CLIENT * 3 - TX_PTP_SLAVE

Responses

Status 200

Media type: application/json

header

GET /TSCTCSrvAddr

Returns/sets the IP address of the time server.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/TSCTCSrvAddr"

Responses

Status 200

Media type: application/json

header
data
TSCTCSrvAddr

Default:

[
  192,
  168,
  0,
  11
]

Type: array · Minimum items: 0 · Maximum items: 4

Items:

Type: integer

POST /TSCTCSrvAddr

Returns/sets the IP address of the time server.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "TSCTCSrvAddr": [
      192,
      168,
      0,
      11
    ]
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
TSCTCSrvAddr

Default:

[
  192,
  168,
  0,
  11
]

Type: array · Minimum items: 0 · Maximum items: 4

Items:

Type: integer

Responses

Status 200

Media type: application/json

header

GET /TSCTCtimezone

Returns/sets the time zone of the device.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/TSCTCtimezone"

Responses

Status 200

Media type: application/json

header
data
TSCTCtimezone

Allowed values:

[
  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
]

Type: integer · Default: 36

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 /TSCTCtimezone

Returns/sets the time zone of the device.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "TSCTCtimezone": 36
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
TSCTCtimezone

Allowed values:

[
  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
]

Type: integer · Default: 36

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

Status 200

Media type: application/json

header

GET /TSCTCupdatetime

Returns/sets the update time of the client.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/TSCTCupdatetime"

Responses

Status 200

Media type: application/json

header
data
TSCTCupdatetime

Type: integer · Default: 600 · Minimum: 1 · Maximum: 3600

POST /TSCTCupdatetime

Returns/sets the update time of the client.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "TSCTCupdatetime": 600
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
TSCTCupdatetime

Type: integer · Default: 600 · Minimum: 1 · Maximum: 3600

Responses

Status 200

Media type: application/json

header

GET /LSPdatetime

Returns the current time of the device (years, months, days, hours, minutes, seconds, microseconds).

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/LSPdatetime"

Responses

Status 200

Media type: application/json

header
data
LSPdatetime

Fields: DateTime_t

POST /LSPsetdatetime

Sets the current time of the device in local time by using the time zone as defined in TSCTCtimezone (years, months, days, hours, minutes, seconds, microseconds). Does only work if NTP-Client and PTP is not active.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "DateTime": {
      "uiYear": 0,
      "usiMonth": 1,
      "usiDay": 1,
      "usiHour": 0,
      "usiMinute": 0,
      "usiSec": 0,
      "udiUSec": 0
    }
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
DateTime

Fields: DateTime_t

Responses

Status 200

Media type: application/json

header
data
ErrorCode

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - SOPAS_ERR_NO_ERR * 1 - SOPAS_ERR_STATE_CHANGE_NOT_PERMITTED

POST /setDateTimeUTC

Preferred method to sets the current time of device in UTC (years, months, days, hours, minutes, seconds, microseconds). Does only work if NTP-Client and PTP is not active.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "DateTime": {
      "uiYear": 0,
      "usiMonth": 1,
      "usiDay": 1,
      "usiHour": 0,
      "usiMinute": 0,
      "usiSec": 0,
      "udiUSec": 0
    }
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
DateTime

Fields: DateTime_t

Responses

Status 200

Media type: application/json

header
data
ErrorCode

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - SOPAS_ERR_NO_ERR * 1 - SOPAS_ERR_STATE_CHANGE_NOT_PERMITTED

6 - Filter

GET /bloomingFilter

Returns/sets the blooming filter.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/bloomingFilter"

Responses

Status 200

Media type: application/json

header
data
strength

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 1

Mapping: * 0 - LOW * 1 - MEDIUM * 2 - STRONG

enable

Type: boolean · Default: false

POST /bloomingFilter

Returns/sets the blooming filter.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "bloomingFilter": {
      "strength": 1,
      "enable": false
    }
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
bloomingFilter
strength

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 1

Mapping: * 0 - LOW * 1 - MEDIUM * 2 - STRONG

enable

Type: boolean · Default: false

Responses

Status 200

Media type: application/json

header

GET /particleFilter

Returns/sets the particle filter settings. Filters out disturbances in the measurement data caused by particles such as dust, snow, or similar.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/particleFilter"

Responses

Status 200

Media type: application/json

header
data
enable

Type: boolean · Default: false

minNumberOfNeighbors

Type: integer · Default: 1 · Maximum: 8

distanceThreshold

Type: integer · Default: 500 · Minimum: 20 · Maximum: 2000

POST /particleFilter

Returns/sets the particle filter settings. Filters out disturbances in the measurement data caused by particles such as dust, snow, or similar.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "particleFilter": {
      "enable": false,
      "minNumberOfNeighbors": 1,
      "distanceThreshold": 500
    }
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
particleFilter
enable

Type: boolean · Default: false

minNumberOfNeighbors

Type: integer · Default: 1 · Maximum: 8

distanceThreshold

Type: integer · Default: 500 · Minimum: 20 · Maximum: 2000

Responses

Status 200

Media type: application/json

header

GET /FREchoFilter

Returns/sets the multi-echo filter settings. Depending on the environment the sensor receives several measurement points on the same angular step (multi-echo).

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/FREchoFilter"

Responses

Status 200

Media type: application/json

header
data
FREchoFilter

Allowed values:

[
  0,
  1,
  2,
  3,
  4
]

Type: integer · Default: 2

Mapping: * 0 - FIRST_ECHO * 1 - ALL_ECHOS * 2 - LAST_ECHO * 3 - STRONGEST_ECHO * 4 - ALL_ECHOS_STRONGEST_FIRST

POST /FREchoFilter

Returns/sets the multi-echo filter settings. Depending on the environment the sensor receives several measurement points on the same angular step (multi-echo).

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "FREchoFilter": 2
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
FREchoFilter

Allowed values:

[
  0,
  1,
  2,
  3,
  4
]

Type: integer · Default: 2

Mapping: * 0 - FIRST_ECHO * 1 - ALL_ECHOS * 2 - LAST_ECHO * 3 - STRONGEST_ECHO * 4 - ALL_ECHOS_STRONGEST_FIRST

Responses

Status 200

Media type: application/json

header

7 - Mounting Position

GET /SensorPosition

Returns/sets the mounting position.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/SensorPosition"

Responses

Status 200

Media type: application/json

header
data
x

Type: integer · Default: 0 · Minimum: -100000 · Maximum: 100000

y

Type: integer · Default: 0 · Minimum: -100000 · Maximum: 100000

z

Type: integer · Default: 0 · Minimum: -100000 · Maximum: 100000

yaw

Type: integer · Default: 0 · Minimum: -3600000 · Maximum: 3600000

pitch

Type: integer · Default: 0 · Minimum: -3600000 · Maximum: 3600000

roll

Type: integer · Default: 0 · Minimum: -3600000 · Maximum: 3600000

POST /SensorPosition

Returns/sets the mounting position.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "SensorPosition": {
      "x": 0,
      "y": 0,
      "z": 0,
      "yaw": 0,
      "pitch": 0,
      "roll": 0
    }
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
SensorPosition
x

Type: integer · Default: 0 · Minimum: -100000 · Maximum: 100000

y

Type: integer · Default: 0 · Minimum: -100000 · Maximum: 100000

z

Type: integer · Default: 0 · Minimum: -100000 · Maximum: 100000

yaw

Type: integer · Default: 0 · Minimum: -3600000 · Maximum: 3600000

pitch

Type: integer · Default: 0 · Minimum: -3600000 · Maximum: 3600000

roll

Type: integer · Default: 0 · Minimum: -3600000 · Maximum: 3600000

Responses

Status 200

Media type: application/json

header

8 - Contamination indication

GET /ContaminationConfig

Returns/sets of the contamination indication settings such as sensitivity, response time, threshold for warning, and active sectors.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/ContaminationConfig"

Responses

Status 200

Media type: application/json

header
data
eStrategy

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - CM_STRATEGY_INACTIVE * 1 - CM_STRATEGY_HIGH_AVAILABLE * 2 - CM_STRATEGY_SENSITIVE

usiResponseTime

Type: integer · Default: 3 · Minimum: 3 · Maximum: 60

eThreshold

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - CM_LOW * 1 - CM_MID * 2 - CM_HIGH

eCover

Allowed values:

[
  0,
  6,
  255
]

Type: integer · Default: 0

Mapping: * 0 - CM_COVER_NONE * 6 - CM_COVER * 255 - CM_COVER_CUSTOM_SECTORS

CustomSectors

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 12

Items:

Type: boolean · Default: true

bEnableWarning

Type: boolean · Default: true

bEnableError

Type: boolean · Default: true

POST /ContaminationConfig

Returns/sets of the contamination indication settings such as sensitivity, response time, threshold for warning, and active sectors.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "ContaminationConfig": {
      "eStrategy": 0,
      "usiResponseTime": 3,
      "eThreshold": 0,
      "eCover": 0,
      "CustomSectors": [],
      "bEnableWarning": true,
      "bEnableError": true
    }
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
ContaminationConfig
eStrategy

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - CM_STRATEGY_INACTIVE * 1 - CM_STRATEGY_HIGH_AVAILABLE * 2 - CM_STRATEGY_SENSITIVE

usiResponseTime

Type: integer · Default: 3 · Minimum: 3 · Maximum: 60

eThreshold

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - CM_LOW * 1 - CM_MID * 2 - CM_HIGH

eCover

Allowed values:

[
  0,
  6,
  255
]

Type: integer · Default: 0

Mapping: * 0 - CM_COVER_NONE * 6 - CM_COVER * 255 - CM_COVER_CUSTOM_SECTORS

CustomSectors

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 12

Items:

Type: boolean · Default: true

bEnableWarning

Type: boolean · Default: true

bEnableError

Type: boolean · Default: true

Responses

Status 200

Media type: application/json

header

GET /ContaminationActiveSectors

Element i is true, if the sector result i is included in the computation of the contamination results and false otherwise.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/ContaminationActiveSectors"

Responses

Status 200

Media type: application/json

header
data
ContaminationActiveSectors

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 12

Items:

Type: boolean · Default: false

GET /ContaminationData

Returns the contamination state of all contamination sectors.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/ContaminationData"

Responses

Status 200

Media type: application/json

header
data
ContaminationData

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 12

Items:

Allowed values:

[
  0,
  1,
  2,
  3
]

Type: integer · Default: 0

Mapping: * 0 - CM_DATA_NONE * 1 - CM_DATA_CLEAN * 2 - CM_DATA_WARN * 3 - CM_DATA_ERROR

GET /ContaminationResult

Returns the contamination indication state of the device.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/ContaminationResult"

Responses

Status 200

Media type: application/json

header
data
bWarningActive

Type: boolean · Default: false

bErrorActive

Type: boolean · Default: false

GET /treatBlockedSectorsAsErrorSectors

Returns/sets the state if blocked sectors are treated as blocked or contaminated sectors.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/treatBlockedSectorsAsErrorSectors"

Responses

Status 200

Media type: application/json

header
data
treatBlockedSectorsAsErrorSectors

Type: boolean · Default: false

POST /treatBlockedSectorsAsErrorSectors

Returns/sets the state if blocked sectors are treated as blocked or contaminated sectors.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "treatBlockedSectorsAsErrorSectors": false
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
treatBlockedSectorsAsErrorSectors

Type: boolean · Default: false

Responses

Status 200

Media type: application/json

header

8 - Ethernet

GET /EtherIPAddress

Returns/sets the used static IP address.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/EtherIPAddress"

Responses

Status 200

Media type: application/json

header
data
EtherIPAddress

Default:

[
  192,
  168,
  0,
  1
]

Type: array · Minimum items: 4 · Maximum items: 4

Items:

Type: integer

POST /EtherIPAddress

Returns/sets the used static IP address.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "EtherIPAddress": [
      192,
      168,
      0,
      1
    ]
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
EtherIPAddress

Default:

[
  192,
  168,
  0,
  1
]

Type: array · Minimum items: 4 · Maximum items: 4

Items:

Type: integer

Responses

Status 200

Media type: application/json

header

GET /EtherIPGateAddress

Returns/sets the default gateway address.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/EtherIPGateAddress"

Responses

Status 200

Media type: application/json

header
data
EtherIPGateAddress

Default:

[
  0,
  0,
  0,
  0
]

Type: array · Minimum items: 4 · Maximum items: 4

Items:

Type: integer

POST /EtherIPGateAddress

Returns/sets the default gateway address.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "EtherIPGateAddress": [
      0,
      0,
      0,
      0
    ]
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
EtherIPGateAddress

Default:

[
  0,
  0,
  0,
  0
]

Type: array · Minimum items: 4 · Maximum items: 4

Items:

Type: integer

Responses

Status 200

Media type: application/json

header

GET /EtherIPMask

Returns/sets the subnet mask.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/EtherIPMask"

Responses

Status 200

Media type: application/json

header
data
EtherIPMask

Default:

[
  255,
  255,
  255,
  0
]

Type: array · Minimum items: 4 · Maximum items: 4

Items:

Type: integer

POST /EtherIPMask

Returns/sets the subnet mask.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "EtherIPMask": [
      255,
      255,
      255,
      0
    ]
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
EtherIPMask

Default:

[
  255,
  255,
  255,
  0
]

Type: array · Minimum items: 4 · Maximum items: 4

Items:

Type: integer

Responses

Status 200

Media type: application/json

header

GET /EtherAddressingMode

Returns/sets the mode for the IP address assignment (static or DHCP).

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/EtherAddressingMode"

Responses

Status 200

Media type: application/json

header
data
EtherAddressingMode

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - TX_IP_STATIC * 1 - TX_IP_DHCP

POST /EtherAddressingMode

Returns/sets the mode for the IP address assignment (static or DHCP).

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "EtherAddressingMode": 0
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
EtherAddressingMode

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - TX_IP_STATIC * 1 - TX_IP_DHCP

Responses

Status 200

Media type: application/json

header

GET /EtherDHCPFallback

Returns/sets the mode for the DHCP fallback (retry or static).

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/EtherDHCPFallback"

Responses

Status 200

Media type: application/json

header
data
EtherDHCPFallback

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - TX_USE_STATIC_IP * 1 - TX_RETRY_DHCP

POST /EtherDHCPFallback

Returns/sets the mode for the DHCP fallback (retry or static).

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "EtherDHCPFallback": 0
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
EtherDHCPFallback

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - TX_USE_STATIC_IP * 1 - TX_RETRY_DHCP

Responses

Status 200

Media type: application/json

header

POST /EthernetUpdate

Applies the Ethernet settings. This needs to be executed to actually change the Ethernet settings.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header

Responses

Status 200

Media type: application/json

header

GET /EtherIPAddressDHCP

Returns the assigned DHCP IP address.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/EtherIPAddressDHCP"

Responses

Status 200

Media type: application/json

header
data
EtherIPAddressDHCP

Default:

[
  192,
  168,
  0,
  1
]

Type: array · Minimum items: 4 · Maximum items: 4

Items:

Type: integer

GET /EtherIPGateAddressDHCP

Returns the assigned DHCP default gateway address.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/EtherIPGateAddressDHCP"

Responses

Status 200

Media type: application/json

header
data
EtherIPGateAddressDHCP

Default:

[
  0,
  0,
  0,
  0
]

Type: array · Minimum items: 4 · Maximum items: 4

Items:

Type: integer

GET /EtherIPMaskDHCP

Returns the assigned DHCP subnet mask.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/EtherIPMaskDHCP"

Responses

Status 200

Media type: application/json

header
data
EtherIPMaskDHCP

Default:

[
  255,
  255,
  255,
  0
]

Type: array · Minimum items: 4 · Maximum items: 4

Items:

Type: integer

GET /EtherMACAddress

Returns the MAC address of the Ethernet interface.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/EtherMACAddress"

Responses

Status 200

Media type: application/json

header
data
EtherMACAddress

Default:

[
  0,
  6,
  119,
  0,
  0,
  0
]

Type: array · Minimum items: 6 · Maximum items: 6

Items:

Type: integer

9 - Inputs and Outputs

GET /PortConfiguration

Returns/sets the port configuration of all I/Os.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/PortConfiguration"

Responses

Status 200

Media type: application/json

header
data
PortConfiguration

Type: array · Minimum items: 8 · Maximum items: 8

Items:
PortType

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - INPUT * 1 - OUTPUT * 2 - ENCODER

Name

Type: string · Default: IOx · Maximum length: 20

InputSettings
Logic

Fields: Logic_t

Debounce

Type: integer · Default: 10 · Minimum: 1 · Maximum: 1000

Sensitivity

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - EDGE * 1 - LEVEL

Reserved1

Type: integer · Default: 0

Reserved2

Type: integer · Default: 0

OutputSettings
Logic

Fields: Logic_t

OutputMode

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - PNP * 1 - NPN * 2 - PUSH_PULL

RestartType

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - RESTART_IMMEDATE * 1 - RESTART_TIME * 2 - RESTART_INPUT

RestartTime

Type: integer · Default: 200 · Minimum: 20 · Maximum: 600000

RestartInput

Type: integer · Default: 1 · Minimum: 1 · Maximum: 8

Combination

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 1

Mapping: * 0 - AND * 1 - OR * 2 - XOR

Reserved3

Type: integer · Default: 0

Reserved4

Type: integer · Default: 0

Sources

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 128

Items:
Name

Type: string · Default: · Minimum length: 4 · Maximum length: 4

Invert

Type: boolean · Default: false

Reserved5

Type: integer · Default: 0

Reserved6

Type: integer · Default: 0

EncoderPortType

Allowed values:

[
  0,
  1,
  2,
  3,
  4
]

Type: integer · Default: 0

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 /PortConfiguration

Returns/sets the port configuration of all I/Os.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "PortConfiguration": [
      {
        "PortType": 0,
        "Name": "IOx",
        "InputSettings": {
          "Logic": 0,
          "Debounce": 10,
          "Sensitivity": 0,
          "Reserved1": 0,
          "Reserved2": 0
        },
        "OutputSettings": {
          "Logic": 0,
          "OutputMode": 0,
          "RestartType": 0,
          "RestartTime": 200,
          "RestartInput": 1,
          "Combination": 1,
          "Reserved3": 0,
          "Reserved4": 0,
          "Sources": []
        },
        "EncoderPortType": 0,
        "Reserved8": 0,
        "Reserved9": 0,
        "Reserved10": 0
      }
    ]
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
PortConfiguration

Type: array · Minimum items: 8 · Maximum items: 8

Items:
PortType

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - INPUT * 1 - OUTPUT * 2 - ENCODER

Name

Type: string · Default: IOx · Maximum length: 20

InputSettings
Logic

Fields: Logic_t

Debounce

Type: integer · Default: 10 · Minimum: 1 · Maximum: 1000

Sensitivity

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - EDGE * 1 - LEVEL

Reserved1

Type: integer · Default: 0

Reserved2

Type: integer · Default: 0

OutputSettings
Logic

Fields: Logic_t

OutputMode

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - PNP * 1 - NPN * 2 - PUSH_PULL

RestartType

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - RESTART_IMMEDATE * 1 - RESTART_TIME * 2 - RESTART_INPUT

RestartTime

Type: integer · Default: 200 · Minimum: 20 · Maximum: 600000

RestartInput

Type: integer · Default: 1 · Minimum: 1 · Maximum: 8

Combination

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 1

Mapping: * 0 - AND * 1 - OR * 2 - XOR

Reserved3

Type: integer · Default: 0

Reserved4

Type: integer · Default: 0

Sources

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 128

Items:
Name

Type: string · Default: · Minimum length: 4 · Maximum length: 4

Invert

Type: boolean · Default: false

Reserved5

Type: integer · Default: 0

Reserved6

Type: integer · Default: 0

EncoderPortType

Allowed values:

[
  0,
  1,
  2,
  3,
  4
]

Type: integer · Default: 0

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

Responses

Status 200

Media type: application/json

header

POST /SetOutput

Sets the output state for an individual output. Precondition is to set the output source to "SOPAS command".

Editable JSON template

{
  "data": {
    "Output": "<integer>",
    "Value": "<integer>"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

data
Output

Type: integer

Value

Type: integer

Responses

Status 200

Media type: application/json

header
data
Success

Type: boolean · Default: false

GET /InputState

Returns the state of all inputs.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/InputState"

Responses

Status 200

Media type: application/json

header
data
uiVersionNumber

Type: integer · Default: 1

udiSystCount

Type: integer

aDigitalIn

Type: array · Minimum items: 8 · Maximum items: 8

Items:
IOState

Fields: IOState_t

aTimeBlock

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 1

Items:

Fields: DateTime_t

GET /OutputState

Returns the state of all outputs.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/OutputState"

Responses

Status 200

Media type: application/json

header
data
uiVersionNumber

Type: integer · Default: 1

udiSystCount

Type: integer

aDigitalOut

Type: array · Minimum items: 8 · Maximum items: 8

Items:
IOState

Fields: IOState_t

udiCounter

Type: integer

aTimeBlock

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 1

Items:

Fields: DateTime_t

GET /PortState

Returns the state of the ports. "PortState" is preferred over "OutputState".

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/PortState"

Responses

Status 200

Media type: application/json

header
data
uiVersionNumber

Type: integer

udiSystCount

Type: integer

aInternalPorts

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 8

Items:
aExternalPorts

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 8

Items:
aTimeBlock

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 1

Items:

Fields: DateTime_t

POST /mResetOutputCounter

Resets the counter for the outputs.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header

Responses

Status 200

Media type: application/json

header
data
ErrorCode

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - SOPAS_ERR_NO_ERR * 1 - SOPAS_ERR_STATE_CHANGE_NOT_PERMITTED

GET /temperatureAlarmConfiguration

Returns/sets temperature alarm thresholds.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/temperatureAlarmConfiguration"

Responses

Status 200

Media type: application/json

header
data
upperThreshold

Type: integer · Default: 55

lowerThreshold

Type: integer · Default: 50

GET /temperatureAlarmStatus

Returns the current temperature alarm status.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/temperatureAlarmStatus"

Responses

Status 200

Media type: application/json

header
data
temperatureAlarmStatus

Type: boolean · Default: false

10 - Measurement Data Output

GET /dataOutputMode

Returns/sets the data output mode (e.g. Compact format) or disables scan data transmission.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/dataOutputMode"

Responses

Status 200

Media type: application/json

header
data
dataOutputMode

Allowed values:

[
  0,
  1,
  3
]

Type: integer · Default: 1

Mapping: * 0 - DISABLED * 1 - TCP_COMPACT * 3 - NATIVE_ROS_2

POST /dataOutputMode

Returns/sets the data output mode (e.g. Compact format) or disables scan data transmission.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "dataOutputMode": 1
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
dataOutputMode

Allowed values:

[
  0,
  1,
  3
]

Type: integer · Default: 1

Mapping: * 0 - DISABLED * 1 - TCP_COMPACT * 3 - NATIVE_ROS_2

Responses

Status 200

Media type: application/json

header

GET /compactTelegramType6Content

Return/sets the optional channels in the scan data compact telegram type 6 (muls270 specific compact format.).

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/compactTelegramType6Content"

Responses

Status 200

Media type: application/json

header
data
includeRssi

Type: boolean · Default: true

includeProperties

Type: boolean · Default: false

includeAmbientLight

Type: boolean · Default: true

reserved

Type: boolean · Default: false

POST /compactTelegramType6Content

Return/sets the optional channels in the scan data compact telegram type 6 (muls270 specific compact format.).

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "compactTelegramType6Content": {
      "includeRssi": true,
      "includeProperties": false,
      "includeAmbientLight": true,
      "reserved": false
    }
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
compactTelegramType6Content
includeRssi

Type: boolean · Default: true

includeProperties

Type: boolean · Default: false

includeAmbientLight

Type: boolean · Default: true

reserved

Type: boolean · Default: false

Responses

Status 200

Media type: application/json

header

GET /rosFrameId

Returns/sets the frame ID of the published topics.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/rosFrameId"

Responses

Status 200

Media type: application/json

header
data
rosFrameId

Type: string · Default: multiScan200_ · Maximum length: 64

POST /rosFrameId

Returns/sets the frame ID of the published topics.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "rosFrameId": "multiScan200_"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
rosFrameId

Type: string · Default: multiScan200_ · Maximum length: 64

Responses

Status 200

Media type: application/json

header

GET /rosParentFrameId

Returns/sets the parent frame ID of the published topics.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/rosParentFrameId"

Responses

Status 200

Media type: application/json

header
data
rosParentFrameId

Type: string · Default: world · Maximum length: 64

POST /rosParentFrameId

Returns/sets the parent frame ID of the published topics.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "rosParentFrameId": "world"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
rosParentFrameId

Type: string · Default: world · Maximum length: 64

Responses

Status 200

Media type: application/json

header

GET /rosPointCloud2Content

Returns/sets the content of the published PointCloud2 topics.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/rosPointCloud2Content"

Responses

Status 200

Media type: application/json

header
data
includeRssi

Type: boolean · Default: false

includeProperties

Type: boolean · Default: false

includeTimeOffset

Type: boolean · Default: false

includeRing

Type: boolean · Default: false

POST /rosPointCloud2Content

Returns/sets the content of the published PointCloud2 topics.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "rosPointCloud2Content": {
      "includeRssi": false,
      "includeProperties": false,
      "includeTimeOffset": false,
      "includeRing": false
    }
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
rosPointCloud2Content
includeRssi

Type: boolean · Default: false

includeProperties

Type: boolean · Default: false

includeTimeOffset

Type: boolean · Default: false

includeRing

Type: boolean · Default: false

Responses

Status 200

Media type: application/json

header

GET /rosNamespace

Returns/sets the namespace of the published topics.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/rosNamespace"

Responses

Status 200

Media type: application/json

header
data
rosNamespace

Type: string · Default: · Maximum length: 64

POST /rosNamespace

Returns/sets the namespace of the published topics.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "rosNamespace": " "
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
rosNamespace

Type: string · Default: · Maximum length: 64

Responses

Status 200

Media type: application/json

header

GET /rosDomainId

Returns/sets the ros domain ID.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/rosDomainId"

Responses

Status 200

Media type: application/json

header
data
rosDomainId

Type: integer · Default: 0 · Maximum: 232

POST /rosDomainId

Returns/sets the ros domain ID.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "rosDomainId": 0
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
rosDomainId

Type: integer · Default: 0 · Maximum: 232

Responses

Status 200

Media type: application/json

header

GET /InertialMeasurementUnit

Returns the current IMU data (e.g. Acceleration, Orientation, ... ). The data is given in the following coordinate system which is based on the DIN70000 system. 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 are rising in the counterclockwise rotation direction (right-handed system). The z-axis is perpendicular to the x-y-plane and the scanner top points to rising z-values.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/InertialMeasurementUnit"

Responses

Status 200

Media type: application/json

header
data
Acceleration

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 3

Items:

Type: number · Default: 0.0

AngularVelocity

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 3

Items:

Type: number · Default: 0.0

Orientation

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 4

Items:

Type: number · Default: 0.0

TimeStamp

Type: integer

11 - Data Reduction

GET /LFPintervalFilter

Returns/sets the interval filter settings. The filter reduces the scan output rate by a given factor.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/LFPintervalFilter"

Responses

Status 200

Media type: application/json

header
data
bEnable

Type: boolean · Default: false

uiReductionFactor

Type: integer · Default: 2 · Minimum: 2 · Maximum: 50

POST /LFPintervalFilter

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.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "LFPintervalFilter": {
      "bEnable": false,
      "uiReductionFactor": 2
    }
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
LFPintervalFilter
bEnable

Type: boolean · Default: false

uiReductionFactor

Type: integer · Default: 2 · Minimum: 2 · Maximum: 50

Responses

Status 200

Media type: application/json

header

GET /angleRangeFocusFilter

Returns/sets the angle range focus filter settings.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/angleRangeFocusFilter"

Responses

Status 200

Media type: application/json

header
data
enable

Type: boolean · Default: false

thetaStart

Type: integer · Default: -900000 · Minimum: -1800000 · Maximum: 1800000

thetaStop

Type: integer · Default: 900000 · Minimum: -1800000 · Maximum: 1800000

phiStart

Type: integer · Default: -250000 · Minimum: -900000 · Maximum: 900000

phiStop

Type: integer · Default: 250000 · Minimum: -900000 · Maximum: 900000

thetaIndexIncrement

Type: integer · Default: 1 · Minimum: 1 · Maximum: 50

phiIndexIncrement

Type: integer · Default: 1 · Minimum: 1 · Maximum: 50

focusRegion
enable

Type: boolean · Default: false

direction

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - HORIZONTAL * 1 - VERTICAL

thetaStart

Type: integer · Default: -450000 · Minimum: -1800000 · Maximum: 1800000

thetaStop

Type: integer · Default: 450000 · Minimum: -1800000 · Maximum: 1800000

phiStart

Type: integer · Default: -100000 · Minimum: -900000 · Maximum: 900000

phiStop

Type: integer · Default: 100000 · Minimum: -900000 · Maximum: 900000

POST /angleRangeFocusFilter

Returns/sets the angle range focus filter settings.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "angleRangeFocusFilter": {
      "enable": false,
      "thetaStart": -900000,
      "thetaStop": 900000,
      "phiStart": -250000,
      "phiStop": 250000,
      "thetaIndexIncrement": 1,
      "phiIndexIncrement": 1,
      "focusRegion": {
        "enable": false,
        "direction": 0,
        "thetaStart": -450000,
        "thetaStop": 450000,
        "phiStart": -100000,
        "phiStop": 100000
      }
    }
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
angleRangeFocusFilter
enable

Type: boolean · Default: false

thetaStart

Type: integer · Default: -900000 · Minimum: -1800000 · Maximum: 1800000

thetaStop

Type: integer · Default: 900000 · Minimum: -1800000 · Maximum: 1800000

phiStart

Type: integer · Default: -250000 · Minimum: -900000 · Maximum: 900000

phiStop

Type: integer · Default: 250000 · Minimum: -900000 · Maximum: 900000

thetaIndexIncrement

Type: integer · Default: 1 · Minimum: 1 · Maximum: 50

phiIndexIncrement

Type: integer · Default: 1 · Minimum: 1 · Maximum: 50

focusRegion
enable

Type: boolean · Default: false

direction

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - HORIZONTAL * 1 - VERTICAL

thetaStart

Type: integer · Default: -450000 · Minimum: -1800000 · Maximum: 1800000

thetaStop

Type: integer · Default: 450000 · Minimum: -1800000 · Maximum: 1800000

phiStart

Type: integer · Default: -100000 · Minimum: -900000 · Maximum: 900000

phiStop

Type: integer · Default: 100000 · Minimum: -900000 · Maximum: 900000

Responses

Status 200

Media type: application/json

header

12 - Operating Data

GET /LastParaDate

Returns the last date (e.g. 12.11.2024) when a permanent parameter save was executed.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/LastParaDate"

Responses

Status 200

Media type: application/json

header
data
LastParaDate

Type: string · Default: DD.MM.YYYY · Maximum length: 10

GET /LastParaTime

Returns the last time (e.g. 13:24) when a permanent parameter save was executed.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/LastParaTime"

Responses

Status 200

Media type: application/json

header
data
LastParaTime

Type: string · Default: HH:MM · Maximum length: 5

GET /PowerOnCnt

Returns the number of power on cycles.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/PowerOnCnt"

Responses

Status 200

Media type: application/json

header
data
PowerOnCnt

Type: integer · Default: 0

GET /DailyOpHours

Returns the runtime duration since the last power on (non-persistent).

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/DailyOpHours"

Responses

Status 200

Media type: application/json

header
data
DailyOpHours

Type: number · Default: 0.0

GET /OpHours

Returns the total number of operating hours during the lifetime of the device. The resolution is 1/10 hour.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/OpHours"

Responses

Status 200

Media type: application/json

header
data
OpHours

Type: integer · Default: 0

GET /CurrentTempDev

Returns the current device temperature.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/CurrentTempDev"

Responses

Status 200

Media type: application/json

header
data
CurrentTempDev

Type: number · Default: 20.0

13 - Diagnostics

GET /crown/file

Downloads the diagnostic file (zip file) if one exists.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/crown/file?filePath=diagnosisDump.zip"

Parameters

filePath

Location: query

Required: true

path

Type: string · Example: diagnosisDump.zip

Responses

Status 200

Media type: application/zip

Type: string · Format: binary

Status 400

bad operation

Status 404

file not found

Status 500

Server not found

POST /DoDiagnosisDump

Creates a diagnostic file (zip file) for further analysis.

This function requires at least user level: Service.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "DoRunlevelLoop": true,
    "Output": "file"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data

Example:

{
  "DoRunlevelLoop": true,
  "Output": "file"
}
DoRunlevelLoop

Type: boolean · Default: false

Output

Type: string · Default: · Maximum length: 64

Responses

Status 200

Media type: application/json

header
data
Successful

Type: boolean · Default: false

POST /GetDiagnosisDumpInfo

Returns additional meta-information about the diagnostic file.

Build the JSON body from the request schema below.

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

Type: object · Nullable: true

Responses

Status 200

Media type: application/json

header
data
DiagDumpExists

Type: boolean · Default: false

DiagDumpTimestamp

Type: integer

14 - Cybersecurity

GET /EtherAuxEnabled

Enables/disables the legacy interface CoLa A/B. If enabled CoLa A uses port 2111 and CoLa B uses 2112.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/EtherAuxEnabled"

Responses

Status 200

Media type: application/json

header
data
EtherAuxEnabled

Type: boolean · Default: false

POST /EtherAuxEnabled

Enables/disables the legacy interface CoLa A/B. If enabled CoLa A uses port 2111 and CoLa B uses 2112.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "EtherAuxEnabled": false
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
EtherAuxEnabled

Type: boolean · Default: false

Responses

Status 200

Media type: application/json

header

GET /EtherCoLaScanMode

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.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/EtherCoLaScanMode"

Responses

Status 200

Media type: application/json

header
data
EtherCoLaScanMode

Allowed values:

[
  0,
  1,
  2,
  3
]

Type: integer · Default: 3

Mapping: * 0 - ENABLED * 1 - IP_CONFIG_DISABLED * 2 - DISABLED * 3 - IP_CONFIG_TIME_LIMIT

POST /EtherCoLaScanMode

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.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "EtherCoLaScanMode": 3
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
EtherCoLaScanMode

Allowed values:

[
  0,
  1,
  2,
  3
]

Type: integer · Default: 3

Mapping: * 0 - ENABLED * 1 - IP_CONFIG_DISABLED * 2 - DISABLED * 3 - IP_CONFIG_TIME_LIMIT

Responses

Status 200

Media type: application/json

header

GET /httpsStatus

Returns the status of the HTTPS interface.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/httpsStatus"

Responses

Status 200

Media type: application/json

header
data
enabled

Type: boolean · Default: false

errorCode

Fields: httpsError_t

GET /certificateBundleInfo

Returns information about the uploaded certificate bundle.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/certificateBundleInfo"

Responses

Status 200

Media type: application/json

header
data
uuidBundle

Type: string · Default: · Maximum length: 100

certificates

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 4

Items:
names

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 20

Items:
entry

Type: string · Default: · Maximum length: 1000

issuer

Type: string · Default: · Maximum length: 1000

subject

Type: string · Default: · Maximum length: 1000

serialNumber

Type: string · Default: · Maximum length: 119

fingerprint

Type: string · Default: · Maximum length: 119

validNotBefore

Type: string · Default: · Minimum length: 24 · Maximum length: 24

validNotAfter

Type: string · Default: · Minimum length: 24 · Maximum length: 24

errorCode

Fields: httpsError_t

POST /removeCertificateBundle

Removes the uploaded certificate bundle.

This function requires at least user level: Service.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header

Responses

Status 200

Media type: application/json

header
data
success

Type: boolean · Default: false

errorCode

Fields: httpsError_t

POST /setCertificateBundle

Uploads a certificate bundle in the PEM format via JSON.

This function requires at least user level: Service.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "contentCertificateBundle": " ",
    "contentPrivateKey": " "
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
contentCertificateBundle

Type: string · Default: · Maximum length: 10000

contentPrivateKey

Type: string · Default: · Maximum length: 4000

Responses

Status 200

Media type: application/json

header
data
success

Type: boolean · Default: false

errorCode

Fields: httpsError_t

POST /SetWebserverEnabled

Sets the availability of the web server (reboot required). If disabled, the web server-based GUI and the REST interface cannot be used anymore.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "Enable": true
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
Enable

Type: boolean · Default: true

Responses

Status 200

Media type: application/json

header

POST /GetWebserverEnabled

Returns the availability of the web server.

Build the JSON body from the request schema below.

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

Type: object · Nullable: true

Responses

Status 200

Media type: application/json

header
data
IsEnabled

Type: boolean · Default: true

15 - Field evaluation

GET /FieldEvaluationResult

Returns the state of all possible fields.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/FieldEvaluationResult"

Responses

Status 200

Media type: application/json

header
data
FieldEvaluationResult

POST /ActivateEvaluationGroup

Sets the activation condition for all existing evaluation groups (not configured, active, or inactive).

JSON example

{
  "data": {
    "List": [
      {
        "GroupId": 1,
        "Activate": true
      },
      {
        "GroupId": 2,
        "Activate": false
      },
      {
        "GroupId": 3,
        "Activate": true
      }
    ]
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

data

Example:

{
  "List": [
    {
      "Activate": true,
      "GroupId": 1
    },
    {
      "Activate": false,
      "GroupId": 2
    },
    {
      "Activate": true,
      "GroupId": 3
    }
  ]
}
List

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 48

Items:
GroupId

Type: integer · Default: 1 · Minimum: 1 · Maximum: 48

Activate

Type: boolean · Default: false

Responses

Status 200

Media type: application/json

header
data
Success

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 48

Items:

Type: boolean · Default: false

POST /SetFieldEvaluationContour

Sets the contour of an existing field.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "EvaluationId": 1,
    "LowerZLimit": 0,
    "UpperZLimit": 0,
    "Points": [
      {
        "x": 0,
        "y": -1000
      },
      {
        "x": 1000,
        "y": -1000
      },
      {
        "x": 1000,
        "y": 1000
      },
      {
        "x": 0,
        "y": 1000
      }
    ]
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data

Example:

{
  "EvaluationId": 1,
  "LowerZLimit": 0,
  "Points": [
    {
      "x": 0,
      "y": -1000
    },
    {
      "x": 1000,
      "y": -1000
    },
    {
      "x": 1000,
      "y": 1000
    },
    {
      "x": 0,
      "y": 1000
    }
  ],
  "UpperZLimit": 0
}
EvaluationId

Type: integer

Points

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 100

Items:
x

Type: integer · Default: 0

y

Type: integer

LowerZLimit

Type: integer · Minimum: -100000 · Maximum: 100000

UpperZLimit

Type: integer · Minimum: -100000 · Maximum: 100000

Responses

Status 200

Media type: application/json

header
data
ErrorCode

Allowed values:

[
  0,
  1,
  2,
  3
]

Type: integer · Default: 0

Mapping: * 0 - SOPAS_ERR_NO_ERR * 1 - SOPAS_ERR_INVALID_EVALUATION_ID * 2 - SOPAS_ERR_INVALID_POLYGON * 3 - SOPAS_ERR_INVALID_ZLIM

POST /GetFieldEvaluationContour

Returns the contour of an existing field.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "EvaluationId": "<integer>"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
EvaluationId

Type: integer

Responses

Status 200

Media type: application/json

header
data
Contour

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 1

Items:
EvaluationId

Type: integer

Points

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 100

Items:
x

Type: integer · Default: 0

y

Type: integer · Default: 0

LowerZLimit

Type: integer · Minimum: -100000 · Maximum: 100000

UpperZLimit

Type: integer · Minimum: -100000 · Maximum: 100000

POST /SetFieldEvaluationConfiguration

Sets the configuration of an existing field.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "EvaluationId": "<integer>",
    "Name": " ",
    "Configuration": {
      "Version": 1,
      "Source": 0,
      "Name": " ",
      "ID": 1,
      "EvaluationParamsMaskBased": [
        {
          "InfringementThresholdFactor": 80
        }
      ],
      "EvaluationParamsSegmentationBased": [
        {
          "SampleParam1": "<integer>"
        }
      ],
      "EvaluationParamsCommon": [
        {
          "MinimumObjectSizeHorizontal": 200,
          "MinimumObjectSizeVertical": 200,
          "OcclusionHandling": false,
          "TreatMissingDataAsInfringed": false,
          "TimeForInfringedState": 300,
          "TimeForFreeState": 50,
          "Reserved3": "<integer>",
          "Reserved4": "<integer>"
        }
      ],
      "EvaluationParamsExitSize": [
        {
          "disableExitSize": false,
          "exitSizeVertical": 70,
          "exitSizeHorizontal": 100
        }
      ],
      "VolumeList": []
    }
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
EvaluationId

Type: integer

Name

Type: string · Default: · Maximum length: 20

Configuration

Fields: Evaluation_t

Responses

Status 200

Media type: application/json

header
data
ErrorCode

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - SOPAS_ERR_NO_ERR * 1 - SOPAS_ERR_INVALID_EVALUATION_ID * 2 - SOPAS_ERR_INVALID_CONFIGURATION

POST /GetFieldEvaluationConfiguration

Returns the configuration of an existing field.

This function requires at least user level: Authorized Client.

Editable JSON template

{
  "header": {
    "nonce": "<nonce from authentication>",
    "opaque": "<opaque from authentication>",
    "realm": "SICK Sensor",
    "response": "<response from authentication>",
    "user": "AuthorizedClient"
  },
  "data": {
    "EvaluationId": "<integer>"
  }
}

Try the request

Protected requests need challenge-response authentication, so curl alone cannot send them; use the Python script on the REST Interface page.

Request body

Required: true

Media type: application/json

header
data
EvaluationId

Type: integer

Responses

Status 200

Media type: application/json

header
data
Configuration

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 1

Items:
EvaluationId

Type: integer

Name

Type: string · Default: · Maximum length: 20

Configuration

Fields: Evaluation_t

GET /EvaluationConfigState

Returns the performance state (OK, WARNING, EXCEEDED) of an evaluation config.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/EvaluationConfigState"

Responses

Status 200

Media type: application/json

header
data
ActiveBeamsLimit

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - OK * 1 - WARNING * 2 - EXCEEDED

ActiveEvaluationsLimit

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - OK * 1 - WARNING * 2 - EXCEEDED

ActiveBeamsPerEvaluationLimit

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - OK * 1 - WARNING * 2 - EXCEEDED

NumberOfIntersectingBeams

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 48

Items:

Type: integer

InputIsOutputErrorList

Type: array · Minimum items: 0 · Maximum items: 48

Items:

Type: integer

GET /FieldEvaluationGroupState

Returns the activation condition for all existing evaluation groups (not configured, active, or inactive).

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/FieldEvaluationGroupState"

Responses

Status 200

Media type: application/json

header
data
FieldEvaluationGroupState

Type: array · Minimum items: 48 · Maximum items: 48

Items:

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - NOT_CONFIGURED * 1 - ACTIVE * 2 - INACTIVE

GET /FieldEvaluationApplicationState

Returns the state (DEACTIVATED, ACTIVE, CONFIGURING, ERROR) of the field evaluation.

Try the request

Copy this command into a terminal. In Windows PowerShell, use curl.exe instead of curl.

curl --request GET "http://192.168.0.1/api/FieldEvaluationApplicationState"

Responses

Status 200

Media type: application/json

header
data
FieldEvaluationApplicationState

Allowed values:

[
  0,
  1,
  2,
  3
]

Type: integer · Default: 0

Mapping: * 0 - DEACTIVATED * 1 - ACTIVE * 2 - CONFIGURING * 3 - ERROR

Shared request and response fields

ResponseHeader

status

Allowed values:

[
  0,
  1,
  2,
  3,
  4,
  5,
  6,
  7,
  8,
  9,
  10,
  11
]

Type: integer · Default: 0

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

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

Allowed values:

[
  "Run",
  "Operator",
  "Maintenance",
  "AuthorizedClient",
  "Service"
]

Type: string · Default: Run

RestoreBackupResult

Allowed values:

[
  0,
  1,
  2,
  3,
  4,
  5,
  6,
  7,
  8,
  9,
  10,
  50
]

Type: integer · Default: 0

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

Allowed values:

[
  0,
  1,
  2,
  3,
  4,
  5,
  6,
  7,
  8
]

Type: integer · Default: 0

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

error

Type: string · Default: · Maximum length: 100

Logic_t

Allowed values:

[
  0,
  1
]

Type: integer · Default: 0

Mapping: * 0 - ACTIVE_HIGH * 1 - ACTIVE_LOW

IOState_t

eIOState

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 2

Mapping: * 0 - IOS_LOW * 1 - IOS_HIGH * 2 - IOS_TRISTATE

PortStateAndCounter_t

ePortState

Allowed values:

[
  0,
  1,
  2,
  3,
  4
]

Type: integer · Default: 2

Mapping: * 0 - OUTPUT_NOT_ACTIVE * 1 - OUTPUT_ACTIVE * 2 - TRISTATE * 3 - INPUT_ACTIVE * 4 - INPUT_NOT_ACTIVE

PortCounter

Type: integer

DateTime_t

uiYear

Type: integer · Default: 0 · Minimum: 0 · Maximum: 2105

usiMonth

Type: integer · Default: 1 · Minimum: 0 · Maximum: 12

usiDay

Type: integer · Default: 1 · Minimum: 0 · Maximum: 31

usiHour

Type: integer · Default: 0 · Minimum: 0 · Maximum: 23

usiMinute

Type: integer · Default: 0 · Minimum: 0 · Maximum: 59

usiSec

Type: integer · Default: 0 · Minimum: 0 · Maximum: 59

udiUSec

Type: integer · Default: 0 · Minimum: 0 · Maximum: 999999

LedStateType

Color

Allowed values:

[
  0,
  1,
  2,
  3
]

Type: integer · Default: 0

Mapping: * 0 - GREEN * 1 - YELLOW * 2 - RED * 3 - WHITE

Function

Allowed values:

[
  0,
  1,
  2,
  3,
  4,
  5,
  6
]

Type: integer · Default: 0

Mapping: * 0 - ON * 1 - OFF * 2 - BLINKING * 3 - BLINKING_FAST * 4 - BLINKING_DELAYED * 5 - BLINKING_COLOR * 6 - BLINKING_YELLOW_RED

Id

Type: string · Default: · Maximum length: 8

Evaluation_t

Version

Type: integer · Default: 1

Source

Allowed values:

[
  0,
  1,
  2
]

Type: integer · Default: 0

Mapping: * 0 - STANDARD * 1 - HIGHRES_6 * 2 - HIGHRES_14

Name

Type: string · Default: · Maximum length: 20

ID

Type: integer · Default: 1

EvaluationParamsMaskBased

Type: array · Minimum items: 0 · Maximum items: 1

Items:
InfringementThresholdFactor

Type: integer · Default: 80 · Minimum: 1 · Maximum: 100

EvaluationParamsSegmentationBased

Type: array · Minimum items: 0 · Maximum items: 1

Items:
SampleParam1

Type: integer

EvaluationParamsCommon

Type: array · Minimum items: 0 · Maximum items: 1

Items:
MinimumObjectSizeHorizontal

Type: integer · Default: 200 · Minimum: 0 · Maximum: 5000

MinimumObjectSizeVertical

Type: integer · Default: 200 · Minimum: 0 · Maximum: 5000

OcclusionHandling

Type: boolean · Default: false

TreatMissingDataAsInfringed

Type: boolean · Default: false

TimeForInfringedState

Type: integer · Default: 300 · Minimum: 1 · Maximum: 10000

TimeForFreeState

Type: integer · Default: 50 · Minimum: 1 · Maximum: 10000

Reserved3

Type: integer

Reserved4

Type: integer

EvaluationParamsExitSize

Type: array · Minimum items: 0 · Maximum items: 1

Items:
disableExitSize

Type: boolean · Default: false

exitSizeVertical

Type: integer · Default: 70 · Minimum: 0 · Maximum: 100

exitSizeHorizontal

Type: integer · Default: 100 · Minimum: 0 · Maximum: 100

VolumeList

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 1

Items:

Type: integer · Default: 1 · Minimum: 1 · Maximum: 48

EvaluationResult_t

State

Allowed values:

[
  0,
  1,
  2,
  3,
  4,
  5
]

Type: integer · Default: 0

Mapping: * 0 - NOT_CONFIGURED * 1 - INACTIVE * 2 - FREE * 3 - DETECTING_INFRINGED * 4 - INFRINGED * 5 - DETECTING_FREE

FieldEvaluationResult_t

Version

Type: integer · Default: 1

Timestamp

Type: integer

EvaluationResultList

Default:

[]

Type: array · Minimum items: 0 · Maximum items: 48

Items:

PerformanceProfiles_t

Allowed values:

[
  1,
  2,
  3,
  4,
  10,
  11,
  12,
  20,
  21
]

Type: integer · Default: 1

Mapping: * 1 - SC_047h_047v_276_20Hz_1x * 2 - SC_047h_094v_276_20Hz_1x * 3 - SC_047h_023v_276_20Hz_1x * 4 - SC_047h_047v_360_10Hz_1x * 10 - SC_023h_047v_276_20Hz_2x * 11 - SC_023h_023v_276_20Hz_2x * 12 - SC_012h_023v_276_20Hz_4x * 20 - SC_047h_047v_190_20Hz_1x * 21 - SC_047h_047v_120_20Hz_1x

SessionToken

Type: string · Default: · Maximum length: 36

Was this page helpful?