[GH-5] implement remaining web calls at API layer