- api/ipam.py: convert 30 async def handlers that had no await to plain def, letting FastAPI run them in its thread pool (correct for sync SQLAlchemy I/O); cleanup_orphan_allocations kept async (it has await) - api/proxmox.py: add _get_proxmox_client(server) helper that encapsulates the use_password/token branching, replace 58 duplicated 10-line blocks with a single call; get_proxmox_resources() call sites left unchanged (different sig) https://claude.ai/code/session_019rK2wvaWg5zXFwmAPPEB7R