System V1 Rest API
This API can also be accessed via the RequestHandler with app-id:
SYS-V1
.
The SystemService
APIs return properties that are divided into 3 categories:
- framework properties,
- extended properties, and
- kura properties.
Identities with rest.system
permissions can access these APIs.
Framework properties
Property name | Type |
---|---|
biosVersion | String |
cpuVersion | String |
deviceName | String |
modelId | String |
modelName | String |
partNumber | String |
platform | String |
numberOfProcessors | Integer |
totalMemory | Integer |
freeMemory | Integer |
serialNumber | String |
javaHome | String |
javaVendor | String |
javaVersion | String |
javaVmInfo | String |
javaVmName | String |
javaVmVersion | String |
javaVmVendor | String |
jdkVendorVersion | String |
osArch | String |
osDistro | String |
osDistroVersion | String |
osName | String |
osVersion | String |
isLegacyBluetoothBeaconScan | Boolean |
isLegacyPPPLoggingEnabled | Boolean |
primaryMacAddress | String |
primaryNetworkInterfaceName | String |
fileSeparator | String |
firmwareVersion | String |
kuraDataDirectory | String |
kuraFrameworkConfigDirectory | String |
kuraHomeDirectory | String |
kuraMarketplaceCompatibilityVersion | String |
kuraSnapshotsCount | Integer |
kuraSnapshotsDirectory | String |
kuraStyleDirectory | String |
kuraTemporaryConfigDirectory | String |
kuraUserConfigDirectory | String |
kuraVersion | String |
kuraHaveWebInterface | Boolean |
kuraHaveNetAdmin | Boolean |
kuraWifiTopChannel | Integer |
kuraDefaultNetVirtualDevicesConfig | String |
osgiFirmwareName | String |
osgiFirmwareVersion | String |
commandUser | String |
commandZipMaxUploadNumber | Integer |
commandZipMaxUploadSize | Integer |
Kura properties
Property name | Type |
---|---|
kura.platform | String |
org.osgi.framework.version | String |
kura.user.config | String |
java.vm.vendor | String |
kura.name | String |
file.command.zip.max.number | String |
kura.legacy.ppp.logging.enabled | String |
kura.tmp | String |
kura.packages | String |
build.version | String |
kura.log.download.journal.fields | String |
kura.data | String |
os.name | String |
dpa.read.timeout | String |
file.upload.size.max | String |
console.device.management.service.ignore | String |
kura.command.user | String |
kura.device.name | String |
kura.partNumber | String |
kura.project | String |
kura.company | String |
java.home | String |
version | String |
kura.style.dir | String |
kura.model.id | String |
file.separator | String |
jdk.vendor.version | String |
kura.model.name | String |
kura.serialNumber.provider | String |
kura.have.web.inter | String |
kura.legacy.bluetooth.beacon.scan | String |
java.runtime.version | String |
kura.bios.version | String |
kura.marketplace.compatibility.version | String |
kura.framework.config | String |
kura.firmware.version | String |
kura.plugins | String |
os.version | String |
kura.version | String |
org.osgi.framework.vendor | String |
java.runtime.name | String |
kura.log.download.sources | String |
os.distribution | String |
java.vm.name | String |
kura.primary.network.interface | String |
kura.home | String |
file.command.zip.max.size | String |
os.arch | String |
os.distribution.version | String |
file.upload.in.memory.size.threshold | String |
kura.net.virtual.devices.config | String |
kura.snapshots | String |
kura.have.net.admin | String |
java.vm.info | String |
java.vm.version | String |
dpa.connection.timeout | String |
build.number | String |
ccs.status.notification.url | String |
Some of the listed properties, depending on the device, might not be available.
GET methods
Get framework properties
- Method: GET
- API PATH:
/services/system/v1/properties/framework
Responses
- 200 OK status
{
"biosVersion": "86.19 , 06/19/2018",
"cpuVersion": "CPU-163-15",
"deviceName": "BoltGATE-20-25",
"modelId": "BTGATE-20-25-M5",
"modelName": "BoltGATE-20-25",
"partNumber": "BoltGATE-20-25",
"platform": "BoltGATE-20-25",
"numberOfProcessors": 4,
"totalMemory": 1013760,
"freeMemory": 744796,
"serialNumber": "A119D920020",
"javaHome": "/usr/lib/jvm/zulu8.70.0.24-sa-jre8.0.372-linux_x64",
"javaVendor": "OpenJDK Runtime Environment",
"javaVersion": "1.8.0_372-b07",
"javaVmInfo": "mixed mode",
"javaVmName": "OpenJDK 64-Bit Server VM",
"javaVmVersion": "25.372-b07",
"javaVmVendor": "Azul Systems, Inc.",
"jdkVendorVersion": "Zulu 8.70.0.24-SA-linux64",
"osArch": "amd64",
"osDistro": "Linux",
"osDistroVersion": "N/A",
"osName": "Linux",
"osVersion": "5.4.209-intel-pk-standard #1 SMP PREEMPT Fri Jun 9 06:00:00 UTC 2023",
"isLegacyBluetoothBeaconScan": false,
"isLegacyPPPLoggingEnabled": false,
"primaryMacAddress": "00:E0:C7:0A:1F:47",
"primaryNetworkInterfaceName": "enp3s0",
"fileSeparator": "/",
"firmwareVersion": "30.1.0",
"kuraDataDirectory": "/opt/eurotech/esf/data",
"kuraFrameworkConfigDirectory": "/opt/eurotech/esf/framework",
"kuraHomeDirectory": "/opt/eurotech/esf",
"kuraMarketplaceCompatibilityVersion": "5.4.0.SNAPSHOT",
"kuraSnapshotsCount": 10,
"kuraSnapshotsDirectory": "/opt/eurotech/esf/user/snapshots",
"kuraStyleDirectory": "/opt/eurotech/esf/console/skin",
"kuraTemporaryConfigDirectory": "/tmp/.kura",
"kuraUserConfigDirectory": "/opt/eurotech/esf/user",
"kuraVersion": "ESF_7.4.0-SNAPSHOT",
"kuraHaveWebInterface": true,
"kuraHaveNetAdmin": true,
"kuraWifiTopChannel": 2147483647,
"kuraDefaultNetVirtualDevicesConfig": "netIPv4StatusUnmanaged",
"osgiFirmwareName": "Eclipse",
"osgiFirmwareVersion": "1.10.0",
"commandUser": "esf",
"commandZipMaxUploadNumber": 1024,
"commandZipMaxUploadSize": 100
}
- 500 Internal Server Error
Get extended properties
- Method: GET
- API PATH:
/services/system/v1/properties/extended
Responses
- 200 OK status
{
"version": "1.0",
"extendedProperties": {
"Device Info 1": {
"exampleKey1": "value1",
"exampleKey2": "value2"
},
"Device Info 2": {
"key1": "val1",
"key2": "val2"
}
}
}
- 500 Internal Server Error
Get Kura properties
- Method: GET
- API PATH:
/services/system/v1/properties/kura
Responses
- 200 OK status
{
"kuraProperties": {
"kura.platform": "BoltGATE-20-25",
"kura.model.id.provider": "eth_order_code",
"org.osgi.framework.version": "1.10.0",
"cpu.version.provider": "eth_vers_cpu",
"kura.user.config": "/opt/eurotech/esf/user",
"java.vm.vendor": "Azul Systems, Inc.",
"kura.name": "Everyware Software Framework",
"file.command.zip.max.number": "1024",
"kura.legacy.ppp.logging.enabled": "false",
"kura.tmp": "/tmp/.kura",
"kura.packages": "/opt/eurotech/esf/packages",
"build.version": "buildNumber",
"kura.log.download.journal.fields": "SYSLOG_IDENTIFIER,PRIORITY,ESF_LOGGER,MESSAGE,STACKTRACE",
"kura.data": "/opt/eurotech/esf/data",
"kura.scm.url": "https://github.com/eurotech/kura_eth",
"os.name": "Linux",
"dpa.read.timeout": "60000",
"file.upload.size.max": "-1",
"console.device.management.service.ignore": "org.eclipse.kura.net.admin.NetworkConfigurationService,org.eclipse.kura.net.admin.FirewallConfigurationService",
"kura.command.user": "esf",
"kura.device.name": "BoltGATE-20-25",
"platform.description.path": "/opt/eurotech-linux-map/platform.json",
"kura.partNumber": "BoltGATE-20-25",
"kura.project": "BoltGATE-20-25-yocto_3.1.17",
"kura.company": "EUROTECH",
"java.home": "/usr/lib/jvm/zulu8.70.0.24-sa-jre8.0.372-linux_x64",
"version": "5.4.0-SNAPSHOT",
"kura.style.dir": "/opt/eurotech/esf/console/skin",
"file.separator": "/",
"jdk.vendor.version": "Zulu 8.70.0.24-SA-linux64",
"kura.serialNumber.provider": "eth_serial_number",
"kura.ci.job.name": "${env.JOB_NAME}",
"kura.have.web.inter": "true",
"kura.legacy.vpn.logging.enabled": "false",
"kura.scm.branch": "${env.GIT_BRANCH}",
"kura.legacy.bluetooth.beacon.scan": "false",
"kura.ci.url": "${env.JENKINS_URL}",
"kura.firmware.version.provider": "eth_vers_bsp",
"java.runtime.version": "1.8.0_372-b07",
"kura.marketplace.compatibility.version": "KURA_5.4.0-SNAPSHOT",
"kura.framework.config": "/opt/eurotech/esf/framework",
"kura.plugins": "/opt/eurotech/esf/plugins",
"os.version": "5.4.209-intel-pk-standard #1 SMP PREEMPT Fri Jun 9 06:00:00 UTC 2023",
"kura.version": "ESF_7.4.0-SNAPSHOT",
"org.osgi.framework.vendor": "Eclipse",
"java.runtime.name": "OpenJDK Runtime Environment",
"kura.log.download.sources": "/var/log,/var/old_logs",
"kura.ci.build.tag": "${env.BUILD_TAG}",
"os.distribution": "Linux",
"kura.scm.commit": "${env.GIT_COMMIT}",
"java.vm.name": "OpenJDK 64-Bit Server VM",
"kura.primary.network.interface": "enp3s0",
"esf.security.info.boot.state": "Normal",
"kura.home": "/opt/eurotech/esf",
"file.command.zip.max.size": "100",
"kura.ci.build.number": "${env.BUILD_NUMBER}",
"os.arch": "amd64",
"os.distribution.version": "N/A",
"kura.bios.version.provider": "eth_vers_fw1",
"file.upload.in.memory.size.threshold": "10240",
"kura.net.virtual.devices.config": "unmanaged",
"kura.snapshots": "/opt/eurotech/esf/user/snapshots",
"kura.have.net.admin": "true",
"java.vm.info": "mixed mode",
"java.vm.version": "25.372-b07",
"dpa.connection.timeout": "60000",
"kura.model.name.provider": "eth_model",
"build.number": "boltgate-20-25-el30-buildNumber",
"ccs.status.notification.url": "ccs:linux_led:/sys/class/leds/led1-green"
}
}
- 500 Internal Server Error
POST methods
Filter framework properties
This method allows to retrieve framework-related properties by their name. Available properties are in table Framework properties.
- Method: POST
- API PATH:
/services/system/v1/properties/framework/filter
Request Body
{
"names": ["deviceName", "numberOfProcessors", "kuraHaveNetAdmin"]
}
Responses
- 200 OK status
{
"deviceName": "RASBPERRY PI 4",
"numberOfProcessors": 4,
"kuraHaveNetAdmin": true
}
- 500 Internal Server Error
Filter extended properties
This method allows to retrieve the extended properties and to filter them by group name.
- Method: POST
- API PATH:
/services/system/v1/properties/extended/filter
Request Body
{
"groupNames": ["Device Info 1"]
}
Responses
- 200 OK status
{
"extendedProperties": {
"Device Info 1": {
"exampleKey1": "value1",
"exampleKey2": "value2"
}
}
}
- 500 Internal Server Error
Filter kura properties
This method allows to retrieve Kura-related properties (derived from the kura.properties
file) and filter by their name. Available properties are listed in the table Kura properties.
- Method: POST
- API PATH:
/services/system/v1/properties/kura/filter
Request Body
{
"names": ["kura.platform", "file.upload.size.max", "kura.have.net.admin"]
}
Responses
- 200 OK status
{
"kuraProperties": {
"kura.platform": "aarch64",
"kura.have.net.admin": "true",
"file.upload.size.max": "-1"
}
}
- 500 Internal Server Error
Updated about 1 year ago