All timetable data used in Notangles is scraped using CSESoc’s timetable scraper, which can be found here.
/api/terms/:termId/courses
Request type: GET
Description
Returns information about the courses which are offered in the provided term.
Path Variables
Name | Description |
---|---|
termId | The ID of the term containing the year and term separated by a dash, e.g. |
Result
Code | Format |
---|---|
200 | { "lastUpdated": Unix timestamp representing when the data was last updated "courses": [ { "courseCode": the course code e.g. COMP1511, "name": the full name of the course e.g. Programming Fundamentals, "online": whether the course is offered online, "inPerson": whether the course is offered in-person }, ] } |
400 | Invalid termId/courseId param |
/api/terms/:termId/courses/:courseId
Request type: GET
Description
Returns information about the course with the provided courseId
.
Path Variables
Name | Description |
---|---|
termId | The ID of the term containing the year and term separated by a dash, e.g. |
courseId | The course code of the course e.g. |
Result
Code | Format |
---|---|
200 | { "courseCode": the course code of the course, "name": the full name of the course, "school": the school the course is associated with, "campus": the campus where the course is offered, "career": "Undergraduate" or "Postgraduate", "termsOffered": a list of terms when the course is offered e.g. ["T1"], "censusDates": a list of the census dates of the term in the form DD-MMM-YYYY, "classes": a list of the classes associated with the course (see 'class' below for structure), "notes": any miscellaneous notes about the course } |
400 | Invalid termId/courseId param |
For the following objects, note that not all of these fields are used in the actual client.
A class
object is as follows:
{ "classID": the id of the class as per myUNSW, "section": the section of the course as per myUNSW, "term": the term when this class is offered e.g. "T1", "activity": the type of class e.g. "Lecture", "Tutorial", "status": whether or not the class is open for enrolment, "courseEnrolment": { "enrolments": the number of current enrolments in this class, "capacity": the maximum number of enrolments in this class }, "termDates": { "start": the starting date of the term this class is offered in, "end": the end date of the term this class is offered in }, "needsConsent": whether this course needs special consent for you to enrol in it (?) "mode": "Online" or "In Person", "times": a list of times when the class is scheduled (see 'time' below for structure), "notes": a list of any miscellaneous notes about the class }
A time
object is as follows:
{ "day": the day of the week this class is offered e.g. "Wed", "time": { "start": the starting time of the class in 24 hour time, "end": the ending time of the class in 24 hour time, }, "weeks": which weeks the class is offered e.g. "1-5", "location": where the class is held, "instructor": the instructor for the class }
/api/startdate/:client
Request type: GET
Description
Returns the start date string based on which client is calling the API.
Path Variables
Name | Description |
---|---|
client | The name of the client calling this API e.g. only |
Result
Code | Format |
---|---|
200 | dd-mm-yyyy |
/api/currentterm
Request type: GET
Description
Returns the term that the user is in currently. For Freerooms.
Code
Format
200
One of T1, T2, T3 or Summer
Add Comment