Web API overhaul