API Schema Documentation Coverage Analysis

Collection of articles for working with Multitech devices in LoRaWAN networks.

API Schema Documentation Coverage Analysis

This document analyzes the completeness of schema documentation for all mPower Device API resources.

Summary

Total Schemas: 58
Fully Documented: 8 (14%)
Partially Documented: 7 (12%)
Not Documented: 43 (74%)

Documentation Status by Complexity

✅ Fully Documented (Detailed Schema Docs)

Schema Lines Properties Status Documentation
loraNetwork 1875 200+ ✅ Complete LORA-NETWORK-SCHEMA.md

🟡 Partially Documented (Basic Schema Only)

Schema Lines Properties Status Notes
system 483 50+ 🟡 Basic Core properties documented in OpenAPI
cellular 637 80+ 🟡 Basic Main structure documented, missing details
users 154 20+ 🟡 Basic Basic user properties documented
wifi 545 60+ 🟡 Basic Basic WiFi properties documented
dns 78 8 🟡 Basic Simple schema, adequately covered
gps 82 15 🟡 Basic Basic properties documented
docker 45 5 🟡 Basic Simple schema, adequately covered

❌ Not Documented (Need Schema Documentation)

High Complexity (500+ lines, 30+ properties)

Schema Lines Properties Priority Description
ni 513 34 🔴 HIGH Network interfaces - complex IPv4/IPv6, VLAN, bridging
snmp 451 28 🔴 HIGH SNMP agent configuration - v1/v2c/v3, traps, users
alert 419 22 🔴 HIGH Alert/notification system - email, SMS, webhooks

Medium Complexity (200-500 lines, 15-30 properties)

Schema Lines Properties Priority Description
nat 252 16 🟠 MEDIUM NAT rules and port forwarding
secureProtocols 180 15 🟠 MEDIUM TLS/SSL protocol configuration
ddns 195 18 🟠 MEDIUM Dynamic DNS configuration
mqttBroker 145 13 🟠 MEDIUM Local MQTT broker settings
remoteAccess 165 12 🟠 MEDIUM SSH, telnet, web access control
filters 142 11 🟠 MEDIUM Traffic filtering rules
scada 161 9 🟠 MEDIUM BACnet, Modbus configuration
remoteMgmt 125 9 🟠 MEDIUM Remote management (DeviceHQ, TR-069)
sms 110 10 🟠 MEDIUM SMS messaging configuration
radius 135 8 🟠 MEDIUM RADIUS authentication
ipsecTunnels 280 8 🟠 MEDIUM IPsec VPN tunnels
greTunnels 180 8 🟠 MEDIUM GRE tunnel configuration
smtp 95 7 🟠 MEDIUM SMTP email configuration
ipPipes 145 8 🟠 MEDIUM IP pipe configuration

Low Complexity (< 200 lines, < 10 properties)

Schema Lines Properties Priority Description
sntp 85 10 🟢 LOW NTP/SNTP time synchronization
trustedIp 65 10 🟢 LOW Trusted IP address list
firewall 125 8 🟢 LOW Firewall rules
routes 95 6 🟢 LOW Static routing table
dhcp 110 7 🟢 LOW DHCP server configuration
ovpnTunnels 320 6 🟢 LOW OpenVPN tunnel configuration
notificationEventGroup 75 5 🟢 LOW Notification event groups
autoReboot 68 5 🟢 LOW Automatic reboot scheduling
bluetooth 55 4 🟢 LOW Bluetooth configuration
bluetoothLowEnergy 48 4 🟢 LOW BLE configuration
brand 42 3 🟢 LOW Branding/customization
ipPassthrough 45 2 🟢 LOW IP passthrough mode
extIo 58 3 🟢 LOW External I/O configuration
extUsb 35 2 🟢 LOW External USB configuration
cellTimeSync 32 2 🟢 LOW Cellular time sync
eventlog 48 2 🟢 LOW Event log configuration
customApps 55 3 🟢 LOW Custom application management
customAppsConfig 42 2 🟢 LOW Custom app configuration
customRoles 68 2 🟢 LOW Custom user roles
backOffTimers 45 2 🟢 LOW Connection backoff timers
btDevices 38 2 🟢 LOW Bluetooth device list
lldp 35 2 🟢 LOW LLDP protocol
mdns 28 2 🟢 LOW mDNS/Bonjour
policy 25 1 🟢 LOW Device policy
resetButton 32 1 🟢 LOW Reset button behavior
saveAndRestore 28 1 🟢 LOW Backup/restore settings
serial 85 2 🟢 LOW Serial port configuration
syslog 45 2 🟢 LOW Syslog configuration
status 49 1 🟢 LOW Status notifications
waninfo 55 2 🟢 LOW WAN information
wanmngr 48 4 🟢 LOW WAN manager
databaseInfo 35 2 🟢 LOW Database information
passwordComplexityRules 52 2 🟢 LOW Password rules

Phase 1: Critical Network Resources (High Priority)

These are complex, frequently used resources that need comprehensive documentation:

  1. ni (Network Interfaces) - 513 lines, 34 properties
    • IPv4/IPv6 configuration
    • VLAN support
    • Bridge configuration
    • PPP interfaces
    • Critical for network setup
  2. snmp (SNMP Agent) - 451 lines, 28 properties
    • SNMPv1/v2c/v3 configuration
    • Trap configuration
    • User management
    • Community strings
    • Important for monitoring
  3. alert (Alerting System) - 419 lines, 22 properties
    • Email alerts
    • SMS alerts
    • Webhook notifications
    • Alert rules and conditions
    • Critical for monitoring

Phase 2: Security & VPN (Medium Priority)

  1. nat (NAT Rules) - 252 lines, 16 properties
    • Port forwarding
    • NAT rules
    • Firewall integration
  2. ipsecTunnels (IPsec VPN) - 280 lines, 8 properties
    • Site-to-site VPN
    • Authentication methods
    • Encryption settings
  3. greTunnels (GRE Tunnels) - 180 lines, 8 properties
    • GRE tunnel configuration
    • Routing integration
  4. secureProtocols (TLS/SSL) - 180 lines, 15 properties
    • Protocol versions
    • Cipher suites
    • Certificate management
  5. remoteAccess (Remote Access) - 165 lines, 12 properties
    • SSH configuration
    • Web UI access
    • Telnet settings

Phase 3: Services & Integration (Medium Priority)

  1. ddns (Dynamic DNS) - 195 lines, 18 properties
    • Multiple DDNS providers
    • Update intervals
    • Authentication
  2. mqttBroker (MQTT Broker) - 145 lines, 13 properties
    • Local broker configuration
    • Authentication
    • TLS settings
  3. scada (SCADA Protocols) - 161 lines, 9 properties
    • BACnet configuration
    • Modbus settings
    • Sensor management
  4. remoteMgmt (Remote Management) - 125 lines, 9 properties
    • DeviceHQ integration
    • TR-069 configuration
    • Remote updates

Phase 4: Communication (Lower Priority)

  1. sms (SMS) - 110 lines, 10 properties
  2. smtp (Email) - 95 lines, 7 properties
  3. radius (RADIUS) - 135 lines, 8 properties

Phase 5: Advanced Features (Lower Priority)

  1. filters (Traffic Filters) - 142 lines, 11 properties
  2. ipPipes (IP Pipes) - 145 lines, 8 properties
  3. firewall (Firewall) - 125 lines, 8 properties
  4. routes (Static Routes) - 95 lines, 6 properties

Phase 6: Simple Resources (Can use OpenAPI inline)

Resources with < 100 lines and < 10 properties can be adequately documented in the OpenAPI specification without separate schema documents.

Documentation Format Recommendations

For High Complexity Resources (500+ lines)

Create separate markdown files similar to LORA-NETWORK-SCHEMA.md:

For Medium Complexity Resources (200-500 lines)

Create consolidated documentation files grouping related resources:

For Low Complexity Resources (< 200 lines)

Expand the OpenAPI specification with complete inline schemas including:

Current Documentation Gaps

Missing from OpenAPI Specification

The current api-documentation.yaml only includes basic schemas for:

51 schemas are completely missing from the OpenAPI specification.

Missing Detailed Documentation

Only 1 schema (loraNetwork) has comprehensive detailed documentation in a separate markdown file.

Immediate (Week 1-2)

  1. ✅ Create LORA-NETWORK-SCHEMA.md (DONE)
  2. Create NETWORK-INTERFACES-SCHEMA.md for ni resource
  3. Create SNMP-SCHEMA.md for snmp resource
  4. Create ALERT-SCHEMA.md for alert resource

Short Term (Week 3-4)

  1. Create VPN-SCHEMAS.md covering ipsecTunnels, greTunnels, ovpnTunnels
  2. Create NAT-FIREWALL-SCHEMAS.md covering nat, firewall, filters, routes
  3. Create SECURITY-SCHEMAS.md covering secureProtocols, remoteAccess, trustedIp, radius

Medium Term (Month 2)

  1. Create SERVICES-SCHEMAS.md covering ddns, mqttBroker, smtp, sms, scada
  2. Create MANAGEMENT-SCHEMAS.md covering remoteMgmt, sntp, eventlog, syslog
  3. Expand OpenAPI specification with complete inline schemas for simple resources

Long Term (Month 3+)

  1. Add configuration examples for all major use cases
  2. Create troubleshooting guides
  3. Add migration guides for version updates
  4. Create video tutorials for complex configurations

Benefits of Complete Documentation

  1. Reduced Support Burden: Users can self-serve with comprehensive docs
  2. Faster Integration: Developers can implement integrations without trial-and-error
  3. Better API Adoption: Complete docs encourage API usage over GUI
  4. Fewer Errors: Clear constraints and validation rules prevent misconfigurations
  5. Improved Testing: Examples provide test cases for validation
  6. Knowledge Preservation: Institutional knowledge captured in documentation

Metrics

Next Steps

  1. Review and approve this analysis
  2. Prioritize schemas based on user needs and support tickets
  3. Assign documentation tasks
  4. Create documentation templates
  5. Begin Phase 1 (Critical Network Resources)

Last Updated: December 17, 2025
Analysis Version: 1.0