GET /api/v1/unit-instance/{unit}/cats

Retrieve Continuous Assessment Tests for a unit filtered by access level. NORMAL level returns student-accessible CATs, HIGH returns all CATs including drafts.

Path parameters

  • unit string Required

    UUID of the unit instance (unit offering)

Query parameters

  • level string

    Access level filter - HIGH: all CATs, NORMAL: published CATs, LOW: draft CATs

    Values are HIGH, NORMAL, or LOW.

Responses

  • 200 application/json

    CATs retrieved successfully

  • 400 application/json

    Default bad request error 400 response

    Hide response attributes Show response attributes object
    • message string Required

      Response message

    • error string Required
    • statusCode number Required
  • 404

    Unit not found

GET /api/v1/unit-instance/{unit}/cats
curl \
 --request GET 'https://api.echoplain.social/api/v1/unit-instance/123e4567-e89b-12d3-a456-426614174000/cats'
Response examples (200)
{
  "cats": [
    {
      "id": "cat-654",
      "title": "CAT 1 - Introduction to Algorithms",
      "status": "SCHEDULED",
      "endTime": "2025-11-25T10:00:00Z",
      "duration": 60,
      "startTime": "2025-11-25T09:00:00Z",
      "totalMarks": 50,
      "attemptsTaken": 0,
      "attemptsAllowed": 1
    },
    {
      "id": "cat-655",
      "title": "CAT 2 - Data Structures",
      "status": "DRAFT",
      "endTime": "2025-12-10T10:30:00Z",
      "duration": 90,
      "startTime": "2025-12-10T09:00:00Z",
      "totalMarks": 75,
      "attemptsTaken": 0,
      "attemptsAllowed": 1
    }
  ],
  "unitId": "123e4567-e89b-12d3-a456-426614174000",
  "totalCats": 2,
  "accessLevel": "NORMAL"
}
Response examples (400)
{
  "message": "string",
  "error": "string",
  "statusCode": 42.0
}