REST API Endpoints¶
This section documents the REST API endpoints provided by Django Micboard.
Data Endpoints¶
GET /api/data.json¶
Returns complete device data including receivers, channels, transmitters, and configuration.
Response:
{
"receivers": [
{
"id": 1,
"name": "ULX-D Receiver 1",
"device_type": "ulxd",
"ip": "192.168.1.100",
"channels": [
{
"channel": 1,
"transmitter": {
"slot": 1,
"battery": 75,
"audio_level": -10,
"rf_level": -50,
"frequency": "540.000",
"name": "Wireless Mic 1"
}
}
]
}
],
"discovered": [...],
"config": {...},
"groups": [...]
}
Rate Limit: 120 requests per 60 seconds (2 req/sec)
GET /api/receivers/¶
List all receivers with summary information.
GET /api/receivers/{id}/¶
Get detailed information for a specific receiver.
Health & Status¶
GET /api/health/¶
Check API and Shure System API health status.
Device Discovery¶
POST /api/discover/¶
Discover new Shure devices on the network.
POST /api/refresh/¶
Force refresh device data from Shure System API.
Configuration¶
GET /api/config/¶
Get current configuration settings.
POST /api/config/¶
Update configuration settings.
Groups¶
PUT /api/groups/{id}/¶
Update group configuration.
Error Responses¶
All endpoints return standard HTTP status codes and JSON error responses:
{
"error": "Error message",
"status": 400,
"details": "Optional detailed information"
}
Rate Limiting¶
All API endpoints have built-in rate limiting (120 requests per 60 seconds by default).
See the Rate Limiting Guide for details.