Create a curriculum container
Creates a container in a curriculum. What it becomes depends on what you supply:
parentIdmakes it a child of that container, inheriting its owner. A child cannot belong to a different curriculum than its parent, so don’t also send an owner.- an owner (
programCode+programYearorspecialisationCode+specialisationYear) makes it a new root on that curriculum. - neither makes it a DRAFT root, owned by nobody. Build it and review it, then attach it with
PUT /{structureId}/ownerwhen you’re satisfied.
creditPoints is the requirement: the UOC that must be taken from this container.
Authentication
AuthorizationBearer
Paste a Keycloak access token (no "Bearer " prefix)
Query parameters
parentId
programCode
programYear
specialisationCode
specialisationYear
Request
This endpoint expects an object.
title
e.g. "Core Subjects".
description
The requirement in words, e.g. "Students must take 30 UOC of the following subjects."
creditPoints
UOC that must be taken from this container.
creditPointsMax
Upper bound, where the handbook states one. Must not be less than creditPoints.
sort
Position among siblings. Defaults to 0.
Response
The container was created.
id
parentId
Null for a root container.
title
description
creditPoints
creditPointsMax
sort
status
DRAFT | LIVE. DRAFT is hidden from normal curriculum reads and keeps the tree's placement editable.
unplaced
True while this container belongs to no program or specialisation. Place it with PUT /{structureId}/owner or /{structureId}/parent.
Errors
400
Bad Request Error
404
Not Found Error
