Skip to navigation

Partially update a catalogue specialisation

View as Markdown

Partially updates a specialisation, using JSON Merge Patch semantics (RFC 7386):

  • a field present with a value is set
  • a field present as null is CLEARED
  • a field you omit is left exactly as it was

That last point is the difference from PUT, which replaces: there, omitting a field clears it. Use PATCH when you’re changing one thing and don’t want to resend the rest correctly just to avoid losing it.

An unknown field name is a 400 rather than being ignored. Under merge semantics a typo would otherwise do nothing at all, silently.

externalIds still merges per system, and null is rejected there: omit it to leave existing ids alone. code and year identify the specialisation and can’t be patched.

Authentication

AuthorizationBearer

Paste a Keycloak access token (no "Bearer " prefix)

Path parameters

codestringRequired
yearintegerRequired

Request

Only the fields you want to change. Same field names as the PUT body; send a field as null to clear it.

namestringOptional
typestringOptional

Major | Minor | Honours | Specialisation | Research.

creditPointsintegerOptional
studyLevelstringOptional
fieldOfEducationstringOptional
Empty string and null both clear the stored value.
facultyNamestringOptional
schoolNamestringOptional
externalIdsmap from strings to stringsOptional

Merged per system: a system you omit keeps its existing id.

Response

The supplied fields were applied; everything else is unchanged.

idstringOptionalformat: "uuid"
Our stable id, unchanged by an update.
codestringOptional
yearintegerOptional
statusstringOptional

created | updated.

Errors

400
Bad Request Error
404
Not Found Error