968 B
ADR 0010: API Is Control Plane Only
Status
Proposed
Context
The API is useful for local administration, automation, and dashboard control. FreeDMR is a live voice stream program, so API work must not delay packet processing.
Decision
API operations are bounded control-plane actions and must not perform heavy serialization or block packet routing.
Rationale
Control operations should act on sessions, subscriptions, mesh peers, and reporting state. Heavy views should come from snapshots or reporting feeds.
Consequences
The API remains small and predictable. Complex dashboard state should not be assembled synchronously from hot packet state.
Compatibility
Old API endpoints may be adapted if needed, but the v2 API should not expose raw legacy internals as its primary contract.
Testing Requirements
Tests must cover auth, bounded request bodies, destructive-action gating, audit logging, and packet-path independence under API load.