{"name":"meShQL API","version":"1.0.0","description":"REST API for querying Meshtastic mesh network data","endpoints":{"/api/nodes":"Get nodes with filters (role, channel, hw_model, days_active, hasLocation, limit)","/api/nodes/{node_id}":"Get specific node details","/api/nodes/{node_id}/neighbors":"Get node neighbor information","/api/nodes/{node_id}/positions":"Get node position history (supports decode_payload)","/api/nodes/{node_id}/telemetry":"Get node telemetry data (supports decode_payload)","/api/packets":"Get packets with filters (since, node_id, gateway_id, portnum, channel, decode_payload, includeGatewayCount, limit)","/api/packets/{packet_id}":"Get specific packet details (supports decode_payload, includeGateways with relay_node)","/api/chat":"Get text message packets (supports channel and decode_payload filters)","/api/stats":"Get comprehensive statistics (supports channel and days_active filters)","/api/edges":"Get network edges for graph visualization (supports channel filter)","/api/channels":"Get active channels","/api/nodegraph":"Get node graph data for visualization (supports channel, with_location, hours filters, cached for 1 hour)","/api/gateways/top":"Get top gateways by packets seen (supports limit, since, channel, direct_only filters)","/api/relaynodes/top":"Get top relay nodes by packets relayed in the last 24 hours (supports limit, channel filters, cached for 1 hour)","/api/traceroutes":"List traceroute records (supports decode_payload)","/api/traceroutes/{packet_id}":"Get all traceroute records for a specific packet (decode_payload defaults to true)","/ws":"WebSocket endpoint for real-time updates (new nodes, packets, chat messages)","/events":"Server-Sent Events (SSE) endpoint for real-time updates (alternative to WebSocket)","/api/realtime-docs":"Comprehensive documentation for WebSocket and SSE real-time endpoints","/api/metrics-info":"Information about available Prometheus metrics and how to configure scraping"},"documentation":"/docs","notes":{"decode_payload":"Most packet endpoints support decode_payload=true to decode protobuf payloads","channel_filtering":"Most packet/node endpoints support filtering by channel name","includeGateways":"The /api/packets/{packet_id} endpoint supports includeGateways=true to include gateway nodes that saw the packet (includes relay_node information)","includeGatewayCount":"The /api/packets endpoint supports includeGatewayCount=true to include the count of gateways that heard each packet","gateway_id":"The /api/packets endpoint supports gateway_id filter to show only packets seen by a specific gateway","direct_only":"The /api/gateways/top endpoint supports direct_only=true to count only directly heard packets (hop_limit = hop_start)","websocket":"Connect to /ws for real-time streaming of new nodes, packets, and chat messages","sse":"Connect to /events for Server-Sent Events (SSE) real-time streaming (alternative to WebSocket)"}}