Update a study program
Partial update of study program fields. Optionally pass curriculaIds to connect curricula or versionId to set the active version. Use hasCohorts and hasStatistics to toggle cohort-based enrollment and university statistics. Scoped to your integration’s institution via Basic Auth credentials.
PATCH
/study-programs/{id}Path parameters
idstringrequiredRequest body
requiredapplication/jsonnamestringcodestringobjectivestringdefaultStudyTimeintegerhasCohortsbooleanWhether the program uses cohorts for enrollment.
hasStatisticsbooleanWhether university statistics are collected for this program.
versionIdstringSet the active study program version.
curriculaIdsstring[]Optional curriculum IDs to connect.
Responses
200Updated study program
dataStudyProgramrequiredStudy program list, detail, create, and update response. Includes program versions, responsible users, connected curricula, and summary counts. Use GET /study-programs/{id}/cohorts for cohort details.
Show propertiesHide properties
idstringrequirednamestringrequiredinstitutionIdstringrequiredobjectivestring | nullisArchivedbooleanrequiredcodestring | nullstatisticDataobject | nulldefaultStudyTimeintegerdefaultTuitionFeePlanIdstring | nullhasCohortsbooleanrequiredhasStatisticsbooleanrequiredtypestring | nullstudyProgramVersionStudyProgramVersion[]requiredProgram versions (cohorts are listed separately).
Show propertiesHide properties
Array of
StudyProgramVersionidstringrequirednamestringrequiredinstitutionIdstringrequiredstudyProgramIdstringrequiredisDefaultbooleanrequiredstatisticDataobject | nullresponsibleUsersSimpleUser[]required`studyProgramResponsibleUser[].user`, sorted by name. The
Show propertiesHide properties
Array of
SimpleUseridstringrequirednamestringrequiredemailstring<email>requiredimagestring | nullrequiredconnectedCurriculaStudyProgramConnectedCurricula[]requiredFlattened curricula from `studyProgramConnectedCurricula` (see `StudyProgramConnectedCurricula`). The
Show propertiesHide properties
Array of
StudyProgramConnectedCurriculaidstringrequirednamestringrequiredinstitutionIdstringrequiredcreatedAtstring<date-time>requiredupdatedAtstring<date-time>requiredisCohortSpecificbooleanrequiredisArchivedbooleanrequiredcodestring | nullversionsCountintegerrequiredfirstVersionobjectrequiredThe first program version.
Show propertiesHide properties
idstringrequirednamestringrequiredinstitutionIdstringrequiredstudyProgramIdstringrequiredisDefaultbooleanrequiredstatisticDataobject | nulldefaultVersionStudyProgramVersion | anyThe default program version, if one is set.
Show propertiesHide properties
One of:
StudyProgramVersion
idstringrequirednamestringrequiredinstitutionIdstringrequiredstudyProgramIdstringrequiredisDefaultbooleanrequiredstatisticDataobject | nullany
anyversionsCountintegerrequiredTotal number of program versions.
cohortsCountintegerrequiredTotal cohort count across all versions.
studyProgramMetadataobject | nullrequiredAlways null on list and detail responses; use version-specific endpoints for metadata.
metaResponseMetarequiredShow propertiesHide properties
requestIdstringrequiredtimestampstring<date-time>requiredversionstringrequiredAllowed:
v4400Bad Request
typestringrequiredAllowed:
errorcodestringrequiredAllowed:
bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
Array of
objectfieldstringmessagestring401Unauthorized
typestringrequiredAllowed:
errorcodestringrequiredAllowed:
bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
Array of
objectfieldstringmessagestring404Not Found
typestringrequiredAllowed:
errorcodestringrequiredAllowed:
bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
Array of
objectfieldstringmessagestring429Too Many Requests
typestringrequiredAllowed:
errorcodestringrequiredAllowed:
bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
Array of
objectfieldstringmessagestring500Internal Server Error
typestringrequiredAllowed:
errorcodestringrequiredAllowed:
bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_errortitlestringrequiredstatusintegerrequireddetailstringrequiredinstancestringerrorsobject[]Show propertiesHide properties
Array of
objectfieldstringmessagestringRequest
curl -X PATCH "https://fuxam.app/api/v4/study-programs/string" \
-H "Content-Type: application/json" \
-d '{
"name": "string",
"code": "string",
"objective": "string",
"defaultStudyTime": 0,
"hasCohorts": true,
"hasStatistics": true,
"versionId": "string",
"curriculaIds": [
"string"
]
}'const response = await fetch("https://fuxam.app/api/v4/study-programs/string", {
method: "PATCH",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
"name": "string",
"code": "string",
"objective": "string",
"defaultStudyTime": 0,
"hasCohorts": true,
"hasStatistics": true,
"versionId": "string",
"curriculaIds": [
"string"
]
})
});import requests
response = requests.patch(
"https://fuxam.app/api/v4/study-programs/string",
headers={
"Content-Type": "application/json"
},
json={
"name": "string",
"code": "string",
"objective": "string",
"defaultStudyTime": 0,
"hasCohorts": True,
"hasStatistics": True,
"versionId": "string",
"curriculaIds": [
"string"
]
},
)Response
{
"data": {
"id": "sp_abc123",
"name": "Bachelor of Science",
"institutionId": "inst_123",
"objective": "Graduate competent professionals.",
"isArchived": false,
"code": "BSC-001",
"statisticData": null,
"defaultStudyTime": 6,
"defaultTuitionFeePlanId": null,
"hasCohorts": true,
"hasStatistics": false,
"type": "BACHELOR",
"studyProgramVersion": [
{
"id": "spv_001",
"name": "2024 Intake",
"institutionId": "inst_123",
"studyProgramId": "sp_abc123",
"isDefault": true,
"statisticData": null
}
],
"responsibleUsers": [
{
"id": "user_abc123",
"name": "Jane Doe",
"email": "jane@example.com",
"image": null
}
],
"connectedCurricula": [
{
"id": "cur_001",
"name": "Bachelor CS 2024",
"institutionId": "inst_123",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-06-01T00:00:00.000Z",
"isCohortSpecific": false,
"isArchived": false,
"code": "CS-2024",
"versionsCount": 2
}
],
"firstVersion": {
"id": "spv_001",
"name": "2024 Intake",
"institutionId": "inst_123",
"studyProgramId": "sp_abc123",
"isDefault": true,
"statisticData": null
},
"defaultVersion": {
"id": "spv_001",
"name": "2024 Intake",
"institutionId": "inst_123",
"studyProgramId": "sp_abc123",
"isDefault": true,
"statisticData": null
},
"versionsCount": 1,
"cohortsCount": 1,
"studyProgramMetadata": null
},
"meta": {
"requestId": "req_1234567890_abc",
"timestamp": "2026-06-02T07:00:00.000Z",
"version": "v4"
}
}{
"type": "error",
"code": "resource_not_found",
"title": "Not Found",
"status": 404,
"detail": "Course not found",
"instance": "req_1234567890_abc",
"errors": [
{
"field": "string",
"message": "string"
}
]
}{
"type": "error",
"code": "resource_not_found",
"title": "Not Found",
"status": 404,
"detail": "Course not found",
"instance": "req_1234567890_abc",
"errors": [
{
"field": "string",
"message": "string"
}
]
}{
"type": "error",
"code": "resource_not_found",
"title": "Not Found",
"status": 404,
"detail": "Course not found",
"instance": "req_1234567890_abc",
"errors": [
{
"field": "string",
"message": "string"
}
]
}{
"type": "error",
"code": "resource_not_found",
"title": "Not Found",
"status": 404,
"detail": "Course not found",
"instance": "req_1234567890_abc",
"errors": [
{
"field": "string",
"message": "string"
}
]
}{
"type": "error",
"code": "resource_not_found",
"title": "Not Found",
"status": 404,
"detail": "Course not found",
"instance": "req_1234567890_abc",
"errors": [
{
"field": "string",
"message": "string"
}
]
}