sports: use class based view instead of function based for api