Skip to content

Devices API

MethodPathDescription
GET/api/devicesList devices
POST/api/devicesRegister a device
GET/api/devices/:idGet device details
PATCH/api/devices/:idUpdate device
DELETE/api/devices/:idRemove device
POST/api/devices/:id/commandsSend command to device
GET /api/devices?page=1&limit=50&status=online
ParameterTypeDefaultDescription
pageint1Page number
limitint50Items per page (max 1000)
statusstringallFilter: online, offline, error
searchstringSearch by name or device ID
tagsstringFilter by tag (key:value)
{
"data": [
{
"id": "550e8400-...",
"deviceId": "RC500-A1B2C3",
"name": "Site Alpha Router",
"status": "online",
"firmwareVersion": "1.52.1",
"lastSeenAt": "2026-05-24T10:30:00Z",
"tags": { "region": "us-west" }
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 127,
"totalPages": 3
}
}
GET /api/devices/:id

Returns full device details including latest telemetry metrics (signal strength, GPS position, system stats).

POST /api/devices
Content-Type: application/json
{
"deviceId": "RC500-NEW123",
"name": "New Router",
"tags": { "region": "eu-central" }
}
PATCH /api/devices/:id
Content-Type: application/json
{
"name": "Updated Name",
"tags": { "region": "us-east" }
}
POST /api/devices/:id/commands
Content-Type: application/json
{
"command": "reboot"
}
CommandDescription
rebootRestart device
config_syncForce configuration sync
factory_resetReset to factory defaults
firmware_updateDeploy firmware (requires url and hash params)
StatusMeaning
400Invalid request
401Not authenticated
403Insufficient permissions
404Device not found
429Rate limit exceeded