API Documentation
Updated: 03-05-2024
Relevant data the the Nebula API provides. Course Evals coming soon.
Professor
https://api.utdnebula.com/professor
API Response
professorGroup.GET("", controllers.ProfessorSearch())
returns an array of Professor’s
Not exactly sure if the array is everything that matches search terms
professorGroup.GET(":id", controllers.ProfessorById())
returns a Professor
Based on the id
professorGroup.GET("all", controllers.ProfessorAll())
Returns an array of Professor’s
I presume it’s all Professors?
What is a Professor:
A Professor represents a professor employed at the University of Texas at Dallas.
In Trends/Skedge
Currently only Skedge uses this
Grades
https://api.utdnebula.com/grades/
API Response
gradesGroup.GET("semester", controllers.GradesAggregation("semester"))
Returns an array of grades that fit the search criteria
gradesGroup.GET("overall", controllers.GradesAggregation("overall"))
Returns an array of grades but combines all semester grade distributions for one “grade”
Then aggregates by “semester” or “overall”
In Trends/Skedge
Generates/Sets possible academic sessions
Then sets actual academic session for each “grade”
Stores in fullGradesData[]
Autocomplete
https://api.utdnebula.com/api/autocomplete?input=
API Response
autocompleteGroup.GET("/dag", controllers.AutocompleteDAG())
Returns an Array of Maps (key-value pairs) for each search suggestion
In Trends/Skedge
Trends uses it to fill in the suggestions (or replaces old search suggestions)
Section
https://api.utdnebula.com/api/section
API Response
sectionGroup.GET("", controllers.SectionSearch())
Returns an array of possible Section’s based on search parameters (Course Reference, Professor)
sectionGroup.GET(":id", controllers.SectionById())
Returns a Section using the ID
What is a Section:
A Section object is the instantiation of a Course object with a professor, meeting times, and a grade distribution.
What is an Academic Session:
An AcademicSession represents the time period in which courses takes place.
In Trends/Skedge
Section is not used (everything is aggregated)
Trends does not do an API call to GET an individual Section; as of now, it calls for an aggregation of grades
Course
https://api.utdnebula.com/api/course
API Response
courseGroup.GET("", controllers.CourseSearch())
Returns an array of Courses that match search parameters
courseGroup.GET(":id", controllers.CourseById())
Returns a Course using its ID
courseGroup.GET("all", controllers.CourseAll())
Returns an array of all Courses
What is a Course:
In Trends/Skedge
Not used
Sources:
Mostly from the Controllers and Routes files in the Nebula-API GitHub
And the API files in the UTD-Trends GitHub