myAdvisor API

Backend status and route map. JSON: ?format=json or Accept: application/json.

Database connected v1.0.0 production port 3002
Status
ok
Uptime
2673s
Database
postgres · databases_shared-db · 1 ms
Auth header
token

Auth: send JWT in the token header. Writes require staff or owning student. See docs/API.md.

/accounts active

Authentication (student and staff)

MethodPathSummaryAuth
POST /accounts/login Login; returns JWT in `token` response field Public

/student active

Student advising, eligibility, progress, and course plans

MethodPathSummaryAuth
POST /student/create-plan Create advising session + selected courses (self) Student
POST /student/academic-advising/session/:studentId Create advising session (self) Student
GET /student/eligibleCourses/:semesterId Eligible courses for semester Student
GET /student/degreeProgress Degree progress for authenticated student Student
GET /student/profile Logged-in student profile summary Student
GET /student/grades/:studentId Student grades (self) Student
GET /student/courses/:studentId Student course history (self) Student
GET /student/course-plan/semesters Own plan semesters + active term Student
GET /student/course-plan/:studentId/:semesterId Course plan (self) Student
GET /student/course-plan/detail/:semesterId Detailed course plan Student
GET /student/:studentId/course-plan/:semesterId Course plan (alt path, self) Student
GET /student/course-plans/:semesterId Own course plan for semester Student

/admin active

Staff operations: accounts, plan review, summaries, curriculum import

MethodPathSummaryAuth
POST /admin/create/admin Create admin account Staff
POST /admin/create/student Create student account Staff
GET /admin/course-plan/all/:semesterId All course plans for semester Staff
GET /admin/course-plan/semesters/:studentId Semesters with plans for student Staff
GET /admin/course-plan/:semesterId/:studentId One student course plan Staff
PUT /admin/course-plan/review/:semesterId/:studentId/:decision Review plan (Confirmed) Staff
GET /admin/student/advising-sessions List advising sessions Staff
GET /admin/detailed-course-plan/all Detailed plans Staff
POST /admin/parse/programmeCourse Import programme courses (upload) Staff
POST /admin/parse/programmeCourseXLSX Import programme courses (XLSX) Staff
GET /admin/degreeProgress/all Degree progress for all students Staff
GET /admin/atRiskStudents Students at academic risk (GPA / repeat fails) Staff
GET /admin/studentsSummary Student status summary and analytics insights Staff
GET /admin/students List students Staff
GET /admin/student/:studentId Student detail Staff
GET /admin/student/:studentId/notes List dated staff notes for a student Staff
POST /admin/student/:studentId/notes Add a dated staff note for a student Staff
GET /admin/degreeProgress/:studentId Degree progress for one student Staff
GET /admin/potentialGraduates Cached potential graduates report Staff
POST /admin/potentialGraduates/refresh Rerun and cache potential graduates report Staff

/courses active

Course catalogue (reads public; writes staff)

MethodPathSummaryAuth
GET /courses/all List all courses Public
GET /courses/departments List departments Public
GET /courses/view/:code View course by code Public
POST /courses/add Add course Staff
PUT /courses/edit/:code Edit course Staff
DELETE /courses/delete/:code Delete course Staff
GET /courses/prereqs/:id Prerequisites for course Public
GET /courses/:departmenttype Courses by department/type Public
GET /courses/related-courses/:dept/:semNum Related courses Public

/programmes active

Academic programmes (reads public; writes staff)

MethodPathSummaryAuth
GET /programmes/all List programmes Public
GET /programmes/bulk/matrix Bulk course×programme matrix Staff
PUT /programmes/bulk/mappings Bulk update type mappings Staff
PUT /programmes/bulk/prerequisites Bulk update prereq overrides Staff
POST /programmes/bulk/snapshot Clone programmes into a new version Staff
GET /programmes/:programmeId Programme by id Public
POST /programmes/add Add programme Staff
POST /programmes/add/course Add course to programme Staff
DELETE /programmes/delete/:programmeId Delete programme version by id Staff
GET /programmes/offered-courses/:id Offered courses for programme Public

/types active

Credit types (L1CORE, electives, colours)

MethodPathSummaryAuth
GET /types/all List credit types Public
POST /types/add Create credit type Staff
PUT /types/:id Update credit type Staff

/transcript active

Transcript details, courses, and PDF parse

MethodPathSummaryAuth
GET /transcript/details/all All transcript headers Staff
GET /transcript/courses/all All transcript course rows Staff
GET /transcript/details/view/:studentId Transcript for student Staff|Self
GET /transcript/courses/view View transcript courses Staff|Self
GET /transcript/courses/viewAll/:studentId All courses for student Staff|Self
POST /transcript/details/add Add transcript header Staff
POST /transcript/courses/add Add transcript course Staff
POST /transcript/parseForm Parse uploaded transcript PDF Staff
PUT /transcript/details/edit/:studentId Edit transcript Staff
PUT /transcript/courses/edit Edit transcript course Staff
DELETE /transcript/details/delete/:studentId Delete transcript Staff
DELETE /transcript/courses/delete Delete transcript course Staff
DELETE /transcript/courses/deleteAll/:studentId Delete all courses for student Staff
GET /transcript/course/options Course options (stub) Student

/semester active

Semesters, offerings, and planning

MethodPathSummaryAuth
POST /semester/add Add semester Staff
GET /semester/current Current semester Public
PUT /semester/update Update semester Staff
GET /semester/all List semesters Public
GET /semester/:semesterId Semester by id Public
GET /semester/courses/:semesterId Courses in semester Public
GET /semester/semesterCourses/:dept/:semNum Semester courses by dept Public
POST /semester/plan Submit plan Student
GET /semester/courses/:department/:semesterId Courses by department Public
GET /semester/flags/:semesterId Semester flags (stub) Public

Set DEBUG=true in .env and restart for Node, memory, and env-flag details (secrets are never printed).