Skip to content
API documentation
View as MarkdownOpen in Claude

Applications

Fetch one of your students’ applications

GET
/v1/{organizationId}/application/{applicationId}

Reads one application of one of your students, with exam, payment and the student (user) resolved into records. Inside exam, session, category and language stay ids.

Your students are the ones your account registered: an application of anyone else’s student answers 404, as an unknown id does.

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

applicationIdrequiredstring

The application’s _id, from createApplication or one of the application lists.

Responses

200 OK

Success: message is "Application fetched successfully.".

Body

  • successbooleanrequired

    Always true on a success.

    one oftrue

  • messagestringrequired

    exampleApplication fetched successfully.

  • dataobject · ApplicationResponserequired

    An application of one of your students, with its exam, user (the student) and payment resolved into records.

    16 fields of data
    • _idstringrequired

      The application’s id: what applicationId takes.

      example6650a1b2c3d4e5f6a7b8c9e5

    • examobject · ExamRecordResponsenullablerequired

      The exam applied for. Its own session, category and language are ids. null if the exam no longer exists.

      14 fields of exam
      • _idstringrequired

        The exam’s id: the examId that createApplication and moveApplication take.

        example6650a1b2c3d4e5f6a7b8c9e1

      • sessionstring

        The id of the sitting the exam is on.

        example6650a1b2c3d4e5f6a7b8c9e2

      • categorystring

        The id of the exam’s category.

        example6650a1b2c3d4e5f6a7b8c9e3

      • languagestring

        The id of the language the exam is sat in, when it has one.

        example6650a1b2c3d4e5f6a7b8c9e4

      • gradesarray of string

        The grades that may sit the exam. A student in any other grade is not offered it and cannot apply to it. Grade ids are the same in every organization.

        example["6650a1b2c3d4e5f6a7b8c9d4"]

      • countriesarray of string

        The countries the exam is restricted to; empty or absent, it is open to every country. Ids of the organization’s own country records, which need not match the ones listCountries gives.

        example[]

      • examTypestring

        standard or essay.

        one ofstandardessay

        examplestandard

      • examTimenumber

        The time limit, in minutes, from when the student starts.

        example75

      • durationnumber

        How many hours the exam can be started in, counted from the start of the sitting.

        example15

      • questionCountnumber

        How many questions the exam has.

        example30

      • pricenumber

        What an application costs, as a number; no currency is given. Absent when the exam has no price: an application to it is charged 0.

        example25

      • preventApplicationboolean

        Whether the exam is closed to new applications. A closed exam is never listed, so on the exam reads this is false or absent.

        examplefalse

      • 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

    • userobject · StudentRefResponserequired

      The student the application is for.

      4 fields of user
      • _idstringrequired

        The organization’s own id for the student. It differs from the id you registered them with: match on mainId.

        example6650a1b2c3d4e5f6a7b8c9e9

      • mainIdstringrequired

        The student’s id: the one you registered them with, and what every studentId takes.

        example6650a1b2c3d4e5f6a7b8c9d0

      • firstNamestring

        The student’s first name.

        exampleJane

      • lastNamestring

        The student’s surname.

        exampleDoe

    • paymentobject · PaymentResponsenullable

      The application’s payment. null if the stored reference no longer resolves; absent when none is set.

      8 fields of payment
      • _idstringrequired

        The payment’s id.

        example6650a1b2c3d4e5f6a7b8c9e6

      • statusstringrequired

        pending: not paid yet. paid: settled; a free exam’s payment is paid from the start, with amount 0. canceled: will not be paid. An application whose payment is paid with an amount above 0 cannot be deleted, and can move only to an exam of the same price.

        one ofpendingpaidcanceled

        examplepending

      • amountnumber

        What is due, or was paid, as a number; no currency is given. 0 for a free exam. Moving an unpaid application to another exam changes it to that exam’s price.

        example25

      • applicationstring

        The id of the application it pays for.

        example6650a1b2c3d4e5f6a7b8c9e5

      • examstring

        The id of the exam it pays for.

        example6650a1b2c3d4e5f6a7b8c9e1

      • forstring

        The organization’s own id for the student it is for.

        example6650a1b2c3d4e5f6a7b8c9e9

      • createdAtstring

        When the payment was created.

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

      • updatedAtstring

        When the payment last changed.

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

    • partnersarray of ApplicationPartnerResponserequired

      On a team exam, the other members of the team. Empty for an exam sat alone.

      2 fields of each item
      • userstring

        The team member’s id in this organization. Not one of your students’ ids, and not resolved.

        example6650a1b2c3d4e5f6a7b8c9d6

      • acceptedboolean

        Whether they have accepted the invitation to the team.

        exampletrue

    • participatedbooleanrequired

      Whether the student has started the exam. A started application cannot be moved to another exam.

      examplefalse

    • examStartstring

      When the student started the exam; absent until then.

      formatdate-timeexample2026-11-14T10:04:12.000Z

    • examSubmittedboolean

      Whether the student has handed the exam in. A handed-in application cannot be moved to another exam.

      examplefalse

    • submitDatestring

      When the student handed the exam in; absent until then.

      formatdate-timeexample2026-11-14T11:12:40.000Z

    • simulationStartedbooleanrequired

      Whether the student has started the practice run.

      examplefalse

    • simulationStartstring

      When the student started the practice run; absent until then.

      formatdate-timeexample2026-11-07T10:00:00.000Z

    • simulationSubmittedbooleanrequired

      Whether the student has handed the practice run in.

      examplefalse

    • removeAfterstring

      Only on an application to an exam on a make-up sitting: when it will be removed, 6 hours after it was made.

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

    • uuidstringrequired

      A short reference code for the application.

      examplea3f-09c-7e1

    • createdAtstringrequired

      When the application was made.

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

    • updatedAtstringrequired

      When the application 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": "Application fetched successfully.",
  "data": {
    "_id": "6650a1b2c3d4e5f6a7b8c9e5",
    "exam": {
      "_id": "6650a1b2c3d4e5f6a7b8c9e1",
      "session": "6650a1b2c3d4e5f6a7b8c9e2",
      "category": "6650a1b2c3d4e5f6a7b8c9e3",
      "language": "6650a1b2c3d4e5f6a7b8c9e4",
      "grades": [
        "6650a1b2c3d4e5f6a7b8c9d4"
      ],
      "countries": [],
      "examType": "standard",
      "examTime": 75,
      "duration": 15,
      "questionCount": 30,
      "price": 25,
      "preventApplication": false,
      "createdAt": "2026-09-01T09:30:00.000Z",
      "updatedAt": "2026-09-02T14:05:00.000Z"
    },
    "user": {
      "_id": "6650a1b2c3d4e5f6a7b8c9e9",
      "mainId": "6650a1b2c3d4e5f6a7b8c9d0",
      "firstName": "Jane",
      "lastName": "Doe"
    },
    "payment": {
      "_id": "6650a1b2c3d4e5f6a7b8c9e6",
      "status": "pending",
      "amount": 25,
      "application": "6650a1b2c3d4e5f6a7b8c9e5",
      "exam": "6650a1b2c3d4e5f6a7b8c9e1",
      "for": "6650a1b2c3d4e5f6a7b8c9e9",
      "createdAt": "2026-09-01T09:30:00.000Z",
      "updatedAt": "2026-09-02T14:05:00.000Z"
    },
    "partners": [
      {
        "user": "6650a1b2c3d4e5f6a7b8c9d6",
        "accepted": true
      }
    ],
    "participated": false,
    "examStart": "2026-11-14T10:04:12.000Z",
    "examSubmitted": false,
    "submitDate": "2026-11-14T11:12:40.000Z",
    "simulationStarted": false,
    "simulationStart": "2026-11-07T10:00:00.000Z",
    "simulationSubmitted": false,
    "removeAfter": "2026-09-02T14:05:00.000Z",
    "uuid": "a3f-09c-7e1",
    "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>/application/<applicationId>' \
  -H "Authorization: Bearer $TOKEN"

Search the API documentation

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