Update a cohort
Partial update of cohort fields. When updating dates, the effective range (merged with existing values for omitted fields) must have startDate strictly before endDate at minute precision. Cohort dates are compared at minute precision (matching the dashboard). Returns 422 when both fall in the same minute (startDate and endDate must not be in the same minute) or when startDate is after endDate at minute level (startDate must be before endDate). Returns summary fields — use GET for full detail with members and curriculum structure. Scoped to your integration’s institution via Basic Auth credentials.
PATCH
/study-programs/{id}/cohorts/{cohortId}Path parameters
idstringrequiredcohortIdstringrequiredRequest body
requiredapplication/jsonnamestringstartDatestring<date-time>Cohort start date. Compared at minute precision (seconds are ignored). Must be strictly before `endDate` at minute level. If in the same minute as `endDate`, returns `422` with `startDate and endDate must not be in the same minute`.
endDatestring<date-time>Cohort end date. Compared at minute precision (seconds are ignored). Must be strictly after `startDate` at minute level. If in the same minute as `startDate`, returns `422` with `startDate and endDate must not be in the same minute`.
curriculaVersionIdstringisArchivedbooleanResponses
200Updated cohort
dataCohortrequiredShow propertiesHide properties
idstringrequirednamestringrequiredinstitutionIdstringrequiredstartDatestring<date-time>requiredendDatestring<date-time>requiredcurriculaVersionIdstringrequiredstudyProgramVersionIdstringrequiredisArchivedbooleanrequiredhasDisconnectedFromCurriculabooleanoriginalCurriculaVersionIdstring | nullmetaResponseMetarequiredShow 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
objectfieldstringmessagestring422Unprocessable Entity — validation or business rule error
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/cohorts/string" \
-H "Content-Type: application/json" \
-d '{
"name": "string",
"startDate": "2024-01-01T00:00:00Z",
"endDate": "2024-01-01T00:00:00Z",
"curriculaVersionId": "string",
"isArchived": true
}'const response = await fetch("https://fuxam.app/api/v4/study-programs/string/cohorts/string", {
method: "PATCH",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
"name": "string",
"startDate": "2024-01-01T00:00:00Z",
"endDate": "2024-01-01T00:00:00Z",
"curriculaVersionId": "string",
"isArchived": true
})
});import requests
response = requests.patch(
"https://fuxam.app/api/v4/study-programs/string/cohorts/string",
headers={
"Content-Type": "application/json"
},
json={
"name": "string",
"startDate": "2024-01-01T00:00:00Z",
"endDate": "2024-01-01T00:00:00Z",
"curriculaVersionId": "string",
"isArchived": True
},
)Response
{
"data": {
"id": "coh_001",
"name": "WS 2024/25",
"institutionId": "inst_123",
"startDate": "2024-10-01T00:00:00.000Z",
"endDate": "2027-09-30T00:00:00.000Z",
"curriculaVersionId": "cv_001",
"studyProgramVersionId": "spv_001",
"isArchived": false,
"hasDisconnectedFromCurricula": false,
"originalCurriculaVersionId": "string"
},
"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"
}
]
}{
"type": "error",
"code": "resource_not_found",
"title": "Not Found",
"status": 404,
"detail": "Course not found",
"instance": "req_1234567890_abc",
"errors": [
{
"field": "string",
"message": "string"
}
]
}