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 almost 2 years ago
