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
| Action | Endpoint |
|---|---|
| List bulletins | GET /academic/bulletins |
| Get the current bulletin | GET /academic/bulletins/current |
| Get one bulletin | GET /academic/bulletins/{bulletinID} |
| List its courses | GET /academic/bulletins/{bulletinID}/courses |
| Create | POST /academic/bulletins |
| Update | PATCH /academic/bulletins/{bulletinID} |
| Delete | DELETE /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.
| Action | Endpoint |
|---|---|
| List | GET /academic/course-bulletins |
| Get one | GET /academic/course-bulletins/{courseBulletinID} |
| Create | POST /academic/course-bulletins |
| Update | PATCH /academic/course-bulletins/{courseBulletinID} |
| Delete | DELETE /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.