mirror of
https://github.com/pablorevilla-meshtastic/meshview.git
synced 2026-03-04 23:27:46 +01:00
3.3 KiB
3.3 KiB
API Documentation
This document describes the available REST API endpoints for Chat and Nodes. More will be added later.
Chat API
GET /api/chat
Fetches chat messages, with support for both initial loading and incremental updates.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
limit |
int | No | Number of messages to return (default: 100, max: 200). |
since |
string | No | Return only messages with import_time > since (ISO 8601 format, e.g., 2025-07-21T12:00:00). |
Response (200 OK)
{
"packets": [
{
"id": 123,
"import_time": "2025-07-22T14:12:00.123456",
"channel": "LongFast",
"from_node_id": 456789,
"long_name": "Node A",
"payload": "Hello world!"
}
],
"latest_import_time": "2025-07-22T14:12:00.123456"
}
Fields:
id: Unique packet ID.import_time: ISO 8601 timestamp of when the message was imported.channel: Channel name.from_node_id: Numeric ID of the node that sent the message.long_name: Human-readable name of the node (if available).payload: Actual message text.
Examples
- Get last 50 messages:
GET /api/chat?limit=50 - Get messages after a certain timestamp:
GET /api/chat?since=2025-07-22T12:00:00
Nodes API
GET /api/nodes
Returns a list of all nodes, with optional filters based on "last seen" time.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
hours |
int | No | Only return nodes seen within the last N hours. |
days |
int | No | Only return nodes seen within the last N days. |
last_seen_after |
string | No | Custom ISO 8601 timestamp for filtering (2025-07-21T10:00:00). |
Note: hours and days take precedence over last_seen_after.
Response (200 OK)
{
"nodes": [
{
"node_id": 123456,
"long_name": "BaseStation",
"short_name": "BS",
"channel": "LongFast",
"last_seen": "2025-07-22T14:10:00.000000",
"hardware": "Heltec V3",
"firmware": "1.3.2",
"role": "CLIENT"
}
]
}
Fields:
node_id: Unique ID of the node.long_name: Full descriptive name of the node.short_name: Short name or alias.channel: Channel the node is configured on.last_seen: ISO 8601 timestamp of the last time the node was seen.hardware: Hardware model (e.g., Heltec V3).firmware: Firmware version of the node.role: Node role (e.g.,CLIENT,ROUTER, etc.).
Examples
- All nodes:
GET /api/nodes - Nodes seen in the last 1 hour:
GET /api/nodes?hours=1 - Nodes seen in the last 7 days:
GET /api/nodes?days=7 - Custom timestamp:
GET /api/nodes?last_seen_after=2025-07-21T12:00:00
General Notes
- All timestamps are returned in localtime (ISO 8601 format).
- Both endpoints return JSON responses with
application/jsoncontent type. - Error responses return
{"error": "message"}with an appropriate HTTP status code (e.g.,500).