Skip to content
API documentation

Reference

API reference

Every endpoint, grouped by what it works on. Each path starts with /v1 on https://api.main-team.org, and an endpoint that names a permission takes a bearer token.

47 endpoints · API 1.2.0

Health

1 endpoint

Whether the API is up. No token needed, so it is the first call to make against an environment.

Read the Health guide

API account

2 endpoints

The account your token belongs to, and revoking a token before it expires.

Read the API account guide

Reference data

6 endpoints

Countries, grades and organizations. A student’s country and grade take these _ids, and so does every :organizationId in a path.

Read the Reference data guide

Students

12 endpoints

Registering your students, reading and updating them, setting a password, and what each organization holds for them. You only ever see the students your account registered.

Read the Students guide

1 endpoint

Links that sign one of your students into an organization’s panel. Each works once and expires two minutes after it is issued.

Read the Sign-in links guide

Exams

5 endpoints

The exam categories and exams an organization runs, and the ones one of your students can apply to.

Read the Exams guide

Applications

7 endpoints

Entering your students for exams: creating, reading, moving and deleting their applications.

Read the Applications guide

Documents

4 endpoints

Your students’ certificates and reports: listing them and downloading the files.

Read the Documents guide

Group challenges

9 endpoints

Online group challenges your students take part in: the challenges, which of your students can join, the groups they are in, each step and its files, what happened in a group, and submitting on your student’s behalf.

Read the Group challenges guide

Permissions

Each endpoint needs one permission, granted by a role on your API account. A role allows an action on a target:

Action
The permission itself, such as student/read. student/* covers every student/… action, and * covers all of them.
Core record
An endpoint with no organization in its path. A role counts when its target is mto or *.
Per organization
An endpoint under /v1/{organizationId}. A role counts when its target is that organization's slug, or *.
The permission each endpoint needs, and where a role must grant it
EndpointPermissionTarget
Health
Check that the API is upGET/v1/healthnoneNo token
API account
Revoke the token you send, before it expiresPOST/v1/api-account/revoke-tokenapi/*Core record
Fetch the API account your token belongs toGET/v1/api-account/validate-meapi/*Core record
Reference data
List the countries a student can be registered inGET/v1/countrycountry/readCore record
Fetch one country by its idGET/v1/country/{id}country/readCore record
List the grades a student can be registered withGET/v1/gradegrade/readCore record
Fetch one grade by its idGET/v1/grade/{id}grade/readCore record
List the organizations and their idsGET/v1/organizationorganization/readCore record
Fetch one organization by its idGET/v1/organization/{id}organization/readCore record
Students
List your studentsGET/v1/studentstudent/readCore record
Register a studentPOST/v1/studentstudent/createCore record
Check a registration without registering the studentPOST/v1/student/checkstudent/createCore record
Register many students at oncePOST/v1/student/importstudent/createCore record
Follow a batch of students you sentGET/v1/student/import/{importId}student/createCore record
Fetch one of your studentsGET/v1/student/{studentId}student/readCore record
Update one of your studentsPUT/v1/student/{studentId}student/updateCore record
Set the sign-in password of one of your studentsPUT/v1/student/{studentId}/passwordauth/signinCore record
List your students who can use this organizationGET/v1/{organizationId}/studentstudent/readPer organization
Fetch one of your students, if they can use this organizationGET/v1/{organizationId}/student/{studentId}student/readPer organization
Update one of your students and give them access to this organizationPUT/v1/{organizationId}/student/{studentId}student/updatePer organization
Link one of your students to a supervisor on this organizationPUT/v1/{organizationId}/student/{studentId}/supervisorstudent/updatePer organization
Sign-in links
Create a single-use sign-in link for one of your studentsPOST/v1/{organizationId}/auth/signinauth/signinPer organization
Exams
List the exams open for applicationsGET/v1/{organizationId}/examexam/readPer organization
List an organization’s exam categoriesGET/v1/{organizationId}/exam-categoryexam-category/readPer organization
Fetch one exam categoryGET/v1/{organizationId}/exam-category/{categoryId}exam-category/readPer organization
List the exams one of your students can apply toGET/v1/{organizationId}/exam/available/{studentId}exam/readPer organization
Fetch one exam that is open for applicationsGET/v1/{organizationId}/exam/{examId}exam/readPer organization
Applications
List your students’ applications in this organizationGET/v1/{organizationId}/applicationapplication/readPer organization
Enter one of your students for an examPOST/v1/{organizationId}/applicationapplication/createPer organization
List your students’ applications for one examGET/v1/{organizationId}/application/exam-applications/{examId}application/readPer organization
List one of your students’ applications in this organizationGET/v1/{organizationId}/application/student-applications/{studentId}application/readPer organization
Fetch one of your students’ applicationsGET/v1/{organizationId}/application/{applicationId}application/readPer organization
Move one of your students’ applications to another examPUT/v1/{organizationId}/application/{applicationId}application/updatePer organization
Withdraw one of your students from an examDELETE/v1/{organizationId}/application/{applicationId}application/deletePer organization
Documents
Download a certificate fileGET/v1/{organizationId}/certificate/download/{certificateId}certificate/readPer organization
List one of your students’ released certificatesGET/v1/{organizationId}/certificate/{userId}certificate/readPer organization
Download a result report fileGET/v1/{organizationId}/report/download/{reportId}report/readPer organization
List one of your students’ released result reportsGET/v1/{organizationId}/report/{userId}report/readPer organization
Group challenges
List the group challenges an organization runsGET/v1/{organizationId}/group-challengegroup-challenge/readPer organization
Fetch one group challengeGET/v1/{organizationId}/group-challenge/{challengeId}group-challenge/readPer organization
List the groups your students are in for a group challengeGET/v1/{organizationId}/group-challenge/{challengeId}/groupgroup-challenge/readPer organization
Fetch one group, with its steps and filesGET/v1/{organizationId}/group-challenge/{challengeId}/group/{groupId}group-challenge/readPer organization
List what has happened in one groupGET/v1/{organizationId}/group-challenge/{challengeId}/group/{groupId}/activitygroup-challenge/readPer organization
Send a group’s finished work for one of your studentsPOST/v1/{organizationId}/group-challenge/{challengeId}/group/{groupId}/final-submitgroup-challenge/submitPer organization
Submit one step of a group for one of your studentsPOST/v1/{organizationId}/group-challenge/{challengeId}/group/{groupId}/step/{stepId}/submitgroup-challenge/submitPer organization
List your students’ eligibility and groups for a group challengeGET/v1/{organizationId}/group-challenge/{challengeId}/studentgroup-challenge/readPer organization
Fetch one of your students’ eligibility and group for a group challengeGET/v1/{organizationId}/group-challenge/{challengeId}/student/{studentId}group-challenge/readPer organization

Search the API documentation

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