Skip to content
API documentation
View as MarkdownOpen in Claude

Exams

Fetch one exam category

GET
/v1/{organizationId}/exam-category/{categoryId}

Returns one of the organization’s exam categories, active or not.

An id that names no category in this organization answers 404 not_found, and an id that is not 24 hexadecimal digits is refused with 400.

An exam’s category on listExams and getExam is already this record, so you only need this call for a category id you hold on its own. A read only: nothing changes, and it is safe to repeat.

Parameters

Path parameters

NameTypeDescription
organizationIdrequiredstringpattern ^[0-9a-f]{24}$

The organization’s _id: 24 hexadecimal digits, as listOrganizations (GET /v1/organization) lists it.

Example 64b7f0c2a1d3e4f5a6b7c8d9

categoryIdrequiredstring

The category’s _id, as listExamCategories lists it or as an exam’s category._id carries it.

Responses

200 OK

Success: message is "Category fetched successfully.".

Body

  • successbooleanrequired

    Always true on a success.

    one oftrue

  • messagestringrequired

    exampleCategory fetched successfully.

  • dataobject · ExamCategoryResponserequired

    A subject an organization runs exams in.

    9 fields of data
    • _idstringrequired

      The category’s id.

      example6650a1b2c3d4e5f6a7b8c9e3

    • namestring

      The category’s name, as students see it.

      exampleMathematics

    • altNamestring

      A second name for the category, where one is set.

      exampleMaths

    • ordernumber

      Where the category sorts among the others, lowest first. The available-exams tree is in this order.

      example1

    • isActiveboolean

      Whether the category is live. No exam in an inactive category is open for applications.

      exampletrue

    • nonAcceptedReplacementsarray of string

      Ids of the categories an application in this one may not be moved to: moveApplication refuses such a move.

      example["6650a1b2c3d4e5f6a7b8c9ea"]

    • studyMaterialLinksarray of string

      Links to study material for the category.

      example["https://example.org/study/mathematics"]

    • createdAtstring

      When the record was created.

      formatdate-timeexample2026-09-01T09:30:00.000Z

    • updatedAtstring

      When the record last changed.

      formatdate-timeexample2026-09-02T14:05:00.000Z

Headers

X-RateLimit-Limit integer

Requests your account may make to this operation per window (100).

X-RateLimit-Remaining integer

Requests left in the current window.

X-RateLimit-Reset integer

Seconds until the current window ends.

Example

{
  "success": true,
  "message": "Category fetched successfully.",
  "data": {
    "_id": "6650a1b2c3d4e5f6a7b8c9e3",
    "name": "Mathematics",
    "altName": "Maths",
    "order": 1,
    "isActive": true,
    "nonAcceptedReplacements": [
      "6650a1b2c3d4e5f6a7b8c9ea"
    ],
    "studyMaterialLinks": [
      "https://example.org/study/mathematics"
    ],
    "createdAt": "2026-09-01T09:30:00.000Z",
    "updatedAt": "2026-09-02T14:05:00.000Z"
  }
}

Example request

# $TOKEN: a short-lived token you minted with your API key and secret
curl -sS 'https://api.main-team.org/v1/<organizationId>/exam-category/<categoryId>' \
  -H "Authorization: Bearer $TOKEN"

Search the API documentation

Guides, endpoints by name, path or permission, and error codes such as not_found.