Add a new catalogue specialisation
Creates a Major / Minor / Honours stream in the institution’s catalogue. code and year are
required and together identify it.
This never updates. If one already exists for that (code, year) the response is 409, so use
PUT /{code}/{year} instead. An externalIds value already registered against a different
specialisation is a 400.
The specialisation is created with NO curriculum; add containers and subjects separately.
Authentication
AuthorizationBearer
Paste a Keycloak access token (no "Bearer " prefix)
Request
This endpoint expects an object.
code
The specialisation code, e.g. "BENVC2".
year
Catalogue year, e.g. 2026. The same code in another year is a distinct specialisation with its own id.
name
type
Major | Minor | Honours | Specialisation | Research.
creditPoints
Credit points (UOC) the specialisation is worth in total.
studyLevel
fieldOfEducation
facultyName
The owning faculty's name as your system records it. The matching group on our side is resolved separately, so this is a label, not a link.
schoolName
externalIds
Your own identifiers, keyed by system name, e.g. {"sis": "MIN-042"}. An id already used for a different specialisation is rejected.
Response
The specialisation was created.
id
Our stable id, unchanged by an update.
code
year
status
created | updated.
Errors
400
Bad Request Error
409
Conflict Error
