Skip to navigation

Partially update a catalogue subject

View as Markdown

Partially updates a subject, 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 description, learningOutcomes and conditions correctly just to avoid losing them.

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 subject 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
creditPointsintegerOptional

Credit points (UOC) the subject is worth.

studyLevelstringOptional
fieldOfEducationstringOptional
Empty string and null both clear the stored value.
facultyNamestringOptional
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.
schoolNamestringOptional
kindstringOptional

Whether this row is a specific subject or an unspecified credit block (a placeholder used to grant credit without naming a subject).

complexitystringOptional

How advanced the subject is. Free text, but use the same vocabulary as the studyLevel recorded on applicants' subjects (introductory, intermediate, advanced), because credit matching compares the two and a mismatch fails to match silently rather than erroring.

descriptionstringOptional
Summary of what the subject covers. Shown in the UI, and intended as input to similarity matching later, so prose is more useful here than keywords.
learningOutcomesstringOptional

What a student can do on completing the subject. Same purpose as description: display now, similarity matching later.

disciplinestringOptional
Discipline code for the subject. Lets a structure group by discipline directly instead of parsing a prefix out of the subject code, which breaks as soon as a code doesn't follow the usual pattern.
availabilitystringOptional
When the subject can be studied. Carried into outcome reporting for international students, who need to know which terms are offered.
conditionsstringOptional
Prerequisites, equivalents, exclusions and anything else that affects whether credit can be granted for this subject. Displayed to whoever is assessing an RPL claim, not evaluated automatically.
externalIdsmap from strings to stringsOptional

Your own identifiers for this subject, keyed by system name. Merged per system: a system you omit keeps its existing id. An id already used for a different subject is rejected.

Response

The supplied fields were applied; everything else is unchanged.

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

created | updated.

Errors

400
Bad Request Error
404
Not Found Error