Skip to content

Bulletins ​

Permission node: ACADEMIC.BULLETINSAPI: /api/v1/academic/bulletins, /api/v1/academic/course-bulletins

A bulletin is a catalogue year — the published set of programmes and courses a student is held to. It is the mechanism that lets requirements change over time without rewriting history: a student admitted under the 2024–25 bulletin keeps those requirements even after the 2025–26 bulletin changes them.

Why it matters ​

Degrees, majors and minors each carry a bulletin_id. Two majors with the same code and different bulletins are different records with different requirement blocks. When a degree audit runs, it evaluates against the student's bulletin, not the current one.

Getting this wrong is expensive and quiet: an audit run against the wrong catalogue year tells a student they have graduated when they have not, or the reverse.

Managing bulletins ​

ActionEndpoint
List bulletinsGET /academic/bulletins
Get the current bulletinGET /academic/bulletins/current
Get one bulletinGET /academic/bulletins/{bulletinID}
List its coursesGET /academic/bulletins/{bulletinID}/courses
CreatePOST /academic/bulletins
UpdatePATCH /academic/bulletins/{bulletinID}
DeleteDELETE /academic/bulletins/{bulletinID}

Course bulletins ​

course-bulletins is the join between a course and a bulletin: it records that a given course appeared in a given catalogue year, and with what description and credit values.

ActionEndpoint
ListGET /academic/course-bulletins
Get oneGET /academic/course-bulletins/{courseBulletinID}
CreatePOST /academic/course-bulletins
UpdatePATCH /academic/course-bulletins/{courseBulletinID}
DeleteDELETE /academic/course-bulletins/{courseBulletinID}

Before deleting a bulletin ​

Anything pointing at it — degrees, majors, minors, course bulletins — becomes orphaned, and any student whose programme was defined under it loses the definition their audit depends on. Retire a bulletin by ceasing to attach new programmes to it, not by deleting it.

Student Information System Documentation