PATCH /api/v1/cats/{id}

Updates CAT information such as title, description, marks, or scheduling. Only admins and lecturers can update CATs.

Path parameters

  • id string Required

    CAT ID to update

application/json

Body Required

Updated CAT data (partial update supported)

  • title string
  • releaseDate string(date-time)
  • dueDate string(date-time)
  • durationMinutes number
  • score number
  • status string

    Values are ARCHIVED, DRAFT, COMPLETED, RELEASED, GRADED, UPCOMING, or ACTIVE. Default value is DRAFT.

  • maxAttempts number

    Default value is 1.

Responses

  • 200 application/json

    CAT updated successfully

  • 400

    Invalid input data

  • 403

    Insufficient permissions - requires ADMIN or LECTURER role

  • 404

    CAT not found

PATCH /api/v1/cats/{id}
curl \
 --request PATCH 'http://localhost:3500/api/v1/cats/123e4567-e89b-12d3-a456-426614174000' \
 --header "Content-Type: application/json" \
 --data '{"title":"string","releaseDate":"2025-05-04T09:42:00Z","dueDate":"2025-05-04T09:42:00Z","durationMinutes":42.0,"score":42.0,"status":"DRAFT","maxAttempts":1}'
Request examples
{
  "title": "string",
  "releaseDate": "2025-05-04T09:42:00Z",
  "dueDate": "2025-05-04T09:42:00Z",
  "durationMinutes": 42.0,
  "score": 42.0,
  "status": "DRAFT",
  "maxAttempts": 1
}
Response examples (200)
{
  "cat": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "marks": 35,
    "title": "Updated Midterm CAT 1",
    "status": "RELEASED",
    "description": "Updated description"
  },
  "message": "CAT updated successfully"
}