API for calGPA