Available Resources Reference
This document provides comprehensive documentation for all available API resources in the mPower Edge Intelligence platform.
Overview
Resources are queried using the GET /api?fields=<resource> endpoint and updated via PUT /api/<resource>. Multiple resources can be queried in a single request using comma separation.
# Query single resource
GET /api?fields=system
# Query multiple resources
GET /api?fields=system,cellular,users
# Query nested field
GET /api?fields=system/capabilities
Table of Contents
- Core System Resources
- Network Resources
- Cellular Resources
- VPN Resources
- IoT Protocol Resources
- Device Management Resources
- Communication Resources
- Security Resources
- Monitoring Resources
- Notification Resources
Core System Resources
system
Device information, capabilities, and system settings.
Endpoints:
GET /api?fields=system- Get system informationPUT /api/system- Update system settings
Key Properties:
| Property | Type | Description |
|———-|——|————-|
| deviceName | string | User-defined device name |
| deviceHostname | string | Device hostname |
| serialNumber | string | Device serial number (read-only) |
| firmware | object | Firmware version information |
| capabilities | object | Device hardware capabilities |
| dbDirty | boolean | Unsaved configuration changes exist |
| apiVersion | string | API version string |
Example - Get System Information:
curl -X GET "http://192.168.2.1/api?fields=system" -b cookies.txt
Response:
{
"success": true,
"result": {
"system": {
"deviceName": "My Gateway",
"deviceHostname": "mtcdt",
"serialNumber": "123456789",
"productId": "MTCDT-247A",
"firmware": {
"version": "6.3.0",
"date": "2025-01-15"
},
"capabilities": {
"cellular": true,
"wifi": true,
"lora": true,
"gps": true,
"bluetooth": true
},
"dbDirty": false,
"apiVersion": "1.0"
}
}
}
Example - Update Device Name:
curl -X PUT http://192.168.2.1/api/system \
-H "Content-Type: application/json" \
-d '{"deviceName": "Production Gateway 01"}' \
-b cookies.txt
status
System status notifications and alerts.
Endpoints:
GET /api?fields=status- Get all status notificationsDELETE /api/status/{guid}- Clear a specific notification
Key Properties:
| Property | Type | Description |
|———-|——|————-|
| guid | string | Unique notification identifier |
| type | string | Notification type (info, warning, error) |
| message | string | Notification message |
| timestamp | string | When the notification was generated |
Example - Get Status Notifications:
curl -X GET "http://192.168.2.1/api?fields=status" -b cookies.txt
Example - Clear Notification:
curl -X DELETE http://192.168.2.1/api/status/550e8400-e29b-41d4-a716-446655440000 \
-b cookies.txt
users
User account management.
Endpoints:
GET /api?fields=users- List all usersGET /api?fields=users/{username}- Get specific userPOST /api/users- Create new userPUT /api/users/{username}- Update userDELETE /api/users/{username}- Delete user
Key Properties:
| Property | Type | Description |
|———-|——|————-|
| name | string | Username (login name) |
| password | string | Password (write-only) |
| permission | string | Role: admin, user, guest |
| firstName | string | First name |
| lastName | string | Last name |
| email | string | Email address |
| enabled | boolean | Account enabled status |
Example - Create User:
curl -X POST http://192.168.2.1/api/users \
-H "Content-Type: application/json" \
-d '{
"name": "engineer1",
"password": "SecurePass123!",
"permission": "user",
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"enabled": true
}' \
-b cookies.txt
Example - Update User:
curl -X PUT http://192.168.2.1/api/users/engineer1 \
-H "Content-Type: application/json" \
-d '{"email": "new.email@example.com"}' \
-b cookies.txt
customRoles
Custom role definitions for fine-grained access control.
Endpoints:
GET /api?fields=customRoles- List custom rolesPOST /api/customRoles- Create custom rolePUT /api/customRoles/{roleId}- Update custom roleDELETE /api/customRoles/{roleId}- Delete custom role
permissions
Permission matrix for resources and operations.
Endpoints:
GET /api?fields=permissions- Get permission definitions
autoReboot
Automatic reboot scheduler configuration.
Endpoints:
GET /api?fields=autoReboot- Get auto-reboot settingsPUT /api/autoReboot- Update auto-reboot settings
Key Properties:
| Property | Type | Description |
|———-|——|————-|
| enabled | boolean | Enable scheduled reboots |
| schedule | object | Cron-style schedule definition |
| timezone | string | Timezone for scheduling |
Example:
curl -X PUT http://192.168.2.1/api/autoReboot \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"schedule": {
"dayOfWeek": "sunday",
"hour": 3,
"minute": 0
}
}' \
-b cookies.txt
brand
White-label branding configuration.
Endpoints:
GET /api?fields=brand- Get branding settingsPUT /api/brand- Update branding
resetButton
Physical reset button behavior configuration.
Endpoints:
GET /api?fields=resetButton- Get reset button settingsPUT /api/resetButton- Update reset button settings
Network Resources
cellular
Cellular connectivity configuration.
Endpoints:
GET /api?fields=cellular- Get cellular configurationPUT /api/cellular- Update cellular configuration
Key Properties:
| Property | Type | Description |
|———-|——|————-|
| enabled | boolean | Enable cellular connection |
| providerProfiles | array | Carrier/APN configurations |
| simProfiles | array | SIM card configurations |
| connectionMode | string | Connection mode (always-on, on-demand) |
Example - Configure Cellular:
curl -X PUT http://192.168.2.1/api/cellular \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"providerProfiles": [{
"_id": "550e8400-e29b-41d4-a716-446655440000",
"profileName": "AT&T",
"cellularMode": "4g-preferred",
"dataCtx": {
"apnString": "broadband",
"contextIpMode": "AUTO",
"authentication": {
"type": "NONE"
}
}
}],
"simProfiles": [{
"_id": "550e8400-e29b-41d4-a716-446655440001",
"profileName": "Primary SIM",
"providerProfileId": "550e8400-e29b-41d4-a716-446655440000",
"simIccid": "ANY"
}]
}' \
-b cookies.txt
wifi
WiFi access point and client configuration.
Endpoints:
GET /api?fields=wifi- Get WiFi configurationPUT /api/wifi- Update WiFi configuration
Key Properties:
| Property | Type | Description |
|———-|——|————-|
| ap | object | Access point settings |
| client | object | WiFi client settings |
| enabled | boolean | Enable WiFi |
Example - Configure WiFi AP:
curl -X PUT http://192.168.2.1/api/wifi \
-H "Content-Type: application/json" \
-d '{
"ap": {
"enabled": true,
"ssid": "MyGateway-WiFi",
"security": {
"mode": "WPA2",
"passphrase": "SecurePassword123"
},
"channel": 6
}
}' \
-b cookies.txt
dns
DNS server configuration.
Endpoints:
GET /api?fields=dns- Get DNS configurationPUT /api/dns- Update DNS configuration
Example:
curl -X PUT http://192.168.2.1/api/dns \
-H "Content-Type: application/json" \
-d '{
"primary": "8.8.8.8",
"secondary": "8.8.4.4"
}' \
-b cookies.txt
dhcp
DHCP server configuration.
Endpoints:
GET /api?fields=dhcp- Get DHCP configurationPUT /api/dhcp- Update DHCP configuration
Key Properties:
| Property | Type | Description |
|———-|——|————-|
| enabled | boolean | Enable DHCP server |
| startIp | string | DHCP pool start address |
| endIp | string | DHCP pool end address |
| leaseTime | integer | Lease time in seconds |
| staticLeases | array | Static DHCP reservations |
Example:
curl -X PUT http://192.168.2.1/api/dhcp \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"startIp": "192.168.2.100",
"endIp": "192.168.2.200",
"leaseTime": 86400
}' \
-b cookies.txt
ni
Network interfaces configuration.
Endpoints:
GET /api?fields=ni- Get all network interfacesGET /api/ni/nis/{index}- Get specific interface by indexPUT /api/ni/nis/{index}- Update specific interface
Key Properties:
| Property | Type | Description |
|———-|——|————-|
| name | string | Interface name (eth0, br0, etc.) |
| nitype | string | Interface type (ETHERNET, BRIDGE, etc.) |
| type | string | WAN or LAN |
| ipv4 | object | IPv4 configuration |
| ipv6 | object | IPv6 configuration |
Example - Update BR0 Bridge:
curl -X PUT http://192.168.2.1/api/ni/nis/6 \
-H "Content-Type: application/json" \
-d '{
"ipv4": {
"mode": "STATIC",
"ip": "192.168.100.1",
"mask": "255.255.255.0",
"gateway": "",
"dns1": "8.8.8.8"
}
}' \
-b cookies.txt
routes
Static routing configuration.
Endpoints:
GET /api?fields=routes- Get static routesPUT /api/routes- Update static routesPOST /api/routes- Add static routeDELETE /api/routes/{id}- Delete static route
Example:
curl -X POST http://192.168.2.1/api/routes \
-H "Content-Type: application/json" \
-d '{
"destination": "10.0.0.0",
"netmask": "255.0.0.0",
"gateway": "192.168.2.254",
"interface": "eth0",
"metric": 100
}' \
-b cookies.txt
firewall
Firewall rules configuration.
Endpoints:
GET /api?fields=firewall- Get firewall rulesPUT /api/firewall- Update firewall rules
See NAT & Firewall Schemas for detailed documentation.
nat
NAT and port forwarding configuration.
Endpoints:
GET /api?fields=nat- Get NAT configurationPUT /api/nat- Update NAT configuration
See NAT & Firewall Schemas for detailed documentation.
wanmngr
WAN failover and load balancing configuration.
Endpoints:
GET /api?fields=wanmngr- Get WAN manager configurationPUT /api/wanmngr- Update WAN manager configuration
Key Properties:
| Property | Type | Description |
|———-|——|————-|
| mode | string | FAILOVER or LOADBALANCE |
| wans | array | WAN interface configurations with priorities |
See WAN Failover Guide for detailed documentation.
Example:
curl -X PUT http://192.168.2.1/api/wanmngr \
-H "Content-Type: application/json" \
-d '{
"mode": "FAILOVER",
"wans": [
{"interface": "eth0", "priority": 1},
{"interface": "ppp0", "priority": 2}
]
}' \
-b cookies.txt
waninfo
Real-time WAN interface status (read-only).
Endpoints:
GET /api?fields=waninfo- Get current WAN status
ipPassthrough
IP passthrough/bridge mode configuration.
Endpoints:
GET /api?fields=ipPassthrough- Get IP passthrough settingsPUT /api/ipPassthrough- Update IP passthrough settings
ddns
Dynamic DNS configuration.
Endpoints:
GET /api?fields=ddns- Get DDNS configurationPUT /api/ddns- Update DDNS configuration
Example:
curl -X PUT http://192.168.2.1/api/ddns \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"provider": "dyndns",
"hostname": "mygateway.dyndns.org",
"username": "user",
"password": "pass"
}' \
-b cookies.txt
lldp
Link Layer Discovery Protocol configuration.
Endpoints:
GET /api?fields=lldp- Get LLDP settingsPUT /api/lldp- Update LLDP settings
mdns
Multicast DNS (Bonjour/Avahi) configuration.
Endpoints:
GET /api?fields=mdns- Get mDNS settingsPUT /api/mdns- Update mDNS settings
Cellular Resources
backOffTimers
Carrier-specific cellular reconnection back-off timers.
Endpoints:
GET /api?fields=backOffTimers- Get back-off timer configurationPUT /api/backOffTimers- Update back-off timers
cellTimeSync
Cellular network time synchronization.
Endpoints:
GET /api?fields=cellTimeSync- Get cellular time sync settingsPUT /api/cellTimeSync- Update cellular time sync settings
VPN Resources
ovpnTunnels
OpenVPN tunnel configuration.
Endpoints:
GET /api?fields=ovpnTunnels- Get OpenVPN tunnelsPUT /api/ovpnTunnels- Update OpenVPN tunnelsPOST /api/ovpnTunnels- Create OpenVPN tunnelDELETE /api/ovpnTunnels/{id}- Delete OpenVPN tunnel
See VPN Schemas for detailed documentation.
ipsecTunnels
IPsec tunnel configuration.
Endpoints:
GET /api?fields=ipsecTunnels- Get IPsec tunnelsPUT /api/ipsecTunnels- Update IPsec tunnels
See VPN Schemas for detailed documentation.
greTunnels
GRE tunnel configuration.
Endpoints:
GET /api?fields=greTunnels- Get GRE tunnelsPUT /api/greTunnels- Update GRE tunnels
See VPN Schemas for detailed documentation.
IoT Protocol Resources
loraNetwork
LoRa network server configuration (200+ properties).
Endpoints:
GET /api?fields=loraNetwork- Get LoRa network configurationPUT /api/loraNetwork- Update LoRa network configuration
Key Properties:
| Property | Type | Description |
|———-|——|————-|
| enabled | boolean | Enable LoRa |
| mode | string | NETWORK_SERVER, PACKET_FORWARDER, BASIC_STATION |
| network | object | Network server settings |
| mqtt | object | MQTT integration settings |
| packetForwarder | object | Packet forwarder settings |
See LoRa Network Schema for comprehensive documentation.
Example:
curl -X PUT http://192.168.2.1/api/loraNetwork \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"mode": "NETWORK_SERVER",
"network": {
"name": "My LoRa Network"
}
}' \
-b cookies.txt
lora
LoRa gateway and device management.
Endpoints:
GET /api/lora/gateways- List gatewaysGET /api/lora/devices- List devicesDELETE /api/lora/gateways/{gwEui}- Delete gatewayPOST /api/lora/restart- Restart LoRa service
See LoRa Operations Workflow for FOTA and multicast operations.
scada
SCADA protocol configuration (BACnet, Modbus).
Endpoints:
GET /api?fields=scada- Get SCADA configurationPUT /api/scada- Update SCADA configuration
mqttBroker
MQTT broker configuration.
Endpoints:
GET /api?fields=mqttBroker- Get MQTT broker settingsPUT /api/mqttBroker- Update MQTT broker settings
Device Management Resources
docker
Docker container management.
Endpoints:
GET /api?fields=docker- Get Docker configurationPUT /api/docker- Update Docker configuration
customApps
Custom application management.
Endpoints:
GET /api?fields=customApps- Get custom appsPOST /api/customApps- Upload custom app
customAppsConfig
Custom application settings.
Endpoints:
GET /api?fields=customAppsConfig- Get custom app configurationPUT /api/customAppsConfig- Update custom app configuration
packages
System package management.
Endpoints:
GET /api?fields=packages- Get installed packages
licensing
License management.
Endpoints:
GET /api?fields=licensing- Get license information
Communication Resources
gps
GPS configuration and location data.
Endpoints:
GET /api?fields=gps- Get GPS configuration and dataPUT /api/gps- Update GPS configuration
Key Properties:
| Property | Type | Description |
|———-|——|————-|
| enabled | boolean | Enable GPS |
| latitude | number | Current latitude (read-only) |
| longitude | number | Current longitude (read-only) |
| altitude | number | Current altitude (read-only) |
| fix | boolean | GPS fix status (read-only) |
Example:
curl -X GET "http://192.168.2.1/api?fields=gps" -b cookies.txt
serial
Serial port configuration.
Endpoints:
GET /api?fields=serial- Get serial port configurationPUT /api/serial- Update serial port configuration
Key Properties:
| Property | Type | Description |
|———-|——|————-|
| ports | array | Serial port configurations |
| baudRate | integer | Baud rate (9600, 115200, etc.) |
| dataBits | integer | Data bits (7, 8) |
| parity | string | Parity (none, odd, even) |
| stopBits | integer | Stop bits (1, 2) |
sms
SMS messaging configuration and commands.
See SMS Schema for complete documentation.
Endpoints:
GET /api?fields=sms- Get SMS configurationPUT /api/sms- Update SMS configurationGET /api?fields=sms/inbox- Get received messagesGET /api?fields=sms/outbox- Get sent messagesPOST /api/sms/outbox- Send SMS messageDELETE /api/sms/inbox/{guid}- Delete received messageDELETE /api/sms/outbox/{guid}- Delete sent message
Key Properties:
| Property | Type | Default | Description |
|———-|——|———|————-|
| enabled | boolean | false | Enable SMS service |
| sentLimit | integer | 1000 | Number of sent messages to keep (0-1000) |
| receivedLimit | integer | 1000 | Number of received messages to keep (0-1000) |
| resendLimit | integer | 0 | Retry attempts for failed messages (0-10) |
| smsCommands | object | - | SMS commands configuration |
Example - Configure SMS:
curl -X PUT http://192.168.2.1/api/sms \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"sentLimit": 500,
"receivedLimit": 500,
"smsCommands": {
"enabled": true,
"rebootEnabled": true,
"pingEnabled": true,
"password": {
"enabled": true,
"useCustomPassword": false
},
"whitelist": {
"enabled": true,
"numbers": ["+1234567890"]
}
}
}' \
-b cookies.txt
Example - Send SMS:
curl -X POST http://192.168.2.1/api/sms/outbox \
-H "Content-Type: application/json" \
-d '{
"recipients": ["+1234567890"],
"message": "Alert from gateway"
}' \
-b cookies.txt
Example - Get Inbox:
curl -X GET "http://192.168.2.1/api?fields=sms/inbox" -b cookies.txt
bluetooth
Bluetooth configuration.
Endpoints:
GET /api?fields=bluetooth- Get Bluetooth configurationPUT /api/bluetooth- Update Bluetooth configuration
bluetoothLowEnergy
Bluetooth Low Energy (BLE) configuration.
Endpoints:
GET /api?fields=bluetoothLowEnergy- Get BLE configurationPUT /api/bluetoothLowEnergy- Update BLE configuration
Security Resources
certificate
Device certificate management.
Endpoints:
GET /api?fields=certificate- Get device certificatesPOST /api/certificate- Upload certificateDELETE /api/certificate/{id}- Delete certificate
See Security Schemas for detailed documentation.
cacertificates
CA certificate management.
Endpoints:
GET /api?fields=cacertificates- Get CA certificatesPOST /api/cacertificates- Upload CA certificateDELETE /api/cacertificates/{id}- Delete CA certificate
secureProtocols
TLS/SSL protocol configuration.
Endpoints:
GET /api?fields=secureProtocols- Get secure protocol settingsPUT /api/secureProtocols- Update secure protocol settings
remoteAccess
Remote access security configuration (HTTP, HTTPS, SSH, SNMP).
Endpoints:
GET /api?fields=remoteAccess- Get remote access settingsPUT /api/remoteAccess- Update remote access settings
radius
RADIUS authentication configuration.
Endpoints:
GET /api?fields=radius- Get RADIUS settingsPUT /api/radius- Update RADIUS settings
trustedIp
Trusted IP address configuration for access control.
Endpoints:
GET /api?fields=trustedIp- Get trusted IPsPUT /api/trustedIp- Update trusted IPs
bootloader
Bootloader security settings.
Endpoints:
GET /api?fields=bootloader- Get bootloader settingsPUT /api/bootloader- Update bootloader settings
passwordComplexityRules
Password complexity requirements.
Endpoints:
GET /api?fields=passwordComplexityRules- Get password rulesPUT /api/passwordComplexityRules- Update password rules
Monitoring Resources
stats
System statistics and metrics.
Endpoints:
GET /api?fields=stats- Get all statisticsGET /api?fields=stats/dashboard- Comprehensive system overviewGET /api?fields=stats/cpu- CPU usageGET /api?fields=stats/memory- Memory usageGET /api?fields=stats/radio- Cellular radio statisticsGET /api?fields=stats/iface- Network interface statisticsGET /api?fields=stats/lora- LoRa gateway statistics
See Stats Endpoints Discovery for all 33+ stats categories.
Example - Get Dashboard:
curl -X GET "http://192.168.2.1/api?fields=stats/dashboard" -b cookies.txt
eventlog
Event log entries.
Endpoints:
GET /api?fields=eventlog- Get event log
syslog
Syslog configuration.
Endpoints:
GET /api?fields=syslog- Get syslog configurationPUT /api/syslog- Update syslog configuration
alert
Alert and notification configuration.
Endpoints:
GET /api?fields=alert- Get alert configurationPUT /api/alert- Update alert configuration
See Alert Schema for detailed documentation.
snmp
SNMP agent and trap configuration.
Endpoints:
GET /api?fields=snmp- Get SNMP configurationPUT /api/snmp- Update SNMP configuration
See SNMP Schema for detailed documentation.
Notification Resources
smtp
SMTP email configuration for notifications.
Endpoints:
GET /api?fields=smtp- Get SMTP settingsPUT /api/smtp- Update SMTP settings
Example:
curl -X PUT http://192.168.2.1/api/smtp \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"server": "smtp.example.com",
"port": 587,
"security": "STARTTLS",
"username": "alerts@example.com",
"password": "password",
"fromAddress": "alerts@example.com"
}' \
-b cookies.txt
sntp
NTP time synchronization configuration.
Endpoints:
GET /api?fields=sntp- Get NTP settingsPUT /api/sntp- Update NTP settings
notificationEventGroup
Event notification group configuration.
Endpoints:
GET /api?fields=notificationEventGroup- Get notification groupsPUT /api/notificationEventGroup- Update notification groups
remoteMgmt
Multi-Tech cloud management configuration.
Endpoints:
GET /api?fields=remoteMgmt- Get cloud management settingsPUT /api/remoteMgmt- Update cloud management settings
Query Tips
Batch Queries
Request multiple resources in a single call for efficiency:
GET /api?fields=system,cellular,wifi,gps
Nested Field Access
Access specific nested fields to reduce response size:
GET /api?fields=system/capabilities
GET /api?fields=system/firmware/version
GET /api?fields=cellular/providerProfiles
Default Values
Get factory default values for a resource:
GET /api?fields=cellular&default=true
Monitoring Without Session Timeout
Use inactivity=true for monitoring endpoints to prevent session timeout:
GET /api?fields=stats/dashboard&inactivity=true
Related Documentation
Reference Guides
- Command Endpoints - Device commands reference
- API Quick Reference - Concise command reference
- API README - Getting started guide
Detailed Schema Documentation (from source code)
- API Schemas Reference - Core schemas (system, users, cellular, wifi, dns, dhcp, routes, firewall, nat, gps, serial, alert)
- SMS Schema - SMS messaging and remote commands
- VPN Schemas - OpenVPN, IPsec, and GRE tunnels
- Network Services Schemas - SNMP, SMTP, SNTP, Network Interfaces
- Device Management Schemas - Auto reboot, remote access, custom apps, Docker, branding
- Connectivity Schemas - Bluetooth, BLE, IP passthrough, DDNS, WAN manager
- Advanced Features Schemas - SCADA, MQTT, RADIUS, filters, trusted IP
- Logging & Status Schemas - Event log, syslog, LLDP, mDNS, external I/O
- LoRa Network Schema - Complete LoRa configuration (200+ properties)
Analysis & Coverage
- Schema Analysis Working Doc - Progress tracking (55+ schemas)
- Schema Coverage Analysis - Coverage status overview
Document Version: 1.1.0
Last Updated: February 10, 2026