Download OpenAPI specification:Download
{- "data": {
- "redirectToHttps": false,
- "httpsEnable": true,
- "httpPort": 80,
- "httpsPort": 8443,
- "keyFileName": "thingspro_https_default.key",
- "certFileName": "thingspro_https_default.crt"
}
}| redirectToHttps | boolean |
| httpsPort | integer listen port for https, value should be 443 or between 1024 to 65535 |
{- "redirectToHttps": false,
- "httpsPort": 8443
}{- "data": {
- "redirectToHttps": false,
- "httpsEnable": true,
- "httpPort": 80,
- "httpsPort": 8443,
- "keyFileName": "thingspro_https_default.key",
- "certFileName": "thingspro_https_default.crt"
}
}| redirectToHttps | boolean |
| httpsPort | integer listen port for https, value should be 443 or between 1024 to 65535 |
{- "redirectToHttps": false,
- "httpsPort": 8443
}{- "data": {
- "redirectToHttps": false,
- "httpsEnable": true,
- "httpPort": 80,
- "httpsPort": 8443,
- "keyFileName": "thingspro_https_default.key",
- "certFileName": "thingspro_https_default.crt"
}
}Patch gps configuration.
| mode required | string Enum: "manual" "auto" gps mode. |
object (ThingsPro Ethernet API_GpsLocation) Location information, with |
{- "mode": "manual",
- "location": {
- "lat": 23.5,
- "lng": 121.2
}
}{- "data": {
- "mode": "manual",
- "supportAuto": false,
- "location": {
- "lat": 23.5,
- "lng": 121.2
}
}
}| limit | integer Limit the number of result (default:100). |
| offset | integer Log starting from the offset (default:0). |
| order | string Enum: "time" "id" "category" "name" "severity" Order by key (default:time). Use id if order by absolute time required, cannot provide the precise time but the absolute order which won't affect by time change. |
| sort | string Enum: "asc" "desc" sorting (default:desc). |
| categories | string Filter out logs by category with keywords seperated by comma(,) |
| names | string Filter out logs by event name with keywords seperated by comma(,) |
| severities | string Filter out logs by severity with keywords seperated by comma(,) |
| sources | string Filter out logs by source with keywords seperated by comma(,) |
| messages | string Filter out logs that partially or fully match the category, with keywords separated by commas (,) |
| download | boolean Download audit log as a compressed csv file (Value is always true if having this field). |
| monitor | boolean Enable server-sent event to monitor exposed audit log. (Value is always true if having this field). |
{- "count": 2,
- "data": [
- {
- "category": "Maintenance",
- "createdAt": "2020-02-25T00:08:54.97510268+08:00",
- "name": "softwarePackageUpdate",
- "id": 20340,
- "message": "Software package update success.",
- "source": "System",
- "sourceIp": "127.0.0.1",
- "severity": "notice"
}, - {
- "category": "Maintenance",
- "createdAt": "2020-02-25T00:08:54.92855576+08:00",
- "name": "resetToConfigurationDefault",
- "id": 20339,
- "message": "Reset to configuration default.",
- "source": "System",
- "sourceIp": "127.0.0.1",
- "severity": "notice"
}
], - "limit": 2,
- "offset": 0,
- "total": 14154
}| desiredDiskCacheSizeMB | integer >= 10 Default: 100 the maximum desired size in MB, limited to half of the system log storage |
| enableTimeToLive | boolean Default: false |
| reachThresholdPolicy | string Value: "rotate" policy when log size reach limit. |
| timeToLiveDay | integer >= 1 Default: 7 how many days can log live if enableTimeToLive enabled. |
| alertThreshold | integer [ 50 .. 95 ] Default: 80 issue notification when audit log storage reach threshold |
{- "desiredDiskCacheSizeMB": 10,
- "enableTimeToLive": true,
- "reachThresholdPolicy": "rotate",
- "timeToLiveDay": 7,
- "alertThreshold": 90
}{- "data": {
- "desiredDiskCacheSizeMB": 10,
- "maxSizeMB": 500,
- "enableTimeToLive": true,
- "reachThresholdPolicy": "rotate",
- "timeToLiveDay": 7,
- "alertThreshold": 90
}
}{- "data": {
- "events": [
- {
- "eventId": "AA01",
- "name": "roleCreate",
- "category": "Account and Access",
- "severity": "notice"
}, - {
- "eventId": "CU01",
- "name": "systemInitialize",
- "category": "Configuration Update",
- "severity": "notice"
}
], - "names": [
- "roleCreate",
- "systemInitialize"
], - "severities": [
- "notice",
- "alert"
]
}
}Get ethernet interfaces configuration.
{- "data": [
- {
- "id": 1,
- "displayName": "LAN1",
- "name": "eth0",
- "wan": true,
- "enable": true,
- "status": "connected",
- "enableDhcp": false,
- "linkSpeed": 1000,
- "ip": "192.168.3.100",
- "netmask": "255.255.255.0",
- "gateway": "192.168.3.254",
- "dns": [
- "8.8.8.8",
- "4.4.4.4"
], - "mac": "00:90:e8:12:34:56",
- "dhcpServer": {
- "enable": false,
- "status": false,
- "startIp": "",
- "endIp": "",
- "leaseTime": {
- "infinite": false,
- "hours": 0
}
}
}
], - "count": 1
}Update ethernet interface configuration.
Array of objects |
[- {
- "id": 1,
- "enable": true,
- "enableDhcp": true,
- "dhcpClient": {
- "clientIdOption": "userdefined",
- "clientId": "username"
}, - "wan": true
}
]{- "data": {
- "id": 1,
- "displayName": "LAN1",
- "name": "eth0",
- "wan": true,
- "enable": true,
- "status": "connected",
- "enableDhcp": true,
- "dhcpClient": {
- "clientIdOption": "userdefined",
- "clientId": "username"
}, - "ip": "192.168.3.100",
- "netmask": "255.255.255.0",
- "gateway": "192.168.3.254",
- "dns": [
- "8.8.8.8",
- "4.4.4.4"
], - "mac": "00:90:e8:12:34:56",
- "dhcpServer": {
- "enable": false,
- "status": false,
- "startIp": "",
- "endIp": "",
- "leaseTime": {
- "infinite": false,
- "hours": 0
}
}
}
}Get ethernet interface configuration.
| id required | integer Example: 1 Ethernet interface id. |
{- "data": {
- "id": 1,
- "displayName": "LAN1",
- "name": "eth0",
- "wan": true,
- "enable": true,
- "status": "connected",
- "enableDhcp": false,
- "linkSpeed": 1000,
- "ip": "192.168.3.100",
- "netmask": "255.255.255.0",
- "gateway": "192.168.3.254",
- "dns": [
- "8.8.8.8",
- "4.4.4.4"
], - "mac": "00:90:e8:12:34:56",
- "dhcpServer": {
- "enable": false,
- "status": false,
- "startIp": "",
- "endIp": "",
- "leaseTime": {
- "infinite": false,
- "hours": 0
}
}
}
}Update ethernet interface configuration.
| id required | integer Example: 1 Ethernet interface id. |
| id | integer >= 1 Identifier of an Ethernet interface. |
| enable required | boolean Set interface UP. |
| enableDhcp required | boolean Enable ( |
object DHCP Client option | |
| wan required | boolean Define the interface type is WAN ( |
{- "enable": true,
- "enableDhcp": true,
- "dhcpClient": {
- "clientIdOption": "userdefined",
- "clientId": "username"
}, - "wan": true
}{- "data": {
- "id": 1,
- "displayName": "LAN1",
- "name": "eth0",
- "wan": true,
- "enable": true,
- "status": "connected",
- "enableDhcp": true,
- "dhcpClient": {
- "clientIdOption": "userdefined",
- "clientId": "username"
}, - "linkSpeed": 1000,
- "ip": "192.168.3.100",
- "netmask": "255.255.255.0",
- "gateway": "192.168.3.254",
- "dns": [
- "8.8.8.8",
- "4.4.4.4"
], - "mac": "00:90:e8:12:34:56",
- "dhcpServer": {
- "enable": false,
- "status": false,
- "startIp": "",
- "endIp": "",
- "leaseTime": {
- "infinite": false,
- "hours": 0
}
}
}
}Get system general configuration.
{- "data": {
- "description": "This is My Thingspro Edge.",
- "hostName": "Moxa",
- "modelName": "UC-8112A-ME-T-LX-EU",
- "serialNumber": "IMOXA1234567",
- "firmwareVersion": "1.0.0",
- "softwareVersion": "1.0.0",
- "biosVersion": "1.0.0S01",
- "lastBootTime": "2019-06-27T10:10:16+08:00",
- "memorySize": 1056120832,
- "cpu": "ARMv7 Processor rev 2 (v7l)",
- "disk": [
- {
- "name": "System",
- "mount": "/",
- "device": "/dev/root",
- "total": 3206059008,
- "free": 1905097752,
- "used": 1138657820,
- "percent": 35.5,
- "tags": {
- "used": "systemDiskUsed",
- "free": "systemDiskFree",
- "percent": "systemDiskPercent"
}
}
]
}
}Update system general configuration.
| description | string <= 512 This is My Thingspro Edge. |
| hostName | string [ 1 .. 64 ] ^[a-zA-Z]([a-zA-Z0-9-]*[a-zA-Z0-9])?(\.[a-zA-... device hostname. |
{- "description": "This is My Thingspro Edge."
}{- "data": {
- "description": "This is My Thingspro Edge.",
- "hostName": "MyHost",
- "modelName": "UC-8112A-ME-T-LX-EU",
- "serialNumber": "IMOXA1234567",
- "firmwareVersion": "1.0.0",
- "softwareVersion": "1.0.0",
- "biosVersion": "1.0.0S01",
- "lastBootTime": "2019-06-27T10:10:16+08:00",
- "memorySize": 1056120832,
- "cpu": "ARMv7 Processor rev 2 (v7l)",
- "disk": [
- {
- "name": "System",
- "mount": "/",
- "device": "/dev/root",
- "total": 3206059008,
- "free": 1905097752,
- "used": 1138657820,
- "percent": 35.5,
- "tags": {
- "used": "systemDiskUsed",
- "free": "systemDiskFree",
- "percent": "systemDiskPercent"
}
}
]
}
}Get system time configuration.
{- "data": {
- "lastUpdateTime": "-",
- "time": "2015-03-26T16:27:48+08:00",
- "timezone": "Asia/Taipei",
- "ntp": {
- "enable": false,
- "source": "sntp",
- "server": "time.cloudflare.co",
- "interval": 86400
}
}
}Update system time configuration.
| time | string [ 20 .. 35 ] characters Current system time (format: RFC3339). |
| timezone | string [ 1 .. 64 ] characters device timezone. |
object |
{- "time": "2015-03-26T16:27:48+08:00"
}{- "data": {
- "lastUpdateTime": "-",
- "time": "2015-03-26T16:27:48+08:00",
- "timezone": "Asia/Taipei",
- "ntp": {
- "enable": true,
- "source": "timeserver",
- "server": "time.cloudflare.com",
- "interval": 6000
}
}
}Get current timezone information.
{- "data": {
- "zone": [
- {
- "cca2": "AD",
- "name": "Europe/Andorra",
- "offset": "+0100"
}, - {
- "cca2": "AE",
- "name": "Asia/Dubai",
- "offset": "+0400"
}, - {
- "cca2": "AF",
- "name": "Asia/Kabul",
- "offset": "+0430"
}
], - "iso3166": [
- {
- "cca2": "AD",
- "name": "Andorra"
}, - {
- "cca2": "AE",
- "name": "United Arab Emirates"
}, - {
- "cca2": "AF",
- "name": "Afghanistan"
}
]
}
}Get information of all managed DOs
{- "count": 2,
- "data": [
- {
- "id": 1,
- "mode": "DO",
- "channel": 1,
- "status": "OFF",
- "initStatus": "OFF"
}, - {
- "id": 2,
- "mode": "DO",
- "channel": 2,
- "status": "OFF",
- "initStatus": "OFF"
}
]
}Get information of all managed DIs
{- "count": 2,
- "data": [
- {
- "id": 1,
- "autoSampling": false,
- "pollingIntervalSec": 10,
- "mode": "DI",
- "channel": 1,
- "status": "OFF"
}, - {
- "id": 2,
- "autoSampling": false,
- "pollingIntervalSec": 10,
- "mode": "DI",
- "channel": 2,
- "status": "OFF"
}
]
}Patch to set DO by channel
| channel required | integer Example: 1 managed DO of IO channel start from 1, and mode can't be modified |
| mode | string |
| status | string Enum: "ON" "OFF" |
| initStatus | string Enum: "ON" "OFF" |
{- "status": "OFF",
- "initStatus": "OFF"
}{- "data": {
- "id": 1,
- "mode": "DO",
- "channel": 1,
- "status": "OFF",
- "initStatus": "OFF"
}
}Patch to set DI by channel
| channel required | integer Example: 1 managed DI of IO channel start from 1, and mode can't be modified |
| mode | string |
| autoSampling | boolean |
| pollingIntervalSec | integer [ 5 .. 3600 ] Default: 10 |
{- "autoSampling": false,
- "pollingIntervalSec": 10
}{- "data": {
- "id": 1,
- "mode": "DI",
- "channel": 1,
- "autoSampling": false,
- "pollingIntervalSec": 10,
- "status": "OFF"
}
}Update device route configuration. Even if the device does not have a cellular or WiFi module, it is still necessary to input and configure the settings as fixed value.
| priorityList | Array of strings[ items [ 2 .. 15 ] characters [A-Za-z0-9_-]+ ] |
{- "priorityList": [
- "Cellular",
- "WiFi",
- "LAN1"
]
}{- "data": {
- "priorityList": [
- "Cellular",
- "WiFi",
- "LAN1"
]
}
}Get device route configuration of wan.
{- "data": {
- "name": "enp0s31f6",
- "displayName": "LAN1",
- "ip": "192.168.3.127",
- "netmask": "255.255.255.0",
- "gateway": "192.168.3.254",
- "dns": [
- "192.168.3.1"
]
}
}Update configuration of internet check alive.
| enable | boolean Default: false enable/disable internet check alive service |
| target | string [ 1 .. 255 ] characters Default: "google.com" target for internet check alive |
| interval | integer [ 10 .. 86400 ] Default: 60 interval in seconds for internet check alive |
| timeout | integer [ 1 .. 60 ] Default: 5 each check timeout in seconds for internet check alive |
| retry | integer [ 1 .. 10 ] Default: 3 retry times for internet check alive |
{- "enable": true,
- "target": "www.moxa.com",
- "interval": 120,
- "timeout": 10,
- "retry": 5
}{- "data": {
- "enable": true,
- "target": "www.moxa.com",
- "interval": 120,
- "timeout": 10,
- "retry": 5
}
}| download | boolean Examples:
provide download by query string |
{- "data": {
- "account": [
- {
- "id": "SEC-MON-301-1",
- "message": "Password not changed within the set time.",
- "risk": "medium",
- "status": "pass",
- "timestamp": 1691486943
}
]
}
}Get Wi-Fi interfaces configuration.
| event | boolean Get runtime status, ex: [{id: 1 ,client: {currentAp: "bzLJpU7MR", connectState: "connected", networks: [...]}, ap: {...}}, {id:2,...}] |
{- "data": [
- {
- "id": 1,
- "name": "wlan0",
- "displayName": "WiFi2",
- "mode": "client",
- "enable": true,
- "capabilities": {
- "mode": [
- "client",
- "ap"
], - "security": [
- "wpa2"
], - "band": [
- "band24"
]
}, - "ap": {
- "ssid": "Moxa_AP01",
- "password": "Moxa!1234",
- "security": "wpa2",
- "dhcpServer": {
- "startIp": "192.168.10.100",
- "endIp": "192.168.10.200",
- "leaseTime": 12
}, - "band": "band24",
- "network": {
- "ipAddress": "192.168.10.1",
- "ipNetmask": "255.255.255.0"
}
}, - "client": {
- "connectState": "connected",
- "currentAp": "123e4567-e89b-12d3-a456-426614174000",
- "priority": [
- "123e4567-e89b-12d3-a456-426614174000",
- "123e4567-e89b-12d3-a456-426614174111"
], - "networks": [
- {
- "uuid": "123e4567-e89b-12d3-a456-426614174000",
- "ssid": "moxa-test-ap-1",
- "bssid": "10:c3:7b:c6:47:f8",
- "security": {
- "mode": "wpa2-personal",
- "password": "Moxa!1234"
}, - "signal": -30,
- "signalStrength": 85,
- "band": "band50"
}, - {
- "uuid": "123e4567-e89b-12d3-a456-426614174111",
- "ssid": "moxa-test-ap-2",
- "bssid": "10:c3:7b:c6:47:f9",
- "security": {
- "mode": "wpa2-personal",
- "password": "Moxa!5678"
}, - "signal": -65,
- "signalStrength": 55,
- "band": "band24"
}
], - "ipSetting": {
- "enableDhcp": true
}, - "checkalive": {
- "enable": true,
- "targetHost": "8.8.8.8",
- "intervalSec": 60
}
}
}
]
}Get Wi-Fi interface configuration.
| id required | integer Interface id. |
{- "data": {
- "id": 1,
- "name": "wlan0",
- "displayName": "WiFi2",
- "mode": "client",
- "enable": true,
- "capabilities": {
- "mode": [
- "client",
- "ap"
], - "security": [
- "wpa2"
], - "band": [
- "band24"
]
}, - "ap": {
- "ssid": "Moxa_AP01",
- "password": "Moxa!1234",
- "security": "wpa2",
- "dhcpServer": {
- "startIp": "192.168.10.100",
- "endIp": "192.168.10.200",
- "leaseTime": 12
}, - "band": "band24",
- "network": {
- "ipAddress": "192.168.10.1",
- "ipNetmask": "255.255.255.0"
}
}, - "client": {
- "connectState": "connected",
- "currentAp": "123e4567-e89b-12d3-a456-426614174000",
- "priority": [
- "123e4567-e89b-12d3-a456-426614174000"
], - "networks": [
- {
- "uuid": "123e4567-e89b-12d3-a456-426614174000",
- "ssid": "moxa-test-ap-1",
- "bssid": "10:c3:7b:c6:47:f8",
- "security": {
- "mode": "wpa2-personal",
- "password": "Moxa!1234"
}, - "signal": -17,
- "signalStrength": 90,
- "band": "band50"
}, - {
- "uuid": "123e4567-e89b-12d3-a456-426614174111",
- "ssid": "moxa-test-ap-2",
- "bssid": "",
- "security": {
- "mode": "wpa2-personal",
- "password": "Moxa!5678"
}, - "signal": -60,
- "signalStrength": 60,
- "band": "band24"
}
], - "ipSetting": {
- "enableDhcp": true
}, - "checkalive": {
- "enable": true,
- "targetHost": "8.8.8.8",
- "intervalSec": 60
}
}
}
}Update Wi-Fi interface configuration.
| id required | integer Interface id. |
| id | integer Interface id |
| mode | string Enum: "client" "ap" Given Wi-Fi interface mode. |
| enable | boolean Enable Wi-Fi Networking. |
object Configuration of Wi-Fi AP mode. | |
object Configuration of Wi-Fi Client mode. |
{- "id": 1,
- "mode": "client",
- "enable": true,
- "ap": {
- "ssid": "Moxa_AP01",
- "password": "Moxa!1234",
- "security": "wpa2",
- "dhcpServer": {
- "startIp": "192.168.10.100",
- "endIp": "192.168.10.200",
- "leaseTime": 12
}, - "band": "band24",
- "network": {
- "ipAddress": "192.168.10.1",
- "ipNetmask": "255.255.255.0"
}
}, - "client": {
- "networks": [
- {
- "ssid": "moxa-test-ap-1",
- "security": {
- "mode": "wpa2-personal",
- "password": "Moxa!1234"
}
}, - {
- "ssid": "moxa-test-ap-2",
- "security": {
- "mode": "wpa2-personal",
- "password": "Moxa!5678"
}
}
], - "ipSetting": {
- "enableDhcp": false,
- "ip": "192.168.3.40",
- "netmask": "255.255.252.0",
- "gateway": "192.168.3.1",
- "dns": [
- "1.1.1.1",
- "2.2.2.2"
]
}, - "checkalive": {
- "enable": true,
- "targetHost": "8.8.8.8",
- "intervalSec": 60
}
}
}{- "data": {
- "id": 1,
- "name": "wlan0",
- "displayName": "WiFi2",
- "mode": "client",
- "enable": true,
- "capabilities": {
- "mode": [
- "client",
- "ap"
], - "security": [
- "wpa2"
], - "band": [
- "band24"
]
}, - "ap": {
- "ssid": "Moxa_AP01",
- "password": "Moxa!1234",
- "security": "wpa2",
- "dhcpServer": {
- "startIp": "192.168.10.100",
- "endIp": "192.168.10.200",
- "leaseTime": 12
}, - "band": "band24",
- "network": {
- "ipAddress": "192.168.10.1",
- "ipNetmask": "255.255.255.0"
}
}, - "client": {
- "connectState": "connected",
- "currentAp": "123e4567-e89b-12d3-a456-426614174000",
- "priority": [
- "123e4567-e89b-12d3-a456-426614174000",
- "123e4567-e89b-12d3-a456-426614174111"
], - "networks": [
- {
- "uuid": "123e4567-e89b-12d3-a456-426614174000",
- "ssid": "moxa-test-ap-1",
- "bssid": "10:c3:7b:c6:47:f8",
- "security": {
- "mode": "wpa2-personal",
- "password": "Moxa!1234"
}, - "signal": -17,
- "signalStrength": 92,
- "band": "band50"
}, - {
- "uuid": "123e4567-e89b-12d3-a456-426614174111",
- "ssid": "moxa-test-ap-2",
- "bssid": "",
- "security": {
- "mode": "wpa2-personal",
- "password": "Moxa!5678"
}, - "signal": -58,
- "signalStrength": 63,
- "band": "band24"
}
], - "ipSetting": {
- "enableDhcp": false,
- "ip": "192.168.3.40",
- "netmask": "255.255.252.0",
- "gateway": "192.168.3.1",
- "dns": [
- "1.1.1.1",
- "2.2.2.2"
]
}, - "checkalive": {
- "enable": true,
- "targetHost": "8.8.8.8",
- "intervalSec": 60
}
}
}
}Get Wi-Fi client networks scan results
| id required | integer Interface id. |
| event | boolean Get runtime scan, ex: {[{ssid: moxa-test-ap-1, security:{mode: wpa2-personal, encryption: aes, support: true}, signal: -17, band: band50},{...}]} |
{- "data": [
- {
- "ssid": "moxa-test-ap-1",
- "bssid": "7C:57:3C:23:6C:22",
- "security": {
- "mode": "wpa2-personal",
- "support": true
}, - "signal": -17,
- "band": "band50"
}, - {
- "ssid": "D-k",
- "bssid": "7C:57:3C:23:6C:23",
- "security": {
- "mode": "none",
- "support": true
}, - "signal": -43,
- "band": "band24"
}, - {
- "ssid": "TP-k",
- "bssid": "7C:57:3C:23:6C:24",
- "security": {
- "mode": "wpa2-enterprise",
- "support": false
}, - "signal": -58,
- "band": "band50"
}
]
}{- "count": 1,
- "data": [
- {
- "description": "",
- "id": 1,
- "name": "Administrator",
- "permissions": [
- "SYS_ACCOUNT_RW",
- "SYS_MAINTENANCE_RW"
], - "users": [
- {
- "id": 1,
- "name": "admin"
}, - {
- "id": 2,
- "name": "myuser"
}
]
}
]
}| description | string <= 512 characters \X{0,512} |
| name required | string [ 1 .. 64 ] characters ^[a-zA-Z0-9]+[a-zA-Z0-9+=,.@_-]{0,63}$ |
| permissions required | Array of strings non-empty |
{- "description": "",
- "name": "myrole",
- "permissions": [
- "SYS_ACCOUNT_RW"
]
}{- "data": {
- "description": "moxa best",
- "id": 2,
- "name": "myrole",
- "permissions": [
- "SYS_ACCOUNT_RW"
], - "users": [ ]
}
}| id required | integer ID of role |
| description | string <= 512 characters \X{0,512} |
| name | string [ 1 .. 64 ] characters ^[a-zA-Z0-9]+[a-zA-Z0-9+=,.@_-]{0,63}$ |
| permissions | Array of strings non-empty |
{- "description": "",
- "name": "myrole",
- "permissions": [
- "SYS_ACCOUNT_RW"
]
}{- "data": {
- "description": "moxa best",
- "id": 2,
- "name": "myrole",
- "permissions": [
- "SYS_ACCOUNT_RW"
], - "users": [ ]
}
}{- "count": 1,
- "data": [
- {
- "passwordChangedAt": null,
- "createdAt": "2019-09-24T05:52:28.912234779Z",
- "email": null,
- "description": null,
- "id": 1,
- "isActive": true,
- "loginAt": "0001-01-01T00:00:00Z",
- "name": "admin",
- "permissions": [
- "SYS_MAINTENANCE_RW",
- "SYS_ACCOUNT_RW"
], - "roles": [
- {
- "id": 1,
- "name": "Administrator"
}
]
}
]
}string or null <email> | |
| description | string or null <= 512 characters \X{0,512} |
| isActive required | boolean |
| name required | string [ 1 .. 64 ] characters ^[a-zA-Z0-9]+[a-zA-Z0-9+=,.@_-]{0,63}$ |
| password required | string <password> [ 8 .. 256 ] characters ^[0-9a-zA-z~`!@#$%^&*()_\-+={}\[\]|\\:\";'<>?... |
required | Array of objects non-empty |
{- "isActive": true,
- "name": "admin",
- "password": "admin@123",
- "roles": [
- {
- "id": 1
}
]
}{- "data": {
- "passwordChangedAt": null,
- "createdAt": "2019-09-24T05:52:28.912234779Z",
- "email": null,
- "description": null,
- "id": 1,
- "isActive": true,
- "loginAt": "0001-01-01T00:00:00Z",
- "name": "admin",
- "permissions": [
- "SYS_MAINTENANCE_RW",
- "SYS_ACCOUNT_RW"
], - "roles": [
- {
- "id": 1,
- "name": "Administrator"
}
]
}
}| id required | integer ID of account |
{- "data": {
- "passwordChangedAt": null,
- "createdAt": "2019-09-24T05:52:28.912234779Z",
- "email": null,
- "description": null,
- "id": 1,
- "isActive": true,
- "loginAt": "0001-01-01T00:00:00Z",
- "name": "admin",
- "permissions": [
- "SYS_MAINTENANCE_RW",
- "SYS_ACCOUNT_RW"
], - "roles": [
- {
- "id": 1,
- "name": "Administrator"
}
]
}
}| id required | integer ID of user |
string <email> | |
| description | string <= 512 characters \X{0,512} |
| isActive | boolean |
Array of objects non-empty |
{- "isActive": true,
- "roles": [
- {
- "id": 1
}
]
}{- "data": {
- "passwordChangedAt": null,
- "createdAt": "2019-09-24T05:52:28.912234779Z",
- "email": null,
- "description": null,
- "id": 1,
- "isActive": true,
- "loginAt": "0001-01-01T00:00:00Z",
- "name": "admin",
- "permissions": [
- "SYS_MAINTENANCE_RW",
- "SYS_ACCOUNT_RW"
], - "roles": [
- {
- "id": 1,
- "name": "Administrator"
}
]
}
}| id required | integer ID of account |
| newPassword required | string <password> [ 8 .. 256 ] characters ^[0-9a-zA-z~`!@#$%^&*()_\-+={}\[\]|\\:\";'<>?... |
{- "newPassword": "12345678"
}{- "data": {
- "passwordChangedAt": null,
- "createdAt": "2019-09-24T05:52:28.912234779Z",
- "email": null,
- "description": null,
- "id": 1,
- "isActive": true,
- "loginAt": "0001-01-01T00:00:00Z",
- "name": "admin",
- "permissions": [
- "SYS_MAINTENANCE_RW",
- "SYS_ACCOUNT_RW"
], - "roles": [
- {
- "id": 1,
- "name": "Administrator"
}
]
}
}{- "data": {
- "passwordChangedAt": null,
- "createdAt": "2019-09-24T05:52:28.912234779Z",
- "email": null,
- "description": null,
- "id": 1,
- "isActive": true,
- "loginAt": "0001-01-01T00:00:00Z",
- "name": "admin",
- "permissions": [
- "SYS_MAINTENANCE_RW",
- "SYS_ACCOUNT_RW"
], - "roles": [
- {
- "id": 1,
- "name": "Administrator"
}
]
}
}string <email> | |
| description | string <= 512 characters \X{0,512} |
{- "email": "aa@aaa.aaa"
}{- "data": {
- "passwordChangedAt": null,
- "createdAt": "2019-09-24T05:52:28.912234779Z",
- "email": null,
- "description": null,
- "id": 1,
- "isActive": true,
- "loginAt": "0001-01-01T00:00:00Z",
- "name": "admin",
- "permissions": [
- "SYS_MAINTENANCE_RW",
- "SYS_ACCOUNT_RW"
], - "roles": [
- {
- "id": 1,
- "name": "Administrator"
}
]
}
}| newPassword required | string <password> [ 8 .. 256 ] characters ^[0-9a-zA-z~`!@#$%^&*()_\-+={}\[\]|\\:\";'<>?... |
| oldPassword | string <password> [ 8 .. 256 ] characters ^[0-9a-zA-z~`!@#$%^&*()_\-+={}\[\]|\\:\";'<>?... field is not required only when the it is an initial account and the password must change before normal use |
{- "newPassword": "12345678",
- "oldPassword": "moxa1234"
}{- "data": {
- "passwordChangedAt": null,
- "createdAt": "2019-09-24T05:52:28.912234779Z",
- "email": null,
- "description": null,
- "id": 1,
- "isActive": true,
- "loginAt": "0001-01-01T00:00:00Z",
- "name": "admin",
- "permissions": [
- "SYS_MAINTENANCE_RW",
- "SYS_ACCOUNT_RW"
], - "roles": [
- {
- "id": 1,
- "name": "Administrator"
}
]
}
}{- "data": {
- "atLeastOneDigit": true,
- "atLeastOneSpecial": true,
- "lengthMin": 8,
- "mixedUpperLowerLetters": true,
- "enableReminder": false,
- "reminderFrequencyDay": 180,
- "blacklist": [
- "admin@123",
- "moxamoxa"
]
}
}| atLeastOneDigit | boolean Default: false password must be at least one digit |
| atLeastOneSpecial | boolean Default: false password must be at least one special chararacter |
| lengthMin | integer [ 8 .. 256 ] Default: 8 password minimum length |
| mixedUpperLowerLetters | boolean Default: false password must be mixed upper and lower case |
| enableReminder | boolean Default: true enable password reminder |
| reminderFrequencyDay | integer [ 10 .. 360 ] Default: 180 frequency to remind user to change the password |
{- "atLeastOneDigit": true,
- "atLeastOneSpecial": true,
- "lengthMin": 8,
- "mixedUpperLowerLetters": true,
- "enableReminder": true,
- "reminderFrequencyDay": 180
}{- "data": {
- "atLeastOneDigit": true,
- "atLeastOneSpecial": true,
- "lengthMin": 8,
- "mixedUpperLowerLetters": true,
- "enableReminder": false,
- "reminderFrequencyDay": 180,
- "blacklist": [
- "admin@123",
- "moxamoxa"
]
}
}| name required | string [ 1 .. 64 ] characters ^[a-zA-Z0-9]+[a-zA-Z0-9+=,.@_-]{0,63}$ |
| password required | string <password> [ 8 .. 256 ] characters ^[\S]{8,256}$ |
| acceptEULA | boolean |
{- "acceptEULA": true,
- "name": "admin",
- "password": "moxa1234"
}{- "data": {
- "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwicm9sZSI6InRlc3QiLCJpYXQiOjE1NjM0MjA5MTQsImV4cCI6NDcxNzAyMDkxNH0.7oGA1VHBingnzeG7hHgWEiZ4JmoserFguyeb7_GUK6E",
- "user": {
- "passwordChangedAt": null,
- "createdAt": "2019-09-24T05:52:28.912234779Z",
- "email": null,
- "description": null,
- "id": 1,
- "isActive": true,
- "loginAt": "0001-01-01T00:00:00Z",
- "name": "admin",
- "permissions": [
- "SYS_MAINTENANCE_RW",
- "SYS_ACCOUNT_RW"
], - "roles": [
- {
- "id": 1,
- "name": "Administrator"
}
]
}
}
}| enable required | boolean |
| failWindow required | integer [ 1 .. 60 ] Default: 15 time window to count authenticate fail times in minutes |
| failTimes required | integer [ 3 .. 32 ] Default: 10 authenticate fail times |
| lockWindow required | integer [ 5 .. 1440 ] Default: 10 lock time in minutes |
{- "enable": true,
- "failWindow": 1,
- "failTimes": 10,
- "lockWindow": 10
}{- "data": {
- "enable": true,
- "failWindow": 1,
- "failTimes": 10,
- "lockWindow": 10
}
}| userIds | integer Get sessions with given user ID, seperated by comma(,) |
{- "count": 2,
- "data": [
- {
- "id": 1,
- "userId": 1,
- "userName": "admin",
- "createdAt": "2022-10-13T01:31:48.964368971Z",
- "lastAccessAt": "2022-10-13T01:31:49.334247271Z",
- "isCurrent": true,
- "sourceIp": "127.0.0.1"
}, - {
- "id": 2,
- "userId": 2,
- "userName": "terry",
- "createdAt": "2022-10-13T01:35:38.919457191Z",
- "lastAccessAt": "2022-10-13T01:35:38.919457191Z",
- "sourceIp": "192.168.3.127"
}
]
}| ids | integer Delete sessions with given session ID, seperated by comma(,) |
| userIds | integer Delete user sessions with given user ID, seperated by comma(,) |
{- "error": {
- "code": 400,
- "message": "invalid input, err: $detail"
}
}| id required | integer ID of session |
{- "data": {
- "id": 1,
- "userId": 1,
- "userName": "admin",
- "createdAt": "2022-10-13T01:31:48.964368971Z",
- "lastAccessAt": "2022-10-13T01:31:49.334247271Z",
- "sourceIp": "127.0.0.1"
}
}| maxCountByUser | integer [ 1 .. 32 ] Default: 5 max sessions of a user |
| timeoutMin | integer [ 60 .. 28800 ] Default: 1440 session timeout in minutes |
| idleTimeoutMin | integer [ 1 .. 1440 ] session timeout while the session timeout, unit in minutes |
{- "maxCountByUser": 5,
- "timeoutMin": 1440,
- "idleTimeoutMin": 5
}{- "data": {
- "maxCount": 1024,
- "maxCountByUser": 5,
- "timeoutMin": 1440,
- "idleTimeoutMin": 5
}
}returns available updates
| scan | boolean Example: scan=true Get real-time updates or by last scan |
{- "checktime": "2023-05-02T03:51:22Z",
- "data": {
- "product": {
- "name": "moxa-aig-302-tpe",
- "currentVersion": "1.0.0",
- "size": 0,
- "newVersion": "",
- "category": ""
}, - "patches": [ ]
}
}Trigger update(s)
| file | string <binary> The offline update signed file to upload. |
{- "data": {
- "taskId": "e5b6dff0f954e178",
- "mode": "apt",
- "status": "running",
- "message": "",
- "allowReboot": true
}
}Returns the update history
[- {
- "message": "Success",
- "name": "moxa-aig-302-tpe",
- "version": "1.1.0",
- "size": 10000,
- "status": "success",
- "time": "2022-10-03T08:18:07Z",
- "type": "package"
}
]Update the update settings
| allowUpdate | boolean |
| allowOverCellular | boolean |
| snapshotBeforeUpdate | boolean |
| autoScan | boolean |
| autoScanExpression | string/((((\d+,)+\d+|(\d+(\/|-)\d+)|\d+|\*) ?){5})/... |
{- "allowUpdate": true,
- "allowOverCellular": false,
- "snapshotBeforeUpdate": true,
- "autoScan": false,
- "autoScanExpression": "0 3 * * 1,2,3"
}{- "allowUpdate": true,
- "allowOverCellular": false,
- "snapshotBeforeUpdate": true,
- "autoScan": false,
- "autoScanExpression": "0 3 * * 1,2,3"
}Update the update settings
| allowUpdate | boolean |
| allowOverCellular | boolean |
| snapshotBeforeUpdate | boolean |
| autoScan | boolean |
| autoScanExpression | string/((((\d+,)+\d+|(\d+(\/|-)\d+)|\d+|\*) ?){5})/... |
{- "allowUpdate": true,
- "allowOverCellular": false,
- "snapshotBeforeUpdate": true,
- "autoScan": false,
- "autoScanExpression": "0 3 * * 1,2,3"
}{- "allowUpdate": true,
- "allowOverCellular": false,
- "snapshotBeforeUpdate": true,
- "autoScan": false,
- "autoScanExpression": "0 3 * * 1,2,3"
}Uploads an upgrade file in one of two ways:
file part containing the raw file.Only one file may exist at a time; a successful upload replaces any previously uploaded file.
| file required | string <binary> Raw file content. The client-supplied part filename will be recorded as the |
{}
{- "data": {
- "fileId": "16350285c4fb1306",
- "filename": "aig-302_1.2.0-20250906.tar",
- "sha256": "3b1f2a8d9f8d2e4c2a5b1c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f",
- "status": "ready",
- "message": "",
- "tags": [
- "reboot"
]
}
}Returns metadata and status for the currently stored upgrade file.
{- "data": {
- "fileId": "16350285c4fb1306",
- "filename": "aig-302_1.2.0-20250906.tar",
- "sha256": "3b1f2a8d9f8d2e4c2a5b1c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f",
- "status": "ready",
- "message": "",
- "tags": [
- "reboot"
]
}
}Starts an upgrade task.
mode=file: Upgrade using the currently stored uploaded file from /system/upgrade/file.
If no file is present or file status is not ready, the request fails with 404 or 409.
mode=apt: Upgrade using APT. Provide one or more packages. The device will resolve dependencies via its configured APT sources.
allowReboot controls whether the device automatically reboots after a successful upgrade.
| mode required | string Use the currently uploaded file (from |
| fileId | string^patch-[A-Za-z0-9]+$ File identify. Example: "16350285c4fb1306" |
| allowReboot required | boolean Whether to automatically reboot after a successful upgrade. |
{- "mode": "file",
- "fileId": "16350285c4fb1306",
- "allowReboot": true
}{- "data": {
- "taskId": "e5b6dff0f954e178",
- "mode": "file",
- "fileId": "16350285c4fb1306",
- "status": "queued",
- "message": "",
- "allowReboot": true
}
}Returns metadata and status for the currently running or last executed upgrade task.
mode indicates whether the task was file-based or apt-based.status shows the current state of the task.message can provide progress information (e.g., "downloading 40%", "installing package 2/5").allowReboot shows if the system is scheduled to automatically reboot after success.{- "data": {
- "taskId": "e5b6dff0f954e178",
- "mode": "file",
- "fileId": "16350285c4fb1306",
- "status": "running",
- "message": "validating package",
- "allowReboot": true
}
}Combined entrypoint for upgrades.
Only one upgrade task may run at a time; concurrent requests return 409.
| allowReboot required | boolean Whether to automatically reboot after a successful upgrade. |
| file required | string <binary> Raw file content to upload then upgrade. |
{- "data": {
- "taskId": "e5b6dff0f954e178",
- "mode": "apt",
- "status": "running",
- "message": "",
- "allowReboot": true
}
}Get firewall user customize inbound rules overview.
| type required | string Enum: "allow" "forward" rule operation type. allow is filter of whilelist, forward is port forwarding of whilelist. |
{- "data": [
- {
- "id": 1,
- "name": "open listen port 8080",
- "gatewayPort": "8080",
- "protocol": "tcp",
- "sourceIp": "",
- "sourcePort": ""
}
], - "count": 1
}Add user customize rule for allow filter port or port forwarding.
| type required | string Enum: "allow" "forward" rule operation type. allow is filter of whilelist, forward is port forwarding of whilelist. |
| id | integer Rule ID |
| name required | string [ 1 .. 32 ] characters ascii passphrase with '-' or '_' characters Rule name |
| gatewayPort required | string Exposed public port |
| protocol required | string Enum: "tcp" "udp" The specified protocol |
| sourceIp | string Default: "" Packet soruce IP. Support:
|
| sourcePort | string Default: "" Packet soruce port. Support:
|
[- {
- "name": "open listen port 8080",
- "gatewayPort": "8080",
- "protocol": "tcp",
- "sourceIp": "",
- "sourcePort": ""
}
]{- "data": [
- {
- "id": 1,
- "name": "open listen port 8080",
- "gatewayPort": "8080",
- "protocol": "tcp",
- "sourceIp": "",
- "sourcePort": ""
}
], - "count": 1
}Modify user customize filter or port forwarding rule of firewall inbound.
| type required | string Enum: "allow" "forward" rule operation type. allow is filter of whilelist, forward is port forwarding of whilelist. |
| id required | integer rule ID |
| id | integer Rule ID |
| name required | string [ 1 .. 32 ] characters ascii passphrase with '-' or '_' characters Rule name |
| gatewayPort required | string Exposed public port |
| protocol required | string Enum: "tcp" "udp" The specified protocol |
| sourceIp | string Default: "" Packet soruce IP. Support:
|
| sourcePort | string Default: "" Packet soruce port. Support:
|
{- "name": "open listen port 8081",
- "gatewayPort": "8081",
- "protocol": "tcp",
- "sourceIp": "",
- "sourcePort": ""
}{- "data": [
- {
- "id": 1,
- "name": "open listen port 8081",
- "gatewayPort": "8081",
- "protocol": "tcp",
- "sourceIp": "",
- "sourcePort": ""
}
], - "count": 1
}Delete user customize filter or port forwarding rule of firewall inbound.
| type required | string Enum: "allow" "forward" rule operation type. allow is filter of whilelist, forward is port forwarding of whilelist. |
| id required | integer rule ID |
{- "error": {
- "code": 400,
- "message": "invalid input, err: invalid query type"
}
}Put firewall user snat to enable or disable.
| enable required | boolean snat status |
{- "enable": true
}{- "data": {
- "enable": false
}
}| enableScheduler | boolean |
| cronSchedule | string^[0]{1}\s[0-9]{1}\s[*]{1}\s[*]{1}\s[0-6,]{1,1... crontab (https://linux.die.net/man/5/crontab) |
| now | boolean |
{- "enableScheduler": true,
- "cronSchedule": "0 0 * * 0,1,2,3,4,5,6"
}{- "data": {
- "enableScheduler": true,
- "now": false,
- "cronSchedule": "0 0 * * 0,1,2,3,4,5,6",
- "lastBootAt": "2023-04-21T13:06:41+08:00"
}
}| file | string <binary> configuration file |
{- "data": {
- "fileName": "2022-09-01-10-55-export-configuration.tar.gz",
- "fileSize": 46272,
- "diff": null,
- "sections": [
- {
- "name": "System",
- "import": true
}, - {
- "name": "APPs",
- "import": true
}
]
}
}| enable | boolean enable SSH |
| port | integer [ 1 .. 65535 ] port to listen |
{- "enable": true,
- "port": 22
}{- "data": {
- "enable": true,
- "port": 22
}
}| enable | boolean enable serial console |
{- "enable": true
}{- "data": {
- "enable": true
}
}| disk required | string disk partition name |
| encrypted required | boolean enable encrypted storage (disable is not allowed) |
| password required | string encrypted password |
{- "disk": "USB3_p2",
- "encrypted": true,
- "password": "moxamoxa"
}{- "data": {
- "disk": "USB3_p2",
- "encrypted": true
}
}| enable | boolean Default: true enable system use notification |
| enableDefaultText | boolean Default: true use default text |
| userText | string [ 0 .. 1024 ] characters text of user configured |
{- "enable": true,
- "enableDefaultText": true,
- "userText": "user text."
}{- "data": {
- "enable": true,
- "enableDefaultText": true,
- "defaultText": "system default text.",
- "userText": "user text."
}
}| enable | boolean enable discovery service |
{- "enable": true
}{- "data": {
- "enable": true
}
}| download | boolean Indicate to download log as zip file. Value is always true. |
{- "data": {
- "desiredDiskCacheSizeMB": 100,
- "enableTimeToLive": false,
- "timeToLiveDay": 1,
- "targetDiskName": "System",
- "disks": [
- {
- "name": "System",
- "total": 1021005824,
- "free": 858275840,
- "used": 93106176,
- "percent": 9.5,
- "maxFree": 858275840
}
]
}
}| desiredDiskCacheSizeMB | integer [ 1 .. 4096 ] the maximum desired size in MB, limited to half of the system log storage if the target disk is "System" |
| enableTimeToLive | boolean |
| timeToLiveDay | integer [ 1 .. 30 ] days to keep the log |
| targetDiskName | string <= 4096 characters target storage disk name |
{- "desiredDiskCacheSizeMB": 20,
- "enableTimeToLive": true,
- "timeToLiveDay": 1,
- "targetDiskName": "System"
}{- "data": {
- "desiredDiskCacheSizeMB": 20,
- "enableTimeToLive": true,
- "timeToLiveDay": 1,
- "targetDiskName": "System",
- "disks": [
- {
- "name": "System",
- "total": 1021005824,
- "free": 858275840,
- "used": 93106176,
- "percent": 9.5,
- "maxFree": 858275840
}
]
}
}Update static DNS settings. If enable is ture, primary should be required.
| enable required | boolean |
| primary | string^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\... |
| secondary | string^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\... |
{- "enable": true,
- "primary": "8.8.8.8",
- "secondary": "1.1.1.1"
}{- "data": {
- "enable": true,
- "primary": "8.8.8.8",
- "secondary": "1.1.1.1"
}
}Get cellular interfaces configuration.
{- "count": 1,
- "data": [
- {
- "currentProfileName": "Profile-1",
- "ip": "",
- "tac": "",
- "type": "cellular",
- "operatorName": "",
- "checkalive": {
- "intervalSec": 60,
- "enable": true,
- "targetHost": "8.8.8.8"
}, - "capabilities": {
- "sim": 1
}, - "id": 1,
- "gateway": "",
- "profileTimeout": 180,
- "imsi": "466977300046885",
- "status": "ready",
- "enable": false,
- "dns": [ ],
- "lac": "11114",
- "mac": "00:00:11:12:13:14",
- "imei": "359841080332053",
- "cellId": "6326",
- "name": "wwan0",
- "displayName": "Cellular1",
- "signalStrength": 4,
- "signal": {
- "rssi": -67,
- "rsrp": 0
}, - "pinRetryRemain": -1,
- "netmask": "",
- "profiles": [
- {
- "pinCode": "0000",
- "simSlot": 1,
- "name": "SIM1",
- "pdpContext": {
- "apn": "internet",
- "auth": {
- "username": "",
- "password": ""
}, - "type": "ipv4"
}
}
], - "mode": "lte",
- "iccId": "89886971410730170000"
}
]
}Update cellular interfaces configuration.
| id | integer Interface id. |
| enable required | boolean Enable Cellular Networking. |
| profileTimeout required | integer [ 120 .. 3600 ] Default: 180 Retry timeout in seconds for switch profiles. |
required | Array of objects (Cellular Profile) Profiles for redundancy |
required | object (Checkalive Settings) |
[- {
- "id": 1,
- "enable": true,
- "checkalive": {
- "intervalSec": 60,
- "enable": true,
- "targetHost": "8.8.8.8"
}, - "profileTimeout": 180,
- "profiles": [
- {
- "pinCode": "0000",
- "simSlot": 1,
- "name": "SIM1",
- "pdpContext": {
- "apn": "internet",
- "auth": {
- "username": "",
- "password": ""
}, - "type": "ipv4"
}
}
]
}
][- {
- "id": 1,
- "displayName": "Cellular1",
- "enable": true,
- "checkalive": {
- "intervalSec": 60,
- "enable": true,
- "targetHost": "8.8.8.8"
}, - "profileTimeout": 180,
- "profiles": [
- {
- "pinCode": "0000",
- "simSlot": 1,
- "name": "SIM1",
- "pdpContext": {
- "apn": "internet",
- "auth": {
- "username": "",
- "password": ""
}, - "type": "ipv4"
}
}
]
}
]Get cellular interface configuration.
| id required | integer Cellular interface id. |
{- "currentProfileName": "Profile-1",
- "ip": "",
- "tac": "",
- "type": "cellular",
- "operatorName": "",
- "checkalive": {
- "intervalSec": 60,
- "enable": true,
- "targetHost": "8.8.8.8"
}, - "capabilities": {
- "sim": 1
}, - "id": 1,
- "gateway": "",
- "profileTimeout": 180,
- "imsi": "466977300046885",
- "status": "ready",
- "enable": false,
- "dns": [ ],
- "lac": "11114",
- "mac": "00:00:11:12:13:14",
- "imei": "359841080332053",
- "cellId": "6326",
- "name": "wwan0",
- "displayName": "Cellular1",
- "signalStrength": 4,
- "signal": {
- "rssi": -67,
- "rsrp": 0
}, - "pinRetryRemain": -1,
- "netmask": "",
- "profiles": [
- {
- "pinCode": "0000",
- "simSlot": 1,
- "name": "SIM1",
- "pdpContext": {
- "apn": "internet",
- "auth": {
- "username": "",
- "password": ""
}, - "type": "ipv4"
}
}
], - "mode": "lte",
- "iccId": "89886971410730170000"
}Update cellular configuration.
| id required | integer Cellular interface id. |
| id | integer Interface id. |
| enable required | boolean Enable Cellular Networking. |
| profileTimeout required | integer [ 120 .. 3600 ] Default: 180 Retry timeout in seconds for switch profiles. |
required | Array of objects (Cellular Profile) Profiles for redundancy |
required | object (Checkalive Settings) |
{- "enable": true,
- "checkalive": {
- "intervalSec": 60,
- "enable": true,
- "targetHost": "8.8.8.8"
}, - "profileTimeout": 180,
- "profiles": [
- {
- "pinCode": "0000",
- "simSlot": 1,
- "name": "SIM1",
- "pdpContext": {
- "apn": "internet",
- "auth": {
- "username": "",
- "password": ""
}, - "type": "ipv4"
}
}
]
}{- "id": 1,
- "displayName": "Cellular1",
- "enable": true,
- "checkalive": {
- "intervalSec": 60,
- "enable": true,
- "targetHost": "8.8.8.8"
}, - "profileTimeout": 180,
- "profiles": [
- {
- "pinCode": "0000",
- "simSlot": 1,
- "name": "SIM1",
- "pdpContext": {
- "apn": "internet",
- "auth": {
- "username": "",
- "password": ""
}, - "type": "ipv4"
}
}
]
}returns all certificates
{- "count": 0,
- "data": [
- {
- "id": 0,
- "uuid": "string",
- "sourceName": "string",
- "name": "string",
- "rootCA": true,
- "expiredAt": "string",
- "status": "valid",
- "subjectNames": {
- "country": [
- "string"
], - "state": [
- "string"
], - "locality": [
- "string"
], - "organization": [
- "string"
], - "commonName": "string",
- "issuer": "string"
}
}
]
}returns certificate
| uuid required | integer |
| download | boolean |
{- "count": 0,
- "data": [
- {
- "id": 0,
- "uuid": "string",
- "sourceName": "string",
- "name": "string",
- "rootCA": true,
- "expiredAt": "string",
- "status": "valid",
- "subjectNames": {
- "country": [
- "string"
], - "state": [
- "string"
], - "locality": [
- "string"
], - "organization": [
- "string"
], - "commonName": "string",
- "issuer": "string"
}
}
]
}Get serial interfaces configuration.
{- "data": [
- {
- "type": "serials",
- "id": 1,
- "mode": "rs232",
- "displayName": "P1",
- "device": "/dev/ttyM0",
- "baudRate": 9600,
- "parity": "none",
- "dataBits": 8,
- "stopBits": 1,
- "flowControl": "hardware",
- "capabilities": {
- "mode": [
- "rs232",
- "rs422",
- "rs4852w",
- "rs4854w"
], - "baudRate": {
- "special": false,
- "range": [
- 300,
- 600,
- 1200,
- 1800,
- 2400,
- 4800,
- 9600,
- 19200,
- 38400,
- 57600,
- 115200,
- 230400,
- 460800,
- 921600
]
}, - "parities": [
- "none",
- "odd",
- "even",
- "space",
- "mark"
], - "dataBits": [
- 5,
- 6,
- 7,
- 8
], - "stopBits": [
- 1,
- 2,
- 1.5
], - "flowControl": [
- "none",
- "hardware",
- "software"
]
}
}, - {
- "type": "serials",
- "id": 2,
- "mode": "rs422",
- "displayName": "P2",
- "device": "/dev/ttyM1",
- "baudRate": 115200,
- "parity": "none",
- "dataBits": 8,
- "stopBits": 1,
- "flowControl": "software",
- "capabilities": {
- "mode": [
- "rs232",
- "rs422",
- "rs4852w",
- "rs4854w"
], - "baudRate": {
- "special": false,
- "range": [
- 300,
- 600,
- 1200,
- 1800,
- 2400,
- 4800,
- 9600,
- 19200,
- 38400,
- 57600,
- 115200,
- 230400,
- 460800,
- 921600
]
}, - "parities": [
- "none",
- "odd",
- "even",
- "space",
- "mark"
], - "dataBits": [
- 5,
- 6,
- 7,
- 8
], - "stopBits": [
- 1,
- 2,
- 1.5
], - "flowControl": [
- "none",
- "hardware",
- "software"
]
}
}
], - "count": 2
}Update serial interfaces configuration.
| id | integer Interface id. |
| mode | string Enum: "rs232" "rs422" "rs4852w" "rs4854w" Serial interface mode. |
| baudRate | integer baud rate |
| parity | string parity |
| dataBits | integer data bits |
| stopBits | number stop bits |
| flowControl | string flow control |
[- {
- "id": 1,
- "mode": "rs232"
}, - {
- "id": 2,
- "mode": "rs4852w",
- "baudRate": 19200,
- "parity": "none",
- "dataBits": 8,
- "stopBits": 1,
- "flowControl": "none"
}
]{- "data": [
- {
- "type": "serials",
- "id": 1,
- "mode": "rs232",
- "displayName": "P1",
- "device": "/dev/ttyM0",
- "baudRate": 9600,
- "parity": "none",
- "dataBits": 8,
- "stopBits": 1,
- "flowControl": "hardware"
}, - {
- "type": "serials",
- "id": 2,
- "mode": "rs4852w",
- "displayName": "P2",
- "device": "/dev/ttyM1",
- "baudRate": 19200,
- "parity": "none",
- "dataBits": 8,
- "stopBits": 1,
- "flowControl": "none"
}
], - "count": 2
}Get serial interface configuration.
| id required | integer Example: 1 Serial interface id. |
{- "data": {
- "type": "serials",
- "id": 1,
- "mode": "rs232",
- "displayName": "P1",
- "device": "/dev/ttyM0",
- "baudRate": 9600,
- "parity": "none",
- "dataBits": 8,
- "stopBits": 1,
- "flowControl": "hardware",
- "capabilities": {
- "mode": [
- "rs232",
- "rs422",
- "rs4852w",
- "rs4854w"
], - "baudRate": {
- "special": false,
- "range": [
- 300,
- 600,
- 1200,
- 1800,
- 2400,
- 4800,
- 9600,
- 19200,
- 38400,
- 57600,
- 115200,
- 230400,
- 460800,
- 921600
]
}, - "parities": [
- "none",
- "odd",
- "even",
- "space",
- "mark"
], - "dataBits": [
- 5,
- 6,
- 7,
- 8
], - "stopBits": [
- 1,
- 2,
- 1.5
], - "flowControl": [
- "none",
- "hardware",
- "software"
]
}
}
}Update serial interface configuration.
| id required | integer Example: 1 Serial interface id. |
| id | integer Interface id. |
| mode | string Enum: "rs232" "rs422" "rs4852w" "rs4854w" Serial interface mode. |
| baudRate | integer baud rate |
| parity | string parity |
| dataBits | integer data bits |
| stopBits | number stop bits |
| flowControl | string flow control |
{- "mode": "rs422",
- "flowControl": "software"
}{- "data": {
- "type": "serial",
- "id": 1,
- "mode": "rs422",
- "displayName": "P1",
- "device": "/dev/ttyM0",
- "baudRate": 115200,
- "parity": "none",
- "dataBits": 8,
- "stopBits": 1,
- "flowControl": "software"
}
}Get firewall host inbound rules.
{- "data": [
- {
- "id": 10001,
- "name": "https server port",
- "gatewayPort": "8443",
- "protocol": "tcp",
- "sourceIp": "10.128.10.0/22",
- "sourcePort": ""
}
], - "count": 1
}Modify the system rule to restrict access only from specific source IP or source ports.
| id required | integer rule ID |
| sourceIp required | string Default: "" Packet soruce IP. Support:
|
| sourcePort | string Packet soruce port. Support:
|
{- "sourceIp": "10.128.10.0/24",
- "sourcePort": ""
}{- "data": [
- {
- "id": 10001,
- "name": "https server port",
- "gatewayPort": "8443",
- "protocol": "tcp",
- "sourceIp": "10.128.10.0/24",
- "sourcePort": ""
}
], - "count": 1
}Display so far user defined functions.
| event | boolean Enable server-sent event |
{- "data": [
- {
- "name": "helloworld",
- "enabled": true,
- "trigger": {
- "dirven": "timeDriven",
- "timeDriven": {
- "mode": "boot",
- "cronJob": ""
}
}, - "expose": {
- "tags": [
- {
- "prvdName": "virtual",
- "srcName": "user",
- "tagName": "hello",
- "dataType": "string"
}
]
}, - "executable": {
- "language": "python"
}, - "params": { }
}
]
}Add a new function by upload tar.gz that packs function index.py(python program) and package.json(metadata)
| file | string <binary> configuration file |
{- "data": [
- {
- "name": "timedriven",
- "enabled": true,
- "trigger": {
- "driven": "timeDriven",
- "timeDriven": {
- "mode": "boot",
- "cronJob": ""
}
}, - "expose": {
- "tags": [
- {
- "prvdName": "virtual",
- "srcName": "define",
- "tagName": "tag",
- "dataType": "double"
}
]
}, - "executable": {
- "language": "python",
- "context": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n\"\"\"\nThingsPro Edge Function time driven function template\n\"\"\"\nfrom thingspro.edge.func_v1 import package\nif __name__ == \"__main__\":\n # create function client instance\n config = package.Configuration()\n # print parameters defined inpackage.json\n print(config.parameters())\n\n # infinite loop\n while True:\n time.sleep(1)\n\n",
- "lastUpTime": "2021-01-15T16:14:08+08:00",
- "state": "running",
- "error": ""
}, - "params": {
- "version": "1.0.0"
}
}
]
}Edit an existed function by function name. If doesn't exist, function app will create a new one.
| name | string [ 1 .. 255 ] characters ASCII alphanumeric characters or hyphens (a-z, A-Z, 0-9, "-") |
| enabled | boolean |
object (ThingsPro Edge Function_Trigger) | |
object (ThingsPro Edge Function_Executable) | |
object (ThingsPro Edge Function_Expose) | |
| params | object |
{- "name": "timedriven",
- "enabled": false
}{- "data": [
- {
- "name": "timedriven",
- "enabled": false,
- "trigger": {
- "driven": "timeDriven",
- "timeDriven": {
- "mode": "boot",
- "cronJob": ""
}
}, - "expose": {
- "tags": [
- {
- "prvdName": "virtual",
- "srcName": "define",
- "tagName": "tag",
- "dataType": "double"
}
]
}, - "executable": {
- "language": "python",
- "context": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n\"\"\"\nThingsPro Edge Function time driven function template\n\"\"\"\nfrom thingspro.edge.func_v1 import package\nif __name__ == \"__main__\":\n # create function client instance\n config = package.Configuration()\n # print parameters defined inpackage.json\n print(config.parameters())\n\n # infinite loop\n while True:\n time.sleep(1)\n\n",
- "lastUpTime": "2021-01-15T16:14:08+08:00",
- "state": "running",
- "error": ""
}, - "params": {
- "version": "1.0.0"
}
}
]
}install/uninstall desired python modules
| uninstall | boolean a flag to change operation from install to uninstall python modules |
| timeout | integer [ 1 .. 120 ] |
| pip | Array of strings |
{- "timeout": 60,
- "pip": [
- "requests"
]
}up-to-date all installed python modules
{- "data": [
- "certifi=2021.5.30",
- "charset-normalizer=2.0.6",
- "enum34=1.1.10",
- "grpcio=1.30.0",
- "idna=3.2",
- "pip=21.2.4",
- "protobuf=3.18.1",
- "requests=2.26.0",
- "requests-unixsocket=0.2.0",
- "setuptools=57.5.0",
- "six=1.16.0",
- "urllib3=1.26.7",
- "wheel=0.37.0"
]
}Get MQTT client configuration.
{- "data": [
- {
- "id": 1,
- "enable": true,
- "status": "connected",
- "protocolVersion": "3.1.1",
- "server": "127.0.0.1",
- "port": 1883,
- "keepAliveSec": 60,
- "handshakeTimeout": 10,
- "retryInterval": 60,
- "clearSession": true,
- "certificateOverTLS": false,
- "clientID": "mydevice1",
- "userName": "moxa",
- "password": "123",
- "tlsVersion": "1.2",
- "insecureSkipVerify": false,
- "certificate": {
- "rootCaCertFile": "",
- "caCertFile": "",
- "caPkFile": "",
- "rootCaCertID": "",
- "caCertID": "",
- "caPkID": ""
}, - "qos": 1,
- "retain": false,
- "willMessage": {
- "enable": true,
- "topic": "/devices/1/will",
- "message": "dead",
- "qos": 1,
- "retain": true
}, - "remoteAPI": {
- "enable": true,
- "requestSubTopic": "/devices/1/request",
- "responsePubTopic": "/devices/1/response",
- "ttl": 60,
- "qos": 1,
- "retain": false
}
}
]
}Create a MQTT client configuration.
| enable | boolean Default: false |
| protocolVersion | string Default: "3.1.1" Enum: 3.1 "3.1.1" MQTT protocol version |
| server required | string MQTT server(broker) ip or url |
| port required | integer |
| keepAliveSec | integer [ 10 .. 65536 ] Default: 60 |
| handshakeTimeout | integer [ 10 .. 600 ] Default: 10 |
| retryInterval | integer [ 10 .. 3600 ] Default: 60 |
| clearSession | boolean Default: true |
| certificateOverTLS | boolean Default: false |
| clientID | string Max length: 65536 in V3.1.1, 23 in V3.1 |
| userName | string <= 255 characters |
| password | string <= 255 characters |
| tlsVersion | string Default: "1.2" Enum: "1.3" "1.2" "1.1" "1.0" |
| insecureSkipVerify | boolean Default: false |
object | |
| qos | integer Default: 1 support qos 0,1,2 |
| retain | boolean Default: false |
object | |
object
|
{- "enable": true,
- "protocolVersion": "3.1.1",
- "server": "127.0.0.1",
- "port": 1883,
- "keepAliveSec": 60,
- "handshakeTimeout": 10,
- "retryInterval": 60,
- "clearSession": true,
- "certificateOverTLS": false,
- "clientID": "mydevice1",
- "userName": "moxa",
- "password": "123",
- "tlsVersion": "1.2",
- "insecureSkipVerify": false,
- "qos": 1,
- "retain": false,
- "willMessage": {
- "enable": true,
- "topic": "/devices/1/will",
- "message": "dead",
- "qos": 1,
- "retain": true
}, - "remoteAPI": {
- "enable": true,
- "requestSubTopic": "/devices/1/request",
- "responsePubTopic": "/devices/1/response",
- "ttl": 60,
- "qos": 1,
- "retain": false
}
}{- "data": [
- {
- "id": 1,
- "enable": true,
- "status": "connected",
- "protocolVersion": "3.1.1",
- "server": "127.0.0.1",
- "port": 1883,
- "keepAliveSec": 60,
- "handshakeTimeout": 10,
- "retryInterval": 60,
- "clearSession": true,
- "certificateOverTLS": false,
- "clientID": "mydevice1",
- "userName": "moxa",
- "password": "123",
- "tlsVersion": "1.2",
- "insecureSkipVerify": false,
- "certificate": {
- "rootCaCertFile": "",
- "caCertFile": "",
- "caPkFile": "",
- "rootCaCertID": "",
- "caCertID": "",
- "caPkID": ""
}, - "qos": 1,
- "retain": false,
- "willMessage": {
- "enable": true,
- "topic": "/devices/1/will",
- "message": "dead",
- "qos": 1,
- "retain": true
}, - "remoteAPI": {
- "enable": true,
- "requestSubTopic": "/devices/1/request",
- "responsePubTopic": "/devices/1/response",
- "ttl": 60,
- "qos": 1,
- "retain": false
}
}
]
}Edit MQTT client configuration.
| id required | integer the |
| enable | boolean Default: false |
| protocolVersion | string Default: "3.1.1" Enum: 3.1 "3.1.1" MQTT protocol version |
| server required | string MQTT server(broker) ip or url |
| port required | integer |
| keepAliveSec | integer [ 10 .. 65536 ] Default: 60 |
| handshakeTimeout | integer [ 10 .. 600 ] Default: 10 |
| retryInterval | integer [ 10 .. 3600 ] Default: 60 |
| clearSession | boolean Default: true |
| certificateOverTLS | boolean Default: false |
| clientID | string Max length: 65536 in V3.1.1, 23 in V3.1 |
| userName | string <= 255 characters |
| password | string <= 255 characters |
| tlsVersion | string Default: "1.2" Enum: "1.3" "1.2" "1.1" "1.0" |
| insecureSkipVerify | boolean Default: false |
object | |
| qos | integer Default: 1 support qos 0,1,2 |
| retain | boolean Default: false |
object | |
object
|
{- "id": 1,
- "enable": true,
- "status": "connected",
- "protocolVersion": "3.1.1",
- "server": "127.0.0.1",
- "port": 1883,
- "keepAliveSec": 60,
- "handshakeTimeout": 10,
- "retryInterval": 60,
- "clearSession": true,
- "certificateOverTLS": false,
- "clientID": "mydevice1",
- "userName": "moxa",
- "password": "123",
- "tlsVersion": "1.2",
- "insecureSkipVerify": false,
- "certificate": {
- "rootCaCertFile": "",
- "caCertFile": "",
- "caPkFile": "",
- "rootCaCertID": "",
- "caCertID": "",
- "caPkID": ""
}, - "qos": 1,
- "retain": false,
- "willMessage": {
- "enable": true,
- "topic": "/devices/1/will",
- "message": "dead",
- "qos": 1,
- "retain": true
}, - "remoteAPI": {
- "enable": true,
- "requestSubTopic": "/devices/1/request",
- "responsePubTopic": "/devices/1/response",
- "ttl": 60,
- "qos": 1,
- "retain": false
}
}{- "data": {
- "id": 1,
- "enable": true,
- "status": "connected",
- "protocolVersion": "3.1.1",
- "server": "127.0.0.1",
- "port": 1883,
- "keepAliveSec": 60,
- "handshakeTimeout": 10,
- "retryInterval": 60,
- "clearSession": true,
- "certificateOverTLS": false,
- "clientID": "mydevice1",
- "userName": "moxa",
- "password": "123",
- "tlsVersion": "1.2",
- "insecureSkipVerify": false,
- "certificate": {
- "rootCaCertFile": "",
- "caCertFile": "",
- "caPkFile": "",
- "rootCaCertID": "",
- "caCertID": "",
- "caPkID": ""
}, - "qos": 1,
- "retain": false,
- "willMessage": {
- "enable": true,
- "topic": "/devices/1/will",
- "message": "dead",
- "qos": 1,
- "retain": true
}, - "remoteAPI": {
- "enable": true,
- "requestSubTopic": "/devices/1/request",
- "responsePubTopic": "/devices/1/response",
- "ttl": 60,
- "qos": 1,
- "retain": false
}
}
}delete MQTT client configuration.
| id required | integer the |
{- "data": [
- {
- "id": 1,
- "enable": true,
- "status": "connected",
- "protocolVersion": "3.1.1",
- "server": "127.0.0.1",
- "port": 1883,
- "keepAliveSec": 60,
- "handshakeTimeout": 10,
- "retryInterval": 60,
- "clearSession": true,
- "certificateOverTLS": false,
- "clientID": "mydevice1",
- "userName": "moxa",
- "password": "123",
- "tlsVersion": "1.2",
- "insecureSkipVerify": false,
- "certificate": {
- "rootCaCertFile": "",
- "caCertFile": "",
- "caPkFile": "",
- "rootCaCertID": "",
- "caCertID": "",
- "caPkID": ""
}, - "qos": 1,
- "retain": false,
- "willMessage": {
- "enable": true,
- "topic": "/devices/1/will",
- "message": "dead",
- "qos": 1,
- "retain": true
}, - "remoteAPI": {
- "enable": true,
- "requestSubTopic": "/devices/1/request",
- "responsePubTopic": "/devices/1/response",
- "ttl": 60,
- "qos": 1,
- "retain": false
}
}
]
}delete certficate.
| id required | integer the |
{- "data": {
- "id": 1,
- "enable": true,
- "status": "connected",
- "protocolVersion": "3.1.1",
- "server": "127.0.0.1",
- "port": 1883,
- "keepAliveSec": 60,
- "handshakeTimeout": 10,
- "retryInterval": 60,
- "clearSession": true,
- "certificateOverTLS": false,
- "clientID": "mydevice1",
- "userName": "moxa",
- "password": "123",
- "tlsVersion": "1.2",
- "insecureSkipVerify": false,
- "certificate": {
- "rootCaCertFile": "",
- "caCertFile": "",
- "caPkFile": "",
- "rootCaCertID": "",
- "caCertID": "",
- "caPkID": ""
}, - "qos": 1,
- "retain": false,
- "willMessage": {
- "enable": true,
- "topic": "/devices/1/will",
- "message": "dead",
- "qos": 1,
- "retain": true
}, - "remoteAPI": {
- "enable": true,
- "requestSubTopic": "/devices/1/request",
- "responsePubTopic": "/devices/1/response",
- "ttl": 60,
- "qos": 1,
- "retain": false
}
}
}get store and forward setting.
| id required | integer the |
{- "data": {
- "enable": true,
- "targetDiskName": "System",
- "desiredDiskCacheSizeMB": 8,
- "timeToLiveSec": 7200,
- "dropBehavior": "oldest",
- "sendDelayMillsecond": 10,
- "disks": [
- {
- "name": "System",
- "mount": "/",
- "device": "/dev/root",
- "total": 5361655808,
- "free": 2757701632,
- "used": 2603954176,
- "percent": 45.58614346629942,
- "tags": {
- "used": "systemDiskUsed",
- "free": "systemDiskFree",
- "percent": "systemDiskPercent"
}
}
]
}
}update store and forward setting.
| id required | integer the |
| enable | boolean Default: false |
| targetDiskName | string |
| desiredDiskCacheSizeMB | integer Desired disk cache size in MiB (1 MiB = 1024 × 1024 bytes, base-1024) |
| timeToLiveSec | integer |
| dropBehavior | string Enum: "oldest" "newest" |
| sendDelayMillsecond | integer [ 10 .. 1000 ] Default: 10 |
Array of objects |
{- "enable": true,
- "targetDiskName": "System",
- "desiredDiskCacheSizeMB": 8,
- "timeToLiveSec": 7200,
- "dropBehavior": "oldest",
- "sendDelayMillsecond": 10
}{- "data": {
- "enable": true,
- "targetDiskName": "System",
- "desiredDiskCacheSizeMB": 8,
- "timeToLiveSec": 7200,
- "dropBehavior": "oldest",
- "sendDelayMillsecond": 10,
- "disks": [
- {
- "name": "System",
- "mount": "/",
- "device": "/dev/root",
- "total": 5361655808,
- "free": 2757701632,
- "used": 2603954176,
- "percent": 45.58614346629942,
- "tags": {
- "used": "systemDiskUsed",
- "free": "systemDiskFree",
- "percent": "systemDiskPercent"
}
}
]
}
}Get AWS iot device configuration.
{- "data": {
- "status": "connected",
- "provisioning": {
- "enable": true,
- "host": "a22j5sm6o3yzc5.iot.us-east-1.amazonaws.com",
- "port": 8883,
- "thingID": "MyThingsproEdge",
- "supportDM": true,
- "messageQOS": 0,
- "keepAliveSec": 60,
- "retryInterval": 10,
- "certificate": {
- "rootCaCertFile": "rootCA.crt",
- "caPkFile": "private.key",
- "caCertFile": "device.crt",
- "rootCaCertID": "",
- "caCertID": "",
- "caPkID": ""
}
}
}
}Update provisioning configuration.
object |
{- "status": "connected",
- "provisioning": {
- "enable": true,
- "host": "a22j5sm6o3yzc5.iot.us-east-1.amazonaws.com",
- "port": 8883,
- "thingID": "MyThingsproEdge",
- "supportDM": true,
- "messageQOS": 0,
- "keepAliveSec": 60,
- "retryInterval": 10,
- "certificate": {
- "rootCaCertFile": "rootCA.crt",
- "caPkFile": "private.key",
- "caCertFile": "device.crt",
- "rootCaCertID": "",
- "caCertID": "",
- "caPkID": ""
}
}
}{- "data": {
- "status": "connected",
- "provisioning": {
- "enable": true,
- "host": "a22j5sm6o3yzc5.iot.us-east-1.amazonaws.com",
- "port": 8883,
- "thingID": "MyThingsproEdge",
- "supportDM": true,
- "messageQOS": 0,
- "keepAliveSec": 60,
- "retryInterval": 10,
- "certificate": {
- "rootCaCertFile": "rootCA.crt",
- "caPkFile": "private.key",
- "caCertFile": "device.crt",
- "rootCaCertID": "",
- "caCertID": "",
- "caPkID": ""
}
}
}
}get shadow properties setting.
{- "data": {
- "device": {
- "general": [
- {
- "reportedPath": "general",
- "desiredPath": "general"
}
], - "wan": [
- {
- "reportedPath": "wan",
- "desiredPath": "wan"
}
]
}
}
}update shadow properties setting.
object |
{- "device": {
- "general": [
- {
- "reportedPath": "general",
- "desiredPath": "general"
}
], - "wan": [
- {
- "reportedPath": "wan",
- "desiredPath": "wan"
}
]
}
}{- "data": {
- "device": {
- "general": [
- {
- "reportedPath": "general",
- "desiredPath": "general"
}
], - "wan": [
- {
- "reportedPath": "wan",
- "desiredPath": "wan"
}
]
}
}
}get store and forward setting.
{- "data": {
- "enable": true,
- "targetDiskName": "System",
- "desiredDiskCacheSizeMB": 8,
- "timeToLiveSec": 7200,
- "dropBehavior": "oldest",
- "sendDelayMillsecond": 10,
- "disks": [
- {
- "name": "System",
- "mount": "/",
- "device": "/dev/root",
- "total": 5361655808,
- "free": 2757701632,
- "used": 2603954176,
- "percent": 45.58614346629942,
- "tags": {
- "used": "systemDiskUsed",
- "free": "systemDiskFree",
- "percent": "systemDiskPercent"
}
}
]
}
}update store and forward setting.
| enable | boolean Default: false |
| targetDiskName | string |
| desiredDiskCacheSizeMB | integer Desired disk cache size in MiB (1 MiB = 1024 × 1024 bytes, base-1024) |
| timeToLiveSec | integer |
| dropBehavior | string Enum: "oldest" "newest" |
| sendDelayMillsecond | integer [ 10 .. 1000 ] Default: 10 |
Array of objects |
{- "enable": true,
- "targetDiskName": "System",
- "desiredDiskCacheSizeMB": 8,
- "timeToLiveSec": 7200,
- "dropBehavior": "oldest",
- "sendDelayMillsecond": 10
}{- "data": {
- "enable": true,
- "targetDiskName": "System",
- "desiredDiskCacheSizeMB": 8,
- "timeToLiveSec": 7200,
- "dropBehavior": "oldest",
- "sendDelayMillsecond": 10,
- "disks": [
- {
- "name": "System",
- "mount": "/",
- "device": "/dev/root",
- "total": 5361655808,
- "free": 2757701632,
- "used": 2603954176,
- "percent": 45.58614346629942,
- "tags": {
- "used": "systemDiskUsed",
- "free": "systemDiskFree",
- "percent": "systemDiskPercent"
}
}
]
}
}Get azure iot device configuration.
{- "data": {
- "status": "connected",
- "provisioning": {
- "authenticationType": "symmetricKey",
- "connectionString": "[connection string]",
- "enable": true,
- "protocol": {
- "capabilities": [
- {
- "protocol": "mqtt",
- "port": 8883
}, - {
- "protocol": "mqttOverWebsocket",
- "port": 443
}, - {
- "protocol": "amqp",
- "port": 5671
}, - {
- "protocol": "amqpOverWebsocket",
- "port": 443
}
], - "protocol": "mqtt",
- "port": 8883
}, - "supportTwin": true,
- "certificate": {
- "caPkFile": "device.key",
- "caCertFile": "device.crt"
}, - "rootCaCertFile": "root.crt"
}
}
}Update provisioning configuration.
object |
{- "provisioning": {
- "enable": true,
- "authenticationType": "symmetricKey",
- "supportTwin": true,
- "connectionString": "connection-string-test",
- "keepAlive": 60,
- "protocol": {
- "protocol": "mqtt"
}
}
}{- "data": {
- "provisioning": {
- "authenticationType": "symmetricKey",
- "connectionString": "connection-string-test",
- "enable": true,
- "supportTwin": true,
- "certificate": {
- "caPkFile": "",
- "caCertFile": "",
- "certificateInfo": {
- "notAfter": "",
- "subject": {
- "cn": ""
}, - "issuer": ""
}
}
}, - "status": "connected"
}
}Setup x509 certificates.
| caCertFile | string <binary> device ca certificate |
| caPkFile | string <binary> device ca private key |
| rootCaCertFile | string <binary> root ca certificate |
| connectionString | string [ 1 .. 1024 ] characters |
| protocol | string Enum: "mqtt" "mqttOverWebsocket" "amqp" "amqpOverWebsocket" Communication protocol |
{- "data": {
- "status": "connected",
- "provisioning": {
- "authenticationType": "symmetricKey",
- "connectionString": "[connection string]",
- "enable": true,
- "protocol": {
- "capabilities": [
- {
- "protocol": "mqtt",
- "port": 8883
}, - {
- "protocol": "mqttOverWebsocket",
- "port": 443
}, - {
- "protocol": "amqp",
- "port": 5671
}, - {
- "protocol": "amqpOverWebsocket",
- "port": 443
}
], - "protocol": "mqtt",
- "port": 8883
}, - "supportTwin": true,
- "certificate": {
- "caPkFile": "device.key",
- "caCertFile": "device.crt"
}, - "rootCaCertFile": "root.crt"
}
}
}update twin properties setting.
object |
{- "device": {
- "general": [
- {
- "reportedPath": "general",
- "desiredPath": "general"
}
], - "wan": [
- {
- "reportedPath": "wan",
- "desiredPath": "wan"
}
]
}
}{- "data": {
- "device": {
- "general": [
- {
- "reportedPath": "general",
- "desiredPath": "general"
}
], - "wan": [
- {
- "reportedPath": "wan",
- "desiredPath": "wan"
}
]
}
}
}get store and forward setting.
{- "data": {
- "enable": true,
- "targetDiskName": "System",
- "desiredDiskCacheSizeMB": 8,
- "timeToLiveSec": 7200,
- "dropBehavior": "oldest",
- "sendDelayMillsecond": 10,
- "disks": [
- {
- "name": "System",
- "mount": "/",
- "device": "/dev/root",
- "total": 5361655808,
- "free": 2757701632,
- "used": 2603954176,
- "percent": 45.58614346629942,
- "tags": {
- "used": "systemDiskUsed",
- "free": "systemDiskFree",
- "percent": "systemDiskPercent"
}
}
]
}
}update store and forward setting.
| enable | boolean Default: false |
| targetDiskName | string |
| desiredDiskCacheSizeMB | integer Desired disk cache size in MiB (1 MiB = 1024 × 1024 bytes, base-1024) |
| timeToLiveSec | integer |
| dropBehavior | string Enum: "oldest" "newest" |
| sendDelayMillsecond | integer [ 10 .. 1000 ] Default: 10 |
Array of objects |
{- "enable": true,
- "targetDiskName": "System",
- "desiredDiskCacheSizeMB": 8,
- "timeToLiveSec": 7200,
- "dropBehavior": "oldest",
- "sendDelayMillsecond": 10
}{- "data": {
- "enable": true,
- "targetDiskName": "System",
- "desiredDiskCacheSizeMB": 8,
- "timeToLiveSec": 7200,
- "dropBehavior": "oldest",
- "sendDelayMillsecond": 10,
- "disks": [
- {
- "name": "System",
- "mount": "/",
- "device": "/dev/root",
- "total": 5361655808,
- "free": 2757701632,
- "used": 2603954176,
- "percent": 45.58614346629942,
- "tags": {
- "used": "systemDiskUsed",
- "free": "systemDiskFree",
- "percent": "systemDiskPercent"
}
}
]
}
}Get Sparkplug configuration.
| event | boolean Get runtime status, ex: {"brokerList":[{"id":1,"status":"connected"}]} |
{- "data": {
- "enable": true,
- "enableDM": false,
- "nodeID": "gary",
- "groupID": "thingspro-edges",
- "uuid": "",
- "primaryHostID": "garyig",
- "handshakeTimeout": 10,
- "retryInterval": 10,
- "maxRetries": 3,
- "brokerList": [
- {
- "id": 1,
- "enable": true,
- "status": "connected",
- "lastConnectedTime": "May 20, 2020, 14:05",
- "server": "test.sparkplug.org",
- "port": 1883,
- "keepAliveSec": 10,
- "userName": "admin",
- "password": "password",
- "certificate": {
- "rootCaCertFile": "",
- "caCertFile": "",
- "caPkFile": "",
- "rootCaCertID": "",
- "caCertID": "",
- "caPkID": ""
}
}
]
}
}Update Sparkplug configuration.(BrokerList is readOnly in this endpoint)
| enable | boolean Default: false |
| enableDM | boolean Default: false |
| nodeID required | string [ 1 .. 255 ] characters The format can be valid UTF-8 alphanumeric String with the exception of the reserved characters of "+", "/", "#" |
| groupID required | string [ 1 .. 255 ] characters The format can be valid UTF-8 alphanumeric String with the exception of the reserved characters of "+", "/", "#" |
| uuid | string [ 0 .. 255 ] characters The format can be valid UTF-8 alphanumeric String. UUID to track message type in terms of schema definitions |
| primaryHostID | string [ 0 .. 255 ] characters The format can be valid UTF-8 alphanumeric String. |
| handshakeTimeout | integer [ 1 .. 600 ] Default: 10 |
| maxRetries | integer [ 0 .. 60 ] Default: 3 |
| retryInterval | integer [ 10 .. 3600 ] Default: 60 |
{- "enable": true,
- "enableDM": false,
- "nodeID": "gary",
- "groupID": "thingspro-edges",
- "uuid": "",
- "primaryHostID": "garyig",
- "handshakeTimeout": 10,
- "retryInterval": 10,
- "maxRetries": 3
}{- "data": {
- "enable": true,
- "enableDM": false,
- "nodeID": "gary",
- "groupID": "thingspro-edges",
- "uuid": "",
- "primaryHostID": "garyig",
- "handshakeTimeout": 10,
- "retryInterval": 10,
- "maxRetries": 3,
- "brokerList": [
- {
- "id": 1,
- "enable": true,
- "status": "connected",
- "lastConnectedTime": "May 20, 2020, 14:05",
- "server": "test.sparkplug.org",
- "port": 1883,
- "keepAliveSec": 10,
- "userName": "admin",
- "password": "password",
- "certificate": {
- "rootCaCertFile": "",
- "caCertFile": "",
- "caPkFile": "",
- "rootCaCertID": "",
- "caCertID": "",
- "caPkID": ""
}
}
]
}
}| decryption | boolean Default: true Use password to decryption (default:true) |
| file | string <binary> configuration file |
| password | string password |
{- "data": {
- "fileName": "2019-12-19-13-52-backup.zip",
- "fileSize": 46272
}
}Get Sparkplug brokers configuration.
{- "data": [
- {
- "id": 1,
- "enable": true,
- "status": "connected",
- "lastConnectedTime": "May 20, 2020, 14:05",
- "server": "test.sparkplug.org",
- "port": 1883,
- "keepAliveSec": 10,
- "userName": "admin",
- "password": "password",
- "certificate": {
- "rootCaCertFile": "",
- "caCertFile": "",
- "caPkFile": "",
- "rootCaCertID": "",
- "caCertID": "",
- "caPkID": ""
}
}
]
}Update Sparkplug brokers configuration.
| id required | integer |
| enable required | boolean |
| server required | string MQTT server(broker) ip or url |
| port required | integer [ 1 .. 65536 ] |
| keepAliveSec required | integer [ 10 .. 65536 ] |
| certificateOverTLS required | boolean |
| clientID | string Max length: 65536 in V3.1.1, 23 in V3.1 |
| userName | string <= 255 characters |
| password | string <= 255 characters |
| tlsVersion required | string Enum: "1.3" "1.2" "1.1" "1.0" |
| insecureSkipVerify required | boolean |
object |
[- {
- "id": 1,
- "enable": true,
- "server": "test.sparkplug.org",
- "port": 1883,
- "keepAliveSec": 10,
- "userName": "admin",
- "password": "password"
}
]{- "data": [
- {
- "id": 1,
- "enable": true,
- "status": "connected",
- "lastConnectedTime": "May 20, 2020, 14:05",
- "server": "test.sparkplug.org",
- "port": 1883,
- "keepAliveSec": 10,
- "userName": "admin",
- "password": "password",
- "certificate": {
- "rootCaCertFile": "",
- "caCertFile": "",
- "caPkFile": "",
- "rootCaCertID": "",
- "caCertID": "",
- "caPkID": ""
}
}
]
}Create a new Sparkplug broker configuration.
| enable | boolean Default: false |
| server required | string MQTT server(broker) ip or url |
| port required | integer [ 1 .. 65536 ] |
| keepAliveSec | integer [ 10 .. 65536 ] Default: 60 |
| certificateOverTLS | boolean Default: false |
| clientID | string Max length: 65536 in V3.1.1, 23 in V3.1 |
| userName | string <= 255 characters |
| password | string <= 255 characters |
| tlsVersion | string Default: "1.2" Enum: "1.3" "1.2" "1.1" "1.0" |
| insecureSkipVerify | boolean Default: false |
object |
{- "enable": true,
- "server": "test.sparkplug.org",
- "port": 1883,
- "keepAliveSec": 10,
- "userName": "admin",
- "password": "password"
}{- "data": [
- {
- "id": 1,
- "enable": true,
- "status": "connected",
- "lastConnectedTime": "May 20, 2020, 14:05",
- "server": "test.sparkplug.org",
- "port": 1883,
- "keepAliveSec": 10,
- "userName": "admin",
- "password": "password",
- "certificate": {
- "rootCaCertFile": "",
- "caCertFile": "",
- "caPkFile": "",
- "rootCaCertID": "",
- "caCertID": "",
- "caPkID": ""
}
}
]
}Update Sparkplug broker configuration.
| id required | integer broker id. |
| id required | integer |
| enable required | boolean |
| server required | string MQTT server(broker) ip or url |
| port required | integer [ 1 .. 65536 ] |
| keepAliveSec required | integer [ 10 .. 65536 ] |
| certificateOverTLS required | boolean |
| clientID | string Max length: 65536 in V3.1.1, 23 in V3.1 |
| userName | string <= 255 characters |
| password | string <= 255 characters |
| tlsVersion required | string Enum: "1.3" "1.2" "1.1" "1.0" |
| insecureSkipVerify required | boolean |
object |
{- "enable": true,
- "server": "test.sparkplug.org",
- "port": 1883,
- "keepAliveSec": 10,
- "userName": "admin",
- "password": "password"
}{- "data": {
- "id": 1,
- "enable": true,
- "status": "connected",
- "lastConnectedTime": "May 20, 2020, 14:05",
- "server": "test.sparkplug.org",
- "port": 1883,
- "keepAliveSec": 10,
- "userName": "admin",
- "password": "password",
- "certificate": {
- "rootCaCertFile": "",
- "caCertFile": "",
- "caPkFile": "",
- "rootCaCertID": "",
- "caCertID": "",
- "caPkID": ""
}
}
}update twin properties setting.
object |
{- "device": {
- "general": [
- {
- "reportedPath": "general",
- "desiredPath": "general"
}
], - "wan": [
- {
- "reportedPath": "wan",
- "desiredPath": "wan"
}
]
}
}{- "data": {
- "device": {
- "general": [
- {
- "reportedPath": "general",
- "desiredPath": "general"
}
], - "wan": [
- {
- "reportedPath": "wan",
- "desiredPath": "wan"
}
]
}
}
}get store and forward setting.
{- "data": {
- "enable": true,
- "targetDiskName": "System",
- "desiredDiskCacheSizeMB": 8,
- "timeToLiveSec": 7200,
- "dropBehavior": "oldest",
- "sendDelayMillsecond": 10,
- "bulkUpload": {
- "enable": false,
- "size": 128
}, - "disks": [
- {
- "name": "System",
- "mount": "/",
- "device": "/dev/root",
- "total": 5361655808,
- "free": 2757701632,
- "used": 2603954176,
- "percent": 45.58614346629942,
- "tags": {
- "used": "systemDiskUsed",
- "free": "systemDiskFree",
- "percent": "systemDiskPercent"
}
}
]
}
}update store and forward setting.
| enable | boolean Default: false |
| targetDiskName | string |
| desiredDiskCacheSizeMB | integer Desired disk cache size in MiB (1 MiB = 1024 × 1024 bytes, base-1024) |
| timeToLiveSec | integer |
| dropBehavior | string Enum: "oldest" "newest" |
| sendDelayMillsecond | integer [ 10 .. 1000 ] Default: 10 |
Array of objects | |
object (Bluk Upload Configuration) Bulk data upload to server after device status change to connected. |
{- "enable": true,
- "targetDiskName": "System",
- "desiredDiskCacheSizeMB": 8,
- "timeToLiveSec": 7200,
- "dropBehavior": "oldest",
- "sendDelayMillsecond": 10,
- "bulkUpload": {
- "enable": false,
- "size": 128
}
}{- "data": {
- "enable": true,
- "targetDiskName": "System",
- "desiredDiskCacheSizeMB": 8,
- "timeToLiveSec": 7200,
- "dropBehavior": "oldest",
- "sendDelayMillsecond": 10,
- "bulkUpload": {
- "enable": false,
- "size": 128
}, - "disks": [
- {
- "name": "System",
- "mount": "/",
- "device": "/dev/root",
- "total": 5361655808,
- "free": 2757701632,
- "used": 2603954176,
- "percent": 45.58614346629942,
- "tags": {
- "used": "systemDiskUsed",
- "free": "systemDiskFree",
- "percent": "systemDiskPercent"
}
}
]
}
}get message groups setting.
| type | string Enum: "node" "device" |
[- {
- "id": 1,
- "enable": true,
- "description": "my message group",
- "properties": [ ],
- "onChange": false,
- "minPublishInterval": 0,
- "samplingMode": "allValues",
- "customSamplingRate": false,
- "tags": {
- "modbus": {
- "myDevice1": [
- "di0",
- "di1"
]
}
}, - "pollingInterval": 0,
- "sendOutThreshold": {
- "mode": "byTime",
- "time": 60
}
}
]create a message group.
| type | string Enum: "node" "device" |
| enable required | boolean |
| description | string <= 1024 characters |
required | object |
| minPublishInterval | integer [ 0 .. 10 ] Default: 0 a fixed interval between the two publish. unit:second |
| samplingMode | string Default: "allChangedValues" Enum: "allValues" "latestValues" "allChangedValues" "latestChangedValues" |
| customSamplingRate | boolean Default: false enable will use the pollingInterval that user input. |
| pollingInterval | integer [ 0 .. 86400 ] characters Default: 10 unit:second, 0 means subscribe mode |
required | object |
{- "enable": true,
- "description": "my message group",
- "onChange": false,
- "minPublishInterval": 0,
- "samplingMode": "allValues",
- "customSamplingRate": false,
- "tags": {
- "modbus": {
- "myDevice1": [
- "di0",
- "di1"
]
}
}, - "pollingInterval": 0,
- "sendOutThreshold": {
- "mode": "byTime",
- "time": 60
}
}[- {
- "id": 1,
- "enable": true,
- "description": "my message group",
- "properties": [ ],
- "onChange": false,
- "minPublishInterval": 0,
- "samplingMode": "allValues",
- "customSamplingRate": false,
- "tags": {
- "modbus": {
- "myDevice1": [
- "di0",
- "di1"
]
}
}, - "pollingInterval": 0,
- "sendOutThreshold": {
- "mode": "byTime",
- "time": 60
}
}
]get message group setting.
| id required | integer message group id. |
{- "data": {
- "id": 1,
- "enable": true,
- "description": "my message group",
- "properties": [ ],
- "onChange": false,
- "minPublishInterval": 0,
- "samplingMode": "allValues",
- "customSamplingRate": false,
- "tags": {
- "modbus": {
- "myDevice1": [
- "di0",
- "di1"
]
}
}, - "pollingInterval": 0,
- "sendOutThreshold": {
- "mode": "byTime",
- "time": 60
}
}
}update message group setting.
| id required | integer message group id. |
| enable required | boolean |
| description | string <= 1024 characters |
required | object |
| minPublishInterval | integer [ 0 .. 10 ] Default: 0 a fixed interval between the two publish. unit:second |
| samplingMode | string Default: "allChangedValues" Enum: "allValues" "latestValues" "allChangedValues" "latestChangedValues" |
| customSamplingRate | boolean Default: false enable will use the pollingInterval that user input. |
| pollingInterval | integer [ 0 .. 86400 ] characters Default: 10 unit:second, 0 means subscribe mode |
required | object |
{- "enable": true,
- "description": "my message group",
- "onChange": false,
- "minPublishInterval": 0,
- "samplingMode": "allValues",
- "customSamplingRate": false,
- "tags": {
- "modbus": {
- "myDevice1": [
- "di0",
- "di1"
]
}
}, - "pollingInterval": 0,
- "sendOutThreshold": {
- "mode": "byTime",
- "time": 60
}
}{- "data": {
- "id": 1,
- "enable": true,
- "description": "my message group",
- "properties": [ ],
- "onChange": false,
- "minPublishInterval": 0,
- "samplingMode": "allValues",
- "customSamplingRate": false,
- "tags": {
- "modbus": {
- "myDevice1": [
- "di0",
- "di1"
]
}
}, - "pollingInterval": 0,
- "sendOutThreshold": {
- "mode": "byTime",
- "time": 60
}
}
}delete message group setting.
| id required | integer message group id. |
[- {
- "id": 1,
- "enable": true,
- "description": "my message group",
- "properties": [ ],
- "onChange": false,
- "minPublishInterval": 0,
- "samplingMode": "allValues",
- "customSamplingRate": false,
- "tags": {
- "modbus": {
- "myDevice1": [
- "di0",
- "di1"
]
}
}, - "pollingInterval": 0,
- "sendOutThreshold": {
- "mode": "byTime",
- "time": 60
}
}
]{- "data": {
- "type": "openvpn",
- "enable": true,
- "status": "connected",
- "ready": true,
- "profile": "client.ovpn",
- "network": {
- "remoteIp": "10.144.48.22",
- "localIp": "10.8.0.1",
- "netmask": "255.255.255.0",
- "gateway": "10.8.1.254"
}
}
}Get azure iotedge configuration.
{- "data": {
- "edgeAgentURI": "string",
- "iotedge": {
- "version": "string",
- "status": "resetting",
- "since": "Mon 2016-10-07 09:49:16 CST",
- "match": true,
- "suggestion": "string",
- "modules": [
- {
- "status": "string",
- "config": "string",
- "description": "string",
- "name": "string",
- "match": true,
- "suggestion": "string"
}
]
}, - "provisioning": {
- "enable": false,
- "defenderEnable": false,
- "supportTwin": true,
- "source": "manual",
- "method": "tpm",
- "connectionString": "string",
- "scopeId": "string",
- "symmetricKey": "string",
- "identityCert": "string",
- "identityPk": "string",
- "identityCertUuid": "string",
- "identityPkUuid": "string",
- "registrationId": "string",
- "endorsementKey": "string"
}, - "downstreamCerts": {
- "mode": "default",
- "caCertFile": "string",
- "caPkFile": "string",
- "trustedCaFile": "string",
- "caCertID": "string",
- "caPkID": "string",
- "trustedCaID": "string",
- "certificateInfo": {
- "issuer": "string",
- "notAfter": "string",
- "subject": {
- "cn": "string"
}
}
}
}
}Update azure iotedge configuration.
| edgeAgentURI | string default URI of edgeAgent |
object IoT Edge runtime information | |
object | |
object |
{- "provisioning": {
- "enable": true
}
}{- "data": {
- "edgeAgentURI": "string",
- "iotedge": {
- "version": "string",
- "status": "resetting",
- "since": "Mon 2016-10-07 09:49:16 CST",
- "match": true,
- "suggestion": "string",
- "modules": [
- {
- "status": "string",
- "config": "string",
- "description": "string",
- "name": "string",
- "match": true,
- "suggestion": "string"
}
]
}, - "provisioning": {
- "enable": false,
- "defenderEnable": false,
- "supportTwin": true,
- "source": "manual",
- "method": "tpm",
- "connectionString": "string",
- "scopeId": "string",
- "symmetricKey": "string",
- "identityCert": "string",
- "identityPk": "string",
- "identityCertUuid": "string",
- "identityPkUuid": "string",
- "registrationId": "string",
- "endorsementKey": "string"
}, - "downstreamCerts": {
- "mode": "default",
- "caCertFile": "string",
- "caPkFile": "string",
- "trustedCaFile": "string",
- "caCertID": "string",
- "caPkID": "string",
- "trustedCaID": "string",
- "certificateInfo": {
- "issuer": "string",
- "notAfter": "string",
- "subject": {
- "cn": "string"
}
}
}
}
}Control azure iotedge service.
{- "data": {
- "edgeAgentURI": "string",
- "iotedge": {
- "version": "string",
- "status": "resetting",
- "since": "Mon 2016-10-07 09:49:16 CST",
- "match": true,
- "suggestion": "string",
- "modules": [
- {
- "status": "string",
- "config": "string",
- "description": "string",
- "name": "string",
- "match": true,
- "suggestion": "string"
}
]
}, - "provisioning": {
- "enable": false,
- "defenderEnable": false,
- "supportTwin": true,
- "source": "manual",
- "method": "tpm",
- "connectionString": "string",
- "scopeId": "string",
- "symmetricKey": "string",
- "identityCert": "string",
- "identityPk": "string",
- "identityCertUuid": "string",
- "identityPkUuid": "string",
- "registrationId": "string",
- "endorsementKey": "string"
}, - "downstreamCerts": {
- "mode": "default",
- "caCertFile": "string",
- "caPkFile": "string",
- "trustedCaFile": "string",
- "caCertID": "string",
- "caPkID": "string",
- "trustedCaID": "string",
- "certificateInfo": {
- "issuer": "string",
- "notAfter": "string",
- "subject": {
- "cn": "string"
}
}
}
}
}Download azure iotedge module logs as a zip file.
| name required | string Examples:
module name. |
edgeAgent-Log-2025-09-15T105052.zip
Export user self generate downstream certificates.
{- "data": "\n-----BEGIN CERTIFICATE-----\nx509_content\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nx509_content\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nx509 content\n-----END CERTIFICATE-----\n"
}Import user certificates and update azure iotedge configuration.
The uploaded certificates and configuration.
| caCertFile | string <binary> device ca certificate |
| caPkFile | string <binary> device ca private key |
| trustedCaFile | string <binary> a file containing all the trusted CA |
{- "data": {
- "edgeAgentURI": "string",
- "iotedge": {
- "version": "string",
- "status": "resetting",
- "since": "Mon 2016-10-07 09:49:16 CST",
- "match": true,
- "suggestion": "string",
- "modules": [
- {
- "status": "string",
- "config": "string",
- "description": "string",
- "name": "string",
- "match": true,
- "suggestion": "string"
}
]
}, - "provisioning": {
- "enable": false,
- "defenderEnable": false,
- "supportTwin": true,
- "source": "manual",
- "method": "tpm",
- "connectionString": "string",
- "scopeId": "string",
- "symmetricKey": "string",
- "identityCert": "string",
- "identityPk": "string",
- "identityCertUuid": "string",
- "identityPkUuid": "string",
- "registrationId": "string",
- "endorsementKey": "string"
}, - "downstreamCerts": {
- "mode": "default",
- "caCertFile": "string",
- "caPkFile": "string",
- "trustedCaFile": "string",
- "caCertID": "string",
- "caPkID": "string",
- "trustedCaID": "string",
- "certificateInfo": {
- "issuer": "string",
- "notAfter": "string",
- "subject": {
- "cn": "string"
}
}
}
}
}get twin properties setting.
{- "data": {
- "device": {
- "general": [
- {
- "reportedPath": "general",
- "desiredPath": "general"
}
], - "wan": [
- {
- "reportedPath": "wan",
- "desiredPath": "wan"
}
]
}
}
}update twin properties setting.
object |
{- "device": {
- "general": [
- {
- "reportedPath": "general",
- "desiredPath": "general"
}
], - "wan": [
- {
- "reportedPath": "wan",
- "desiredPath": "wan"
}
]
}
}{- "data": {
- "device": {
- "general": [
- {
- "reportedPath": "general",
- "desiredPath": "general"
}
], - "wan": [
- {
- "reportedPath": "wan",
- "desiredPath": "wan"
}
]
}
}
}get azure iotedge service account list
{- "data": [
- {
- "name": "testapp",
- "displayname": "My Test APP",
- "source": "AzureIoTEdge",
- "addon": [
- {
- "id": "APP_TEST_RW",
- "name": "My test app permission"
}
], - "required": [
- "SYS_MANAGEMENT_RW",
- "SRV_AIE_RW"
]
}
]
}| name | string The name of the service. |
| displayName | string The display name of the service. |
| source | string The source that create this service. |
Array of objects The add-on permissions of the service. | |
| required | Array of strings The required permissions of the service |
{- "name": "testapp",
- "displayname": "My Test APP",
- "source": "AzureIoTEdge",
- "addon": [
- {
- "id": "APP_TEST_RW",
- "name": "My test app permission"
}
], - "required": [
- "SYS_MANAGEMENT_RW",
- "SRV_AIE_RW"
]
}{- "data": {
- "name": "testapp",
- "displayname": "My Test APP",
- "source": "AzureIoTEdge",
- "addon": [
- {
- "id": "APP_TEST_RW",
- "name": "My test app permission"
}
], - "required": [
- "SYS_MANAGEMENT_RW",
- "SRV_AIE_RW"
], - "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VyaWQiOi0xLCJOYW1lIjoiQXp1cmVJb1RFZGdlLzEyMzQ1ODkxMCIsIlNlcmlhbE51bWJ"
}
}| name required | string |
| displayName | string The display name of the service. |
Array of objects The add-on permissions of the service. | |
| required | Array of strings The required permissions of the service |
{- "name": "testapp",
- "displayname": "My Test APP",
- "source": "AzureIoTEdge",
- "addon": [
- {
- "id": "APP_TEST_RW",
- "name": "My test app permission"
}
], - "required": [
- "SYS_MANAGEMENT_RW",
- "SRV_AIE_RW"
]
}{- "data": {
- "name": "testapp",
- "displayname": "My Test APP",
- "source": "AzureIoTEdge",
- "addon": [
- {
- "id": "APP_TEST_RW",
- "name": "My test app permission"
}
], - "required": [
- "SYS_MANAGEMENT_RW",
- "SRV_AIE_RW"
]
}
}get azure iotedge service account list
{- "data": [
- {
- "name": "testapp",
- "displayname": "My Test APP",
- "source": "AzureIoTEdge",
- "addon": [
- {
- "id": "APP_TEST_RW",
- "name": "My test app permission"
}
], - "required": [
- "SYS_MANAGEMENT_RW",
- "SRV_AIE_RW"
]
}
]
}| name | string The name of the service. |
| displayName | string The display name of the service. |
| source | string The source that create this service. |
Array of objects The add-on permissions of the service. | |
| required | Array of strings The required permissions of the service |
{- "name": "testapp",
- "displayname": "My Test APP",
- "source": "AzureIoTEdge",
- "addon": [
- {
- "id": "APP_TEST_RW",
- "name": "My test app permission"
}
], - "required": [
- "SYS_MANAGEMENT_RW",
- "SRV_AIE_RW"
]
}{- "data": {
- "name": "testapp",
- "displayname": "My Test APP",
- "source": "AzureIoTEdge",
- "addon": [
- {
- "id": "APP_TEST_RW",
- "name": "My test app permission"
}
], - "required": [
- "SYS_MANAGEMENT_RW",
- "SRV_AIE_RW"
], - "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VyaWQiOi0xLCJOYW1lIjoiQXp1cmVJb1RFZGdlLzEyMzQ1ODkxMCIsIlNlcmlhbE51bWJ"
}
}| name required | string |
| displayName | string The display name of the service. |
Array of objects The add-on permissions of the service. | |
| required | Array of strings The required permissions of the service |
{- "name": "testapp",
- "displayname": "My Test APP",
- "source": "AzureIoTEdge",
- "addon": [
- {
- "id": "APP_TEST_RW",
- "name": "My test app permission"
}
], - "required": [
- "SYS_MANAGEMENT_RW",
- "SRV_AIE_RW"
]
}{- "data": {
- "name": "testapp",
- "displayname": "My Test APP",
- "source": "AzureIoTEdge",
- "addon": [
- {
- "id": "APP_TEST_RW",
- "name": "My test app permission"
}
], - "required": [
- "SYS_MANAGEMENT_RW",
- "SRV_AIE_RW"
]
}
}| tcpSlaveId required | string ID of tcpSlave. |
{- "data": {
- "tcpSlaveId": 0,
- "configId": 0,
- "slaveId": 1,
- "listenPort": 502,
- "maxRefTagQuan": 0,
- "maxRefTagByte": 0,
- "maxTagAndRefTagQuan": 0,
- "maxTagAndRefTagByte": 0,
- "customTagSrcName": "local_device",
- "keepAliveTime": 99,
- "name": "modbus_tcp_slave",
- "enable": 0,
- "szones": [
- {
- "szoneId": 0,
- "tcpSlaveId": 0,
- "dataFormat": 0,
- "address": 0,
- "quan": 1,
- "swap": 0,
- "fromRefTaglist": 0,
- "scalingFunc": 0,
- "interceptSlope": 1,
- "interceptOffset": 0,
- "pointSourceMin": 0,
- "pointSourceMax": 1,
- "pointTargetMin": 0,
- "pointTargetMax": 1,
- "tags": [
- {
- "tagId": 0,
- "szoneId": 0,
- "name": "tag",
- "dataType": "boolean",
- "dataUnit": "string",
- "access": "r",
- "dataSize": 1,
- "offset": 0
}
], - "refTags": [
- {
- "refTagId": 1,
- "szoneId": 1,
- "prvdName": "modbus_tcp_master",
- "srcName": "moxa-device",
- "tagName": "voltage",
- "dataType": "int32",
- "access": "w"
}
]
}
]
}
}The configuration which does not belong to the request would not be changed.
| tcpSlaveId required | string ID of tcpSlave. |
| slaveId | integer [ 1 .. 255 ] Default: 1 Modbus slave ID. |
| listenPort | integer [ 1 .. 65535 ] Default: 502 Modbus listen port. "listenPort + slaveId" should be unique. |
| keepAliveTime | integer [ 0 .. 99 ] Modbus tcp connection keep alive time. default is 1 for Laputa, RAN; 20 for TPE |
| name | string [ 1 .. 128 ] characters ^[\w\-.~]{1,128}$ Default: "modbus_tcp_slave" Provider name for full-tag name used. "name" should be unique. Allowed characters are ALPHA / DIGIT / "-" / "." / "_" / "~". |
| enable | integer Default: 1 Enum: 0 1 Enable for Modbus TCP slave. Default value is 0 for TPE, 1 for others. |
{- "slaveId": 1
}{- "data": {
- "tcpSlaveId": 0,
- "configId": 0,
- "slaveId": 1,
- "listenPort": 502,
- "keepAliveTime": 99,
- "name": "modbus_tcp_slave",
- "enable": 0,
- "szones": [
- {
- "szoneId": 0,
- "tcpSlaveId": 0,
- "dataFormat": 0,
- "address": 0,
- "quan": 1,
- "swap": 0,
- "fromRefTaglist": 0,
- "scalingFunc": 0,
- "interceptSlope": 1,
- "interceptOffset": 0,
- "pointSourceMin": 0,
- "pointSourceMax": 1,
- "pointTargetMin": 0,
- "pointTargetMax": 1,
- "tags": [
- {
- "tagId": 0,
- "szoneId": 0,
- "name": "tag",
- "dataType": "boolean",
- "dataUnit": "string",
- "access": "r",
- "dataSize": 1,
- "offset": 0
}
], - "refTags": [
- {
- "refTagId": 1,
- "szoneId": 1,
- "prvdName": "modbus_tcp_master",
- "srcName": "moxa-device",
- "tagName": "voltage",
- "dataType": "int32",
- "access": "w"
}
]
}
]
}
}{- "data": [
- {
- "szoneId": 1,
- "rowId": 0,
- "tcpSlaveId": 1,
- "dataFormat": 3,
- "address": 0,
- "quan": 1,
- "swap": 0,
- "fromRefTaglist": 1,
- "scalingFunc": 0,
- "interceptSlope": 1,
- "interceptOffset": 0,
- "pointSourceMin": 0,
- "pointSourceMax": 1,
- "pointTargetMin": 0,
- "pointTargetMax": 1,
- "tags": [ ],
- "refTags": [
- {
- "refTagId": 1,
- "szoneId": 1,
- "prvdName": "modbus_tcp_master",
- "srcName": "moxa-device",
- "tagName": "voltage",
- "access": "r",
- "dataType": "uint16"
}
]
}
]
}| delAll | string Value: "false" /szones?delAll=false would delete one or more szoneId(s) specified in the payload. |
szoneId(s) to be deleted.
| szoneId required | Array of integers |
{- "szoneId": [
- 1,
- 3,
- 4
]
}{- "error": {
- "message": "Key(szoneId) not found"
}
}Slave zone data.
| szoneId | integer Unique szone ID. |
| rowId | integer >= 1 For web sorting. Not used in TPE. |
| serSlaveId | integer Used as foreign key for szone table. |
| tcpSlaveId | integer Used as foreign key for szone table. |
| dataFormat | integer Default: 2 Enum: 0 1 2 3 Modbus data format.
|
| address | integer [ 0 .. 65535 ] Default: 0 Modbus start address, like Modbus command address, it used for tag mapping used. (TPE only - For refTags, -1 represent invalid) |
| quan | integer Default: 1 Modbus quantity for szone, like Modbus command quantity, it used for tag mapping used. |
| swap | integer (Modbus Module API_swapForSzone) Default: 0 Enum: 0 1 2 3 4 5 The swap mode for the tags and ref-tags of this szone.
|
| fromRefTaglist | integer Default: 0 Enum: 0 1 Determine the slave tag is reference from tag list or created by itself. |
| scalingFunc | integer Default: 0 Enum: 0 1 2 Modbus scaling function, (disable, intercept, point). |
| interceptSlope | number [ DOUBLE_MIN (-1.79e+308) .. DOUBLE_MAX (1.79e+308) ] Default: 1 Slope for intercept of Modbus scaling function. |
| interceptOffset | number [ DOUBLE_MIN (-1.79e+308) .. DOUBLE_MAX (1.79e+308) ] Default: 0 Offset for intercept of Modbus scaling function. |
| pointSourceMin | number [ DOUBLE_MIN (-1.79e+308) .. DOUBLE_MAX (1.79e+308) ] Default: 0 Source minimum value for point of Modbus scaling function. The value should not be equal to pointSourceMax. |
| pointSourceMax | number [ DOUBLE_MIN (-1.79e+308) .. DOUBLE_MAX (1.79e+308) ] Default: 1 Source maximum value for point of Modbus scaling function. The value should not be equal to pointSourceMin. |
| pointTargetMin | number [ DOUBLE_MIN (-1.79e+308) .. DOUBLE_MAX (1.79e+308) ] Default: 0 Target minimum value for point of Modbus scaling function. |
| pointTargetMax | number [ DOUBLE_MIN (-1.79e+308) .. DOUBLE_MAX (1.79e+308) ] Default: 1 Target maximum value for point of Modbus scaling function. |
Array of objects (Modbus Module API_tagsForSzones) | |
Array of objects (Modbus Module API_refTags) |
[- {
- "szoneId": 1,
- "rowId": 1,
- "tcpSlaveId": 1,
- "dataFormat": 2,
- "address": 0,
- "quan": 1,
- "swap": 0,
- "fromRefTaglist": 1
}
]{- "data": {
- "szoneId": 1,
- "rowId": 1,
- "serSlaveId": 1,
- "tcpSlaveId": 0,
- "dataFormat": 2,
- "address": 0,
- "quan": 10,
- "swap": 0,
- "fromRefTaglist": 0,
- "scalingFunc": 1,
- "interceptSlope": 1,
- "interceptOffset": 0,
- "pointSourceMin": 0,
- "pointSourceMax": 1,
- "pointTargetMin": 1,
- "pointTargetMax": 2,
- "tags": [
- {
- "tagId": 1,
- "szoneId": 1,
- "mcmdId": 1,
- "name": "read_command_tag1",
- "dataType": "raw",
- "dataUnit": "%",
- "access": "rw",
- "dataSize": 20,
- "offset": 0
}
]
}
}{- "data": {
- "szoneId": 1,
- "rowId": 0,
- "tcpSlaveId": 1,
- "dataFormat": 3,
- "address": 0,
- "quan": 1,
- "swap": 0,
- "fromRefTaglist": 1,
- "tags": [ ],
- "refTags": [
- {
- "refTagId": 1,
- "szoneId": 1,
- "prvdName": "modbus_tcp_master",
- "srcName": "moxa-device",
- "tagName": "voltage",
- "access": "r",
- "dataType": "uint16"
}
]
}
}The configuration which does not belong to the request would not be changed.
| szoneId required | string ID of szone. |
| autoCreate | string Value: "tags" /szones?autoCreate=tags would create tags automatically. dataType must be added in payload. |
| rowId | integer >= 1 For web sorting. Not used in TPE. |
| serSlaveId | integer Used as foreign key for szone table. |
| tcpSlaveId | integer Used as foreign key for szone table. |
| dataFormat | integer Default: 2 Enum: 0 1 2 3 Modbus data format.
|
| address | integer [ 0 .. 65535 ] Default: 0 Modbus start address, like Modbus command address, it used for tag mapping used. |
| quan | integer Default: 1 Modbus quantity for szone, like Modbus command quantity, it used for tag mapping used. |
| swap | integer (Modbus Module API_swapForSzone) Default: 0 Enum: 0 1 2 3 4 5 The swap mode for the tags and ref-tags of this szone.
|
| fromRefTaglist | integer Default: 0 Enum: 0 1 Determine the slave tag is reference from tag list or created by itself. |
| scalingFunc | integer Default: 0 Enum: 0 1 2 Modbus scaling function, (disable, intercept, point). |
| interceptSlope | number [ DOUBLE_MIN (-1.79e+308) .. DOUBLE_MAX (1.79e+308) ] Default: 1 Slope for intercept of Modbus scaling function. |
| interceptOffset | number [ DOUBLE_MIN (-1.79e+308) .. DOUBLE_MAX (1.79e+308) ] Default: 0 Offset for intercept of Modbus scaling function. |
| pointSourceMin | number [ DOUBLE_MIN (-1.79e+308) .. DOUBLE_MAX (1.79e+308) ] Default: 0 Source minimum value for point of Modbus scaling function. The value should not be equal to pointSourceMax. |
| pointSourceMax | number [ DOUBLE_MIN (-1.79e+308) .. DOUBLE_MAX (1.79e+308) ] Default: 1 Source maximum value for point of Modbus scaling function. The value should not be equal to pointSourceMin. |
| pointTargetMin | number [ DOUBLE_MIN (-1.79e+308) .. DOUBLE_MAX (1.79e+308) ] Default: 0 Target minimum value for point of Modbus scaling function. |
| pointTargetMax | number [ DOUBLE_MIN (-1.79e+308) .. DOUBLE_MAX (1.79e+308) ] Default: 1 Target maximum value for point of Modbus scaling function. |
{- "serSlaveId": 1,
- "dataFormat": 0,
- "address": 0,
- "quan": 10
}{- "data": {
- "szoneId": 1,
- "rowId": 0,
- "tcpSlaveId": 1,
- "dataFormat": 3,
- "address": 0,
- "quan": 1,
- "swap": 0,
- "fromRefTaglist": 1,
- "tags": [ ],
- "refTags": [
- {
- "refTagId": 1,
- "szoneId": 1,
- "prvdName": "modbus_tcp_master",
- "srcName": "moxa-device",
- "tagName": "voltage",
- "access": "r",
- "dataType": "uint16"
}
]
}
}sequence of szoneId
| dataFormat required | integer Enum: 0 1 2 3 Data format to be rearranged.
|
required | Array of objects (Modbus Module API_szone_sequence) Sequence of szoneId for specific data format |
{- "dataFormat": 0,
- "sequence": [
- {
- "szoneId": 2
}, - {
- "szoneId": 3
}, - {
- "szoneId": 1
}
]
}{- "data": [
- {
- "szoneId": 2,
- "tcpSlaveId": 1,
- "dataFormat": 3,
- "address": 0,
- "quan": 10,
- "swap": 0,
- "fromRefTaglist": 1,
- "tags": [ ],
- "refTags": [
- {
- "refTagId": 2,
- "szoneId": 2,
- "prvdName": "modbus_tcp_master",
- "srcName": "dev1",
- "tagName": "tag2",
- "access": "r",
- "dataType": "raw",
- "dataSize": 20
}
]
}, - {
- "szoneId": 1,
- "tcpSlaveId": 1,
- "dataFormat": 3,
- "address": 10,
- "quan": 4,
- "swap": 0,
- "fromRefTaglist": 1,
- "tags": [ ],
- "refTags": [
- {
- "refTagId": 1,
- "szoneId": 1,
- "prvdName": "modbus_tcp_master",
- "srcName": "dev1",
- "tagName": "tag1",
- "access": "r",
- "dataType": "int64"
}
]
}, - {
- "szoneId": 3,
- "tcpSlaveId": 1,
- "dataFormat": 3,
- "address": -1,
- "quan": 10,
- "swap": 0,
- "fromRefTaglist": 1,
- "tags": [ ],
- "refTags": [
- {
- "refTagId": 3,
- "szoneId": 3,
- "prvdName": "modbus_tcp_master",
- "srcName": "dev1",
- "tagName": "tag3",
- "access": "r",
- "dataType": "raw",
- "dataSize": 20
}
]
}
]
}system log level.
| logLevel | string (Modbus Module API_log_level_str) Enum: "ALL" "TRACE" "DEBUG" "INFO" "WARN" "ERROR" "FATAL" "OFF" system log level. |
{- "logLevel": "DEBUG"
}{- "error": {
- "message": "get 'level' parameter failed"
}
}{- "data": [
- {
- "masterTcpIfaceId": 0,
- "tcpMasterId": 0,
- "initialDelay": 0,
- "retryCount": 3,
- "responseTout": 1000,
- "remoteDevs": [
- {
- "remoteDevId": 0,
- "masterTcpIfaceId": 0,
- "name": "device",
- "enable": 0,
- "slaveId": 1,
- "slaveIpaddr": "0.0.0.0",
- "slaveTcpPort": 502,
- "enableConcurrentTransaction": 0,
- "numberMaxOfTransaction": 8,
- "mcmds": [
- {
- "mcmdId": 1,
- "remoteDevId": 2,
- "name": "read_command_1",
- "mode": 1,
- "func": 3,
- "readAddress": 0,
- "readQuantity": 10,
- "writeAddress": 0,
- "writeQuantity": 1,
- "pollInterval": 100,
- "swap": 0,
- "fpFunc": 0,
- "fpTout": 60000,
- "fpData": "00 00",
- "stFunc": 0,
- "stData": "00 00",
- "scalingFunc": 0,
- "interceptSlope": 1,
- "interceptOffset": 0,
- "pointSourceMin": 0,
- "pointSourceMax": 1,
- "pointTargetMin": 0,
- "pointTargetMax": 1,
- "tags": [
- {
- "tagId": 1,
- "szoneId": 1,
- "mcmdId": 1,
- "name": "read_command_tag1",
- "dataType": "raw",
- "dataUnit": "%",
- "access": "r",
- "dataSize": 20,
- "offset": 0
}
]
}
]
}
]
}
]
}| masterTcpIfaceId required | integer ID of TCP. |
{- "data": {
- "masterTcpIfaceId": 0,
- "tcpMasterId": 0,
- "initialDelay": 0,
- "retryCount": 3,
- "responseTout": 1000,
- "remoteDevs": [
- {
- "remoteDevId": 0,
- "masterTcpIfaceId": 0,
- "name": "device",
- "enable": 0,
- "slaveId": 1,
- "slaveIpaddr": "0.0.0.0",
- "slaveTcpPort": 502,
- "enableConcurrentTransaction": 0,
- "numberMaxOfTransaction": 8,
- "mcmds": [
- {
- "mcmdId": 1,
- "remoteDevId": 2,
- "name": "read_command_1",
- "mode": 1,
- "func": 3,
- "readAddress": 0,
- "readQuantity": 10,
- "writeAddress": 0,
- "writeQuantity": 1,
- "pollInterval": 100,
- "swap": 0,
- "fpFunc": 0,
- "fpTout": 60000,
- "fpData": "00 00",
- "stFunc": 0,
- "stData": "00 00",
- "scalingFunc": 0,
- "interceptSlope": 1,
- "interceptOffset": 0,
- "pointSourceMin": 0,
- "pointSourceMax": 1,
- "pointTargetMin": 0,
- "pointTargetMax": 1,
- "tags": [
- {
- "tagId": 1,
- "szoneId": 1,
- "mcmdId": 1,
- "name": "read_command_tag1",
- "dataType": "raw",
- "dataUnit": "%",
- "access": "r",
- "dataSize": 20,
- "offset": 0
}
]
}
]
}
]
}
}The configuration which does not belong to the request would be the default value.
| masterTcpIfaceId required | integer ID of TCP. |
| masterTcpIfaceId | integer master TCP interface ID. |
| tcpMasterId required | integer Used as foreign key for master TCP table. |
| initialDelay | integer [ 0 .. 30000 ] Default: 0 When Modbus module start, activate the TCP master after initial delay time (ms). |
| retryCount | integer [ 0 .. 5 ] Default: 3 Modbus retry count. When Modbus command does not get response, resend the command by define times. |
| responseTout | integer [ 10 .. 120000 ] Default: 1000 Modbus response timeout. Modbus master wait the request command time for response (ms). |
Array of objects (Modbus Module API_remoteDevsForTcp) |
{- "tcpMasterId": 1,
- "initialDelay": 0,
- "retryCount": 3,
- "responseTout": 1000
}{- "data": {
- "masterTcpIfaceId": 0,
- "tcpMasterId": 0,
- "initialDelay": 0,
- "retryCount": 3,
- "responseTout": 1000,
- "remoteDevs": [
- {
- "remoteDevId": 0,
- "masterTcpIfaceId": 0,
- "name": "device",
- "enable": 0,
- "slaveId": 1,
- "slaveIpaddr": "0.0.0.0",
- "slaveTcpPort": 502,
- "enableConcurrentTransaction": 0,
- "numberMaxOfTransaction": 8,
- "mcmds": [
- {
- "mcmdId": 1,
- "remoteDevId": 2,
- "name": "read_command_1",
- "mode": 1,
- "func": 3,
- "readAddress": 0,
- "readQuantity": 10,
- "writeAddress": 0,
- "writeQuantity": 1,
- "pollInterval": 100,
- "swap": 0,
- "fpFunc": 0,
- "fpTout": 60000,
- "fpData": "00 00",
- "stFunc": 0,
- "stData": "00 00",
- "scalingFunc": 0,
- "interceptSlope": 1,
- "interceptOffset": 0,
- "pointSourceMin": 0,
- "pointSourceMax": 1,
- "pointTargetMin": 0,
- "pointTargetMax": 1,
- "tags": [
- {
- "tagId": 1,
- "szoneId": 1,
- "mcmdId": 1,
- "name": "read_command_tag1",
- "dataType": "raw",
- "dataUnit": "%",
- "access": "r",
- "dataSize": 20,
- "offset": 0
}
]
}
]
}
]
}
}The configuration which does not belong to the request would not be changed.
| masterTcpIfaceId required | integer ID of TCP. |
| masterTcpIfaceId | integer master TCP interface ID. |
| tcpMasterId required | integer Used as foreign key for master TCP table. |
| initialDelay | integer [ 0 .. 30000 ] Default: 0 When Modbus module start, activate the TCP master after initial delay time (ms). |
| retryCount | integer [ 0 .. 5 ] Default: 3 Modbus retry count. When Modbus command does not get response, resend the command by define times. |
| responseTout | integer [ 10 .. 120000 ] Default: 1000 Modbus response timeout. Modbus master wait the request command time for response (ms). |
Array of objects (Modbus Module API_remoteDevsForTcp) |
{- "tcpMasterId": 1,
- "initialDelay": 0,
- "retryCount": 3,
- "responseTout": 1000
}{- "data": {
- "masterTcpIfaceId": 0,
- "tcpMasterId": 0,
- "initialDelay": 0,
- "retryCount": 3,
- "responseTout": 1000,
- "remoteDevs": [
- {
- "remoteDevId": 0,
- "masterTcpIfaceId": 0,
- "name": "device",
- "enable": 0,
- "slaveId": 1,
- "slaveIpaddr": "0.0.0.0",
- "slaveTcpPort": 502,
- "enableConcurrentTransaction": 0,
- "numberMaxOfTransaction": 8,
- "mcmds": [
- {
- "mcmdId": 1,
- "remoteDevId": 2,
- "name": "read_command_1",
- "mode": 1,
- "func": 3,
- "readAddress": 0,
- "readQuantity": 10,
- "writeAddress": 0,
- "writeQuantity": 1,
- "pollInterval": 100,
- "swap": 0,
- "fpFunc": 0,
- "fpTout": 60000,
- "fpData": "00 00",
- "stFunc": 0,
- "stData": "00 00",
- "scalingFunc": 0,
- "interceptSlope": 1,
- "interceptOffset": 0,
- "pointSourceMin": 0,
- "pointSourceMax": 1,
- "pointTargetMin": 0,
- "pointTargetMax": 1,
- "tags": [
- {
- "tagId": 1,
- "szoneId": 1,
- "mcmdId": 1,
- "name": "read_command_tag1",
- "dataType": "raw",
- "dataUnit": "%",
- "access": "r",
- "dataSize": 20,
- "offset": 0
}
]
}
]
}
]
}
}{- "data": [
- {
- "masterSerIfaceId": 0,
- "serMasterId": 0,
- "portValue": 0,
- "format": 0,
- "initialDelay": 0,
- "retryCount": 3,
- "responseTout": 1000,
- "frameInterval": 0,
- "charInterval": 0,
- "remoteDevs": [
- {
- "remoteDevId": 0,
- "masterSerIfaceId": 0,
- "name": "device",
- "enable": 0,
- "slaveId": 1,
- "slaveIpaddr": "0.0.0.0",
- "slaveTcpPort": 502,
- "enableConcurrentTransaction": 0,
- "numberMaxOfTransaction": 8,
- "mcmds": [
- {
- "mcmdId": 1,
- "remoteDevId": 2,
- "name": "read_command_1",
- "mode": 1,
- "func": 3,
- "readAddress": 0,
- "readQuantity": 10,
- "writeAddress": 0,
- "writeQuantity": 1,
- "pollInterval": 100,
- "swap": 0,
- "fpFunc": 0,
- "fpTout": 60000,
- "fpData": "00 00",
- "stFunc": 0,
- "stData": "00 00",
- "scalingFunc": 0,
- "interceptSlope": 1,
- "interceptOffset": 0,
- "pointSourceMin": 0,
- "pointSourceMax": 1,
- "pointTargetMin": 0,
- "pointTargetMax": 1,
- "tags": [
- {
- "tagId": 1,
- "szoneId": 1,
- "mcmdId": 1,
- "name": "read_command_tag1",
- "dataType": "raw",
- "dataUnit": "%",
- "access": "r",
- "dataSize": 20,
- "offset": 0
}
]
}
]
}
]
}
]
}| masterSerIfaceId required | integer ID of port. |
{- "data": {
- "masterSerIfaceId": 0,
- "serMasterId": 0,
- "portValue": 0,
- "format": 0,
- "initialDelay": 0,
- "retryCount": 3,
- "responseTout": 1000,
- "frameInterval": 0,
- "charInterval": 0,
- "remoteDevs": [
- {
- "remoteDevId": 0,
- "masterSerIfaceId": 0,
- "name": "device",
- "enable": 0,
- "slaveId": 1,
- "slaveIpaddr": "0.0.0.0",
- "slaveTcpPort": 502,
- "enableConcurrentTransaction": 0,
- "numberMaxOfTransaction": 8,
- "mcmds": [
- {
- "mcmdId": 1,
- "remoteDevId": 2,
- "name": "read_command_1",
- "mode": 1,
- "func": 3,
- "readAddress": 0,
- "readQuantity": 10,
- "writeAddress": 0,
- "writeQuantity": 1,
- "pollInterval": 100,
- "swap": 0,
- "fpFunc": 0,
- "fpTout": 60000,
- "fpData": "00 00",
- "stFunc": 0,
- "stData": "00 00",
- "scalingFunc": 0,
- "interceptSlope": 1,
- "interceptOffset": 0,
- "pointSourceMin": 0,
- "pointSourceMax": 1,
- "pointTargetMin": 0,
- "pointTargetMax": 1,
- "tags": [
- {
- "tagId": 1,
- "szoneId": 1,
- "mcmdId": 1,
- "name": "read_command_tag1",
- "dataType": "raw",
- "dataUnit": "%",
- "access": "r",
- "dataSize": 20,
- "offset": 0
}
]
}
]
}
]
}
}The configuration which does not belong to the request would not be changed.
| masterSerIfaceId required | integer ID of port. |
| masterSerIfaceId | integer Master serial interface ID. |
| serMasterId required | integer Used as foreign key for master serial interface table. |
| portValue required | integer Serial port index which should be unique. |
| format | integer Default: 0 Enum: 0 1 Modbus serial mode (RTU, ASCII). |
| initialDelay | integer [ 0 .. 30000 ] Default: 0 When Modbus module start, activate the serial master after initial delay time (ms). |
| retryCount | integer [ 0 .. 5 ] Default: 3 Modbus retry count. When Modbus command does not get response, resend the command by define times. |
| responseTout | integer [ 10 .. 120000 ] Default: 1000 Modbus response timeout. Modbus master wait the request command time for response (ms). |
integer or integer Default: 0 Modbus frame interval (t3.5), 0 is used by auto baud rate setting (ms). | |
integer or integer Default: 0 Modbus char interval (t1.5), 0 is used by auto baud rate setting (ms). | |
Array of objects (Modbus Module API_remoteDevsForSer) |
{- "serMasterId": 1,
- "portValue": 0,
- "format": 0,
- "initialDelay": 0,
- "retryCount": 3,
- "responseTout": 1000,
- "frameInterval": 0,
- "charInterval": 0
}{- "data": {
- "masterSerIfaceId": 0,
- "serMasterId": 0,
- "portValue": 0,
- "format": 0,
- "initialDelay": 0,
- "retryCount": 3,
- "responseTout": 1000,
- "frameInterval": 0,
- "charInterval": 0,
- "remoteDevs": [
- {
- "remoteDevId": 0,
- "masterSerIfaceId": 0,
- "name": "device",
- "enable": 0,
- "slaveId": 1,
- "slaveIpaddr": "0.0.0.0",
- "slaveTcpPort": 502,
- "enableConcurrentTransaction": 0,
- "numberMaxOfTransaction": 8,
- "mcmds": [
- {
- "mcmdId": 1,
- "remoteDevId": 2,
- "name": "read_command_1",
- "mode": 1,
- "func": 3,
- "readAddress": 0,
- "readQuantity": 10,
- "writeAddress": 0,
- "writeQuantity": 1,
- "pollInterval": 100,
- "swap": 0,
- "fpFunc": 0,
- "fpTout": 60000,
- "fpData": "00 00",
- "stFunc": 0,
- "stData": "00 00",
- "scalingFunc": 0,
- "interceptSlope": 1,
- "interceptOffset": 0,
- "pointSourceMin": 0,
- "pointSourceMax": 1,
- "pointTargetMin": 0,
- "pointTargetMax": 1,
- "tags": [
- {
- "tagId": 1,
- "szoneId": 1,
- "mcmdId": 1,
- "name": "read_command_tag1",
- "dataType": "raw",
- "dataUnit": "%",
- "access": "r",
- "dataSize": 20,
- "offset": 0
}
]
}
]
}
]
}
}| mastersFile | string Modbus masters csv file. |
{- "data": [
- {
- "configId": 0,
- "masterParams": [
- {
- "masterParamId": 0,
- "configId": 0,
- "enableTcpMasters": 0,
- "enableSerMasters": 0,
- "enableDevFailEvent": 0,
- "enableCmdFailEvent": 0
}
], - "tcpMasters": {
- "data": [
- {
- "tcpMasterId": 0,
- "configId": 0,
- "name": "modbus_tcp_master",
- "masterTcpIfaces": [
- {
- "masterTcpIfaceId": 0,
- "tcpMasterId": 0,
- "initialDelay": 0,
- "retryCount": 3,
- "responseTout": 1000,
- "remoteDevs": [
- {
- "remoteDevId": null,
- "masterTcpIfaceId": null,
- "name": null,
- "enable": null,
- "slaveId": null,
- "slaveIpaddr": null,
- "slaveTcpPort": null,
- "enableConcurrentTransaction": null,
- "numberMaxOfTransaction": null,
- "mcmds": null
}
]
}
]
}
]
}, - "serMasters": {
- "data": [
- {
- "serMasterId": 0,
- "configId": 0,
- "name": "modbus_serial_master",
- "masterSerIfaces": [
- {
- "masterSerIfaceId": 0,
- "serMasterId": 0,
- "portValue": 0,
- "format": 0,
- "initialDelay": 0,
- "retryCount": 3,
- "responseTout": 1000,
- "frameInterval": 0,
- "charInterval": 0,
- "remoteDevs": [
- {
- "remoteDevId": null,
- "masterSerIfaceId": null,
- "name": null,
- "enable": null,
- "slaveId": null,
- "slaveIpaddr": null,
- "slaveTcpPort": null,
- "enableConcurrentTransaction": null,
- "numberMaxOfTransaction": null,
- "mcmds": null
}
]
}
]
}
]
}
}
], - "count": 0
}| mcmdsFile | string Master command csv file. |
| remoteDevId | any Remote device ID. |
{- "data": [
- [
- {
- "mcmdId": 1,
- "remoteDevId": 2,
- "name": "read_command_1",
- "mode": 1,
- "func": 3,
- "readAddress": 0,
- "readQuantity": 10,
- "writeAddress": 0,
- "writeQuantity": 1,
- "pollInterval": 100,
- "swap": 0,
- "fpFunc": 0,
- "fpTout": 60000,
- "fpData": "00 00",
- "stFunc": 0,
- "stData": "00 00",
- "scalingFunc": 0,
- "interceptSlope": 1,
- "interceptOffset": 0,
- "pointSourceMin": 0,
- "pointSourceMax": 1,
- "pointTargetMin": 0,
- "pointTargetMax": 1,
- "tags": [
- {
- "tagId": 1,
- "szoneId": 1,
- "mcmdId": 1,
- "name": "read_command_tag1",
- "dataType": "raw",
- "dataUnit": "%",
- "access": "r",
- "dataSize": 20,
- "offset": 0
}
]
}
]
], - "count": 0
}system log level.
| logLevel | string (Modbus Module API_log_level_str) Enum: "ALL" "TRACE" "DEBUG" "INFO" "WARN" "ERROR" "FATAL" "OFF" system log level. |
{- "logLevel": "DEBUG"
}{- "error": {
- "message": "get 'level' parameter failed"
}
}