clients.pythonSubmitQuizOutSubmitQuizOutclients.typescriptSubmitQuizOutSubmitQuizOutclients.javascriptSubmitQuizOutSubmitQuizOutclients.javaSubmitQuizOutSubmitQuizOutclients.cppSubmitQuizOutSubmitQuizOutclients.phpSubmitQuizOutSubmitQuizOutauth.loginOn success, token is a valid token and error is empty. On failure, token is empty and error is a message.
CredentialsInCredentialsOutauth.logoutSubmitQuizOutSubmitQuizOutauth.loginExamOn success, token is a valid token and error is empty. On failure, token is empty and error is a message.
ExamCredentialsInCredentialsOutauth.loginWithUsernameOn success, token is a valid token and error is empty. On failure, token is empty and error is a message. Created for backward compatibility, do not use.
CredentialsWithUsernameInCredentialsOutmisc.getApiVersionSubmitQuizOutApiVersionmisc.getRequestInformationSubmitQuizOutRequestInformationmisc.getFortuneSubmitQuizOutmisc.getTimeSubmitQuizOutTimemisc.getHomepageStatsSubmitQuizOutHomepageStatsmisc.getLogoSubmitQuizOutSubmitQuizOutmisc.getAvatarPacksAvatars are used in exams and contests to identify students or participants.
SubmitQuizOutmisc.getExamIconsExam icon are used in exams and contests to identify problems.
SubmitQuizOutTagsDictmisc.getColorsColor mappings may be used to colorize keys in the frontends. Color names are as defined in https://github.com/timoxley/colornames
SubmitQuizOutColorMappingmisc.getHexColorsColor mappings may be used to colorize keys in the frontends.
SubmitQuizOutColorMappingmisc.getDemosForCompilertables.getReturns all compilers, countries, drivers, languages, proglangs, and verdicts in a single request. This data does not change often, so you should only request it once per session.
SubmitQuizOutAllTablestables.getLanguagesReturns all languages as a dictionary of objects, indexed by id.
SubmitQuizOutLanguagetables.getCountriesReturns all countries as a dictionary of objects, indexed by id.
SubmitQuizOutCountrytables.getCompilersReturns all compilers as a dictionary of objects, indexed by id.
SubmitQuizOutCompilertables.getDriversReturns all drivers as a dictionary of objects, indexed by id.
SubmitQuizOutDrivertables.getVerdictsReturns all verdicts as a dictionary of objects, indexed by id.
SubmitQuizOutVerdicttables.getProglangsReturns all proglangs (porgramming languages) as a dictionary of objects, indexed by id.
SubmitQuizOutProglangproblems.getAllAbstractProblemsIncludes problems.
SubmitQuizOutAbstractProblemproblems.getAbstractProblemsIncludes problems.
AbstractProblemproblems.getAbstractProblemsInListIncludes problems.
AbstractProblemproblems.getAbstractProblemIncludes problems
AbstractProblemproblems.getAbstractProblemSupplIncludes accepted compilers and accepted proglangs
AbstractProblemSupplproblems.getProblemIncludes abstract problem.
Problemproblems.getProblemSupplIncludes accepted compilers, accepted proglangs, official solutions checks and handler specifications
ProblemSupplproblems.getSampleTestcasesTestcaseproblems.getPublicTestcasesPublic testcases are like sample testcases, but are not meant to be shown in the problem statatement, because of their long length.
Testcaseproblems.getZipStatementSubmitQuizOutproblems.getPdfStatementSubmitQuizOutproblems.getHtmlStatementproblems.getTextStatementproblems.getMarkdownStatementproblems.getShortHtmlStatementproblems.getShortTextStatementproblems.getShortMarkdownStatementproblems.getTemplatesproblems.getTemplate| problem_id | string |
| template | string |
SubmitQuizOutproblems.semanticSearch| query | string |
| limit | number |
SearchResultsproblems.fullTextSearch| query | string |
| limit | number |
SearchResultsstudent.keys.getSubmitQuizOutAllKeysstudent.keys.getProblemsSubmitQuizOutstudent.keys.getEnrolledCoursesSubmitQuizOutstudent.keys.getAvailableCoursesSubmitQuizOutstudent.keys.getListsSubmitQuizOutstudent.profile.getIn case of exams, some fields are not nullified to avoid cheating.
SubmitQuizOutProfilestudent.profile.getAvatarSubmitQuizOutSubmitQuizOutstudent.profile.updateNewProfileSubmitQuizOutstudent.profile.updateAvatarSubmitQuizOutSubmitQuizOutstudent.profile.updatePasswordReceives the old password and the new one, and changes the password if the old one is correct and the new one strong enough.
NewPasswordSubmitQuizOutstudent.dashboard.getAbsoluteRankingSubmitQuizOutstudent.dashboard.getAllDistributionsSubmitQuizOutAllDistributionsstudent.dashboard.getCompilersDistributionSubmitQuizOutDistributionstudent.dashboard.getDashboardSubmitQuizOutDashboardstudent.dashboard.getHeatmapCalendarSubmitQuizOutHeatmapCalendarstudent.dashboard.getProglangsDistributionSubmitQuizOutDistributionstudent.dashboard.getStatsSubmitQuizOutDistributionstudent.dashboard.getLevelSubmitQuizOutstudent.dashboard.getSubmissionsByHourSubmitQuizOutDistributionstudent.dashboard.getSubmissionsByWeekDaySubmitQuizOutDistributionstudent.dashboard.getVerdictsDistributionSubmitQuizOutDistributionstudent.submissions.indexForAbstractProblemGrouped by problem.
Submissionstudent.submissions.indexForProblemSubmissionstudent.submissions.getAllFlat array of submissions in chronological order.
SubmitQuizOutSubmissionstudent.submissions.submit| problem_id | string |
| compiler_id | string |
| code | string |
| annotation | string |
student.submissions.submitFullNewSubmissionInNewSubmissionOutstudent.submissions.getGetGameResultInSubmissionstudent.submissions.getCodeAsB64GetGameResultInstudent.submissions.getCodeMetricsSee https://github.com/jutge-org/jutge-code-metrics for details.
GetGameResultInstudent.submissions.getAwardsGetGameResultInstudent.submissions.getAnalysisGetGameResultInSubmissionAnalysisstudent.submissions.getTestcaseAnalysis| problem_id | string |
| submission_id | string |
| testcase | string |
TestcaseAnalysisstudent.submissions.getGameResultGetGameResultInGetGameResultOutstudent.submissions.getGameOutputGetGameOutputInstudent.courses.indexAvailableSubmitQuizOutBriefCoursestudent.courses.indexEnrolledSubmitQuizOutBriefCoursestudent.courses.getAvailableIncludes owner and lists.
Coursestudent.courses.getEnrolledIncludes owner and lists.
Coursestudent.courses.enrollSubmitQuizOutstudent.courses.unenrollSubmitQuizOutstudent.lists.getAllSubmitQuizOutBriefListstudent.lists.getIncludes items, owner.
Liststudent.exam.getReadyExamsAn exam is ready if the current time is between its expected start time minus two days and its expected end time plus two days. Exams are sorted by their distance to the current time and by title order in case of ties.
SubmitQuizOutReadyExamstudent.exam.getSubmitQuizOutRunningExamstudent.exam.getDocumentRunningExamDocumentstudent.exam.getDocumentPdfSubmitQuizOutstudent.exam.getRankingSubmitQuizOutRankingstudent.statuses.getAllSubmitQuizOutAbstractStatusstudent.statuses.getForAbstractProblemAbstractStatusstudent.statuses.getForProblemStatusstudent.awards.getAllSubmitQuizOutBriefAwardstudent.awards.getAwardstudent.quizzes.takeQuizTakeQuizInTakeQuizOutstudent.quizzes.submitQuizSubmitQuizInSubmitQuizOutstudent.quizzes.getQuizDataGetGameResultInGetQuizDataOutinstructor.documents.indexSubmitQuizOutDocumentinstructor.documents.getThe PDF file is not included in the response.
Documentinstructor.documents.getPdfSubmitQuizOutinstructor.documents.createDocumentCreationSubmitQuizOutinstructor.documents.updateDocumentCreationSubmitQuizOutinstructor.documents.removeSubmitQuizOutinstructor.lists.indexSubmitQuizOutInstructorBriefListinstructor.lists.getInstructorListinstructor.lists.createInstructorListCreationSubmitQuizOutinstructor.lists.updateInstructorListCreationSubmitQuizOutinstructor.lists.removeSubmitQuizOutinstructor.lists.getArchivedAt some point, endpoints related to archiving lists should change as the archive bit will be an attribute of each list.
SubmitQuizOutinstructor.lists.archiveSubmitQuizOutinstructor.lists.unarchiveSubmitQuizOutinstructor.courses.indexSubmitQuizOutInstructorBriefCourseinstructor.courses.getInstructorCourseinstructor.courses.createOnly invited students and tutors are taken into account. Enrolled and pending students and tutors are ignored, as these are managed by the system.
InstructorCourseCreationSubmitQuizOutinstructor.courses.updateOnly invited students and tutors are taken into account. Enrolled and pending students and tutors are ignored, as these are managed by the system.
InstructorCourseUpdateSubmitQuizOutinstructor.courses.removeA course should not be deleted. Ask a system administrator to remove it if you really need it.
SubmitQuizOutinstructor.courses.sendInviteToStudentsPlease do not abuse.
SubmitQuizOutinstructor.courses.sendInviteToTutorsPlease do not abuse.
SubmitQuizOutinstructor.courses.getStudentProfilesStudentProfileinstructor.courses.getTutorProfilesStudentProfileinstructor.courses.getArchivedAt some point, endpoints related to archiving courses should change as the archive bit will be an attribute of each course.
SubmitQuizOutinstructor.courses.archiveSubmitQuizOutinstructor.courses.unarchiveSubmitQuizOutinstructor.exams.indexSubmitQuizOutInstructorBriefExaminstructor.exams.getInstructorExaminstructor.exams.getDocumentsRunningExamDocumentinstructor.exams.getProblemsInstructorExamProbleminstructor.exams.getStudentsInstructorExamStudentinstructor.exams.getStudent| exam_nm | string |
string |
InstructorExamStudentinstructor.exams.getSubmissionsMeant for real-time streaming of submissions, most instructors will possibly prefer getSubmissionsPack.
| exam_nm | string |
| options | InstructorExamSubmissionsOptions |
WebStreaminstructor.exams.getSubmissionsPackThis endpoint will prepare the pack in the background and return a link to download it later. Packs take some time to be prepared, and are deleted after 24 hours. This is the preferred endpoint for most instructors, as it is simpler to use than getSubmissions.
| exam_nm | string |
| options | InstructorExamSubmissionsOptions |
Packinstructor.exams.getStatisticsExamStatisticsinstructor.exams.createInstructorExamCreationSubmitQuizOutinstructor.exams.updateInstructorExamUpdateSubmitQuizOutinstructor.exams.updateDocuments| exam_nm | string |
| document_nms | array of string |
SubmitQuizOutinstructor.exams.updateCompilers| exam_nm | string |
| compiler_ids | array of string |
SubmitQuizOutinstructor.exams.updateProblems| exam_nm | string |
| problems | array of InstructorExamProblem |
SubmitQuizOutinstructor.exams.updateStudents| exam_nm | string |
| students | array of InstructorExamStudent |
SubmitQuizOutinstructor.exams.addStudents| exam_nm | string |
| students | array of InstructorExamStudent |
SubmitQuizOutinstructor.exams.removeStudents| exam_nm | string |
| emails | array of string |
SubmitQuizOutinstructor.exams.removeNote: An exam can only be deleted if it has not started.
SubmitQuizOutinstructor.exams.getArchivedAt some point, endpoints related to archiving exams should change as the archive bit will be an attribute of each exam.
SubmitQuizOutinstructor.exams.archiveSubmitQuizOutinstructor.exams.unarchiveSubmitQuizOutinstructor.exams.getRankingUnder development.
Rankinginstructor.problems.getOwnProblemsSubmitQuizOutinstructor.problems.setSharingSettingsWithout a passcode, the problem is visible to all users. With a passcode, the problem is only visible to users with the correct passcode. With shared testcases, the testcases are shared with instructors. With shared solutions, the solutions are shared with instructors.
SharingSettingsSubmitQuizOutinstructor.problems.getSharingSettingsSharingSettingsinstructor.problems.getAllSharingSettingsSubmitQuizOutSharingSettingsinstructor.problems.setDeprecationIf the reason is null or empty, the problem is undeprecated.
DeprecationSubmitQuizOutinstructor.problems.getAnonymousSubmissionsThis function is useful to produce statistics about the submissions for an abstract problem. The user ids are anonymized using a nonce.
ProblemAnonymousSubmissioninstructor.problems.downloadSubmitQuizOutinstructor.problems.createThis endpoint uses terminal web streaming: It returns an id from which the problem feedback is streamed over <URL>/api/webstreams/<id>.
WebStreaminstructor.problems.updateThis endpoint uses terminal web streaming: It returns an id from which the problem feedback is streamed over <URL>/api/webstreams/<id>.
WebStreaminstructor.problems.removeA problem can only be removed if it has few submissions.
SubmitQuizOutinstructor.queries.getCourseProblemSubmissionsReturns a list of submissions for a given problem for all students of a given course. Each submission includes the email, time, problem name, problem id, verdict, and IP address. The list is ordered by email and time. Known as ricard01 in the past.
| course_nm | string |
| problem_nm | string |
SubmissionsQueryinstructor.queries.getCourseListSubmissionsReturns a list of submissions for all problems in a given list for all students of a given course. Each submission includes the email, time, problem name, problem id, verdict, and IP address. The list is ordered by email, problem id and time. Known as ricard02 in the past.
| course_nm | string |
| list_nm | string |
SubmissionsQueryinstructor.tags.indexSubmitQuizOutinstructor.tags.getDictSubmitQuizOutTagsDictinstructor.tags.getinstructor.jutgeai.supportedModelsSubmitQuizOutinstructor.jutgeai.supportedImageModelsSubmitQuizOutinstructor.jutgeai.chatSend a conversation (list of system|user|assistant messages) and get the next assistant reply. Models are listed in the `supportedModels` endpoint. This endpoint uses terminal web streaming: It returns an id from which the chat is streamed over <URL>/api/webstreams/<id>. If `addUsage` is true, the usage of the model will be added at the end of the response as a JSON object between `---USAGE_JSON_START---` and `---USAGE_JSON_END---`.
ChatPromptWebStreaminstructor.jutgeai.createImageSome models only accept certain sizes and aspect ratios.
CreateImageInputSubmitQuizOutinstructor.jutgeai.getLlmUsageSubmitQuizOutLlmUsageEntrygames.getGamesSubmitQuizOutgames.getDummygames.getViewerSubmitQuizOutgames.submitMatchSubmitMatchInputNewSubmissionOutadmin.instructors.getSubmitQuizOutInstructorEntriesadmin.instructors.addstring | |
| username | string |
SubmitQuizOutadmin.instructors.removeSubmitQuizOutadmin.users.countSubmitQuizOutadmin.users.createUserCreationSubmitQuizOutadmin.users.removeSubmitQuizOutadmin.users.setPasswordstring | |
| password | string |
| message | string |
SubmitQuizOutadmin.users.getProfilesProfileForAdminadmin.users.getAllWithEmailUsersEmailsAndNamesadmin.users.getSpamUsersSubmitQuizOutadmin.users.removeSpamUsersSubmitQuizOutadmin.dashboard.getAllSubmitQuizOutAdminDashboardadmin.dashboard.getDatabasesInfoSubmitQuizOutDatabasesInfoadmin.dashboard.getFreeDiskSpaceSubmitQuizOutFreeDiskSpaceadmin.dashboard.getRecentConnectedUsersSubmitQuizOutRecentConnectedUsersadmin.dashboard.getRecentLoadAveragesSubmitQuizOutRecentLoadAveragesadmin.dashboard.getRecentSubmissionsSubmitQuizOutRecentSubmissionsadmin.dashboard.getSubmissionsHistogramsSubmitQuizOutSubmissionsHistogramsadmin.dashboard.getZombiesSubmitQuizOutZombiesadmin.dashboard.getUpcomingExams| daysBefore | integer |
| daysAfter | integer |
UpcomingExamsadmin.dashboard.getPM2StatusThis endpoint retrieves the status of PM2 processes as reported by `pm2 jlist`.
SubmitQuizOutadmin.dashboard.getDockerStatusThis endpoint retrieves the status of docker processes as reported by `docker ps --all`.
SubmitQuizOutadmin.queue.getQueueThe `limit` parameter tells the number of submissions to retrieve. The `verdicts` parameter is an array of verdicts to filter the submissions. If no verdicts are provided, all submissions will be retrieved.
QueueQuerySubmissionQueueItemsadmin.tasks.purgeAuthTokensPurge expired access tokens (call it from time to time, it does not hurt)
SubmitQuizOutSubmitQuizOutadmin.tasks.clearCachesSubmitQuizOutSubmitQuizOutadmin.tasks.fatalizeIEsSubmitQuizOutSubmitQuizOutadmin.tasks.fatalizePendingsSubmitQuizOutSubmitQuizOutadmin.tasks.resubmitIEsSubmitQuizOutSubmitQuizOutadmin.tasks.resubmitPendingsSubmitQuizOutSubmitQuizOutadmin.tasks.getFullTextSearchDatabaseSubmitQuizOutSubmitQuizOutadmin.tasks.updateSemanticSearchDatabaseSubmitQuizOutadmin.stats.getCountersSubmitQuizOutadmin.stats.getDistributionOfVerdictsSubmitQuizOutadmin.stats.getDistributionOfVerdictsByYearSubmitQuizOutadmin.stats.getDistributionOfCompilersSubmitQuizOutadmin.stats.getDistributionOfProglangsSubmitQuizOutadmin.stats.getDistributionOfUsersByYearSubmitQuizOutadmin.stats.getDistributionOfUsersByCountrySubmitQuizOutadmin.stats.getDistributionOfUsersBySubmissionsadmin.stats.getRankingOfUsersUserRankingadmin.stats.getDistributionOfSubmissionsByHourSubmitQuizOutadmin.stats.getDistributionOfSubmissionsByProglangSubmitQuizOutadmin.stats.getDistributionOfSubmissionsByCompilerSubmitQuizOutadmin.stats.getDistributionOfSubmissionsByWeekdaySubmitQuizOutadmin.stats.getDistributionOfSubmissionsByYearSubmitQuizOutadmin.stats.getDistributionOfSubmissionsByYearForProglangadmin.stats.getDistributionOfSubmissionsByDaySubmitQuizOutadmin.stats.getHeatmapCalendarOfSubmissionsDateRangeadmin.stats.getDistributionOfDomainsSubmitQuizOutadmin.problems.getSolutionsadmin.problems.getSolutionAsB64| problem_id | string |
| proglang | string |
admin.problems.getSolutionAsFile| problem_id | string |
| proglang | string |
SubmitQuizOutadmin.problems.getProblemSummaryProblemSummaryadmin.problems.getProblemsWithSummarySubmitQuizOutadmin.problems.getProblemsWithoutSummarySubmitQuizOutadmin.problems.getAbstractProblemSolutionTags| problem_nm | string |
SolutionTagsadmin.problems.getAbstractProblemsWithSolutionTagsSubmitQuizOutadmin.problems.getAbstractProblemsWithoutSolutionTagsSubmitQuizOuttesting.check.checkUserSubmitQuizOutSubmitQuizOuttesting.check.checkInstructorSubmitQuizOutSubmitQuizOuttesting.check.checkAdminSubmitQuizOutSubmitQuizOuttesting.check.throwErrorSubmitQuizOuttesting.playground.uploadNametesting.playground.negateSubmitQuizOutSubmitQuizOuttesting.playground.downloadNameSubmitQuizOuttesting.playground.download2Nametesting.playground.pingSubmitQuizOuttesting.playground.toUpperCasetesting.playground.add2iTwoIntstesting.playground.add2fTwoFloatstesting.playground.incTwoIntsTwoIntstesting.playground.add3i| a | integer |
| b | integer |
| c | integer |
testing.playground.somethingSomeTypeSomeTypetesting.playground.clockSubmitQuizOutWebStream