Add a new catalogue program
Creates a program in the institution’s catalogue. code and year are required and together
identify it.
This never updates. If a program already exists for that (code, year) the response is 409,
so use PUT /{code}/{year} instead. An externalIds value already registered against a different
program is a 400.
Authentication
AuthorizationBearer
Paste a Keycloak access token (no "Bearer " prefix)
Request
This endpoint expects an object.
code
The institution's program code, e.g. "8429".
year
Catalogue year, e.g. 2026. The same code in another year is a distinct program with its own id.
name
kind
single | double_degree | research. Only single and double_degree can be promoted to an assessable program.
creditPoints
Total credit points (UOC) for the program.
level
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 for this program, keyed by system name, e.g. {"sis": "PRG-0042"}. An id already used for a different program is rejected.
Response
The program was created.
id
Our stable id for the program, unchanged by an update.
code
year
status
Always updated from this endpoint.
Errors
400
Bad Request Error
409
Conflict Error
