# 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.