Update spot api views to use generics