auth

loginLogin: Get an access token

input
CredentialsIn
output
CredentialsOut

logoutLogout: Discard access token

misc

getFortuneGet a fortune message

output
string

getTimeGet server time

output
Time

getHomepageStatsGet homepage stats

output
HomepageStats

getLogoGet Jutge.org logo as a PNG file

tables

getLanguagesReturns all languages

Returns all languages as a dictionary of objects, indexed by id.

output
Languages

getCountriesReturns all countries

Returns all countries as a dictionary of objects, indexed by id.

output
Countries

getCompilersReturns all compilers

Returns all compilers as a dictionary of objects, indexed by id.

output
Compilers

getDriversReturns all drivers

Returns all drivers as a dictionary of objects, indexed by id.

output
Drivers

getVerdictsReturns all verdicts

Returns all verdicts as a dictionary of objects, indexed by id.

output
Verdicts

getProglangsReturns all proglangs

Returns all proglangs as a dictionary of objects, indexed by id.

output
Proglangs

getAllReturns all tables

Returns 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.

output
Tables

problems

getAllAbstractProblemsGet all available abstract problems

Includes problems.

output
AbstractProblems

getAbstractProblemsGet available abstract problems whose keys are in `problem_nms` (comma separated list)

Includes problems.

input
string
output
AbstractProblems

getAbstractProblemsInListGet available abstract problems that belong to a list

Includes problems.

input
string
output
AbstractProblems

getAbstractProblemGet an abstract problem

Includes owner and problems

input
string
output
AbstractProblem

getAbstractProblemExtrasGet extras of an abstract problem

Includes accepted compilers and accepted proglangs

input
string
output
AbstractProblemExtras

getProblemGet a problem

Includes abstract problem, which includes owner

input
string
output
Problem

getProblemExtrasGet extras of a problem.

Includes accepted compilers, accepted proglangs, official solutions checks and handler specifications

input
string
output
ProblemExtras

getSampleTestcasesGet sample testcases of a problem.

input
string
output
Testcases

getPublicTestcasesGet public testcases of a problem.

Public testcases are like sample testcases, but are not meant to be show in the problem statatement, because of their long length.

input
string
output
Testcases

getHtmlStatementGet Html statement of a problem.

Currently, this is suboptimal, but I already know how to improve it.

input
string
output
string

getTextStatementGet Text statement of a problem.

input
string
output
string

getMarkdownStatementGet Markdown statement of a problem.

input
string
output
string

getPdfStatementGet PDF statement of a problem.

input
string

getZipStatementGet ZIP archive of a problem.

input
string

student

student.keys

getAllGet problem, courses (enrolled and available) and list keys.

output
AllKeys

getProblemsGet problem keys.

output
Array of
string

getEnrolledCoursesGet enrolled course keys.

output
Array of
string

getAvailableCoursesGet available course keys.

output
Array of
string

getListsGet list keys.

output
Array of
string

student.profile

getGet the profile.

output
Profile

updateUpdate the profile

input
NewProfile

getAvatarReturns the avatar as a PNG file.

setAvatarSet a PNG file as avatar

changePasswordChange password

Receives the old password and the new one, and changes the password if the old one is correct

input
PasswordUpdate

student.dashboard

getAllDistributionsGet all distributions

output
Distributions

getCompilersDistributionGet compilers distribution

output
Distribution

getDashboardGet dashboard

output
Dashboard

getHeatmapCalendarGet heatmap calendar of submissions

output
HeatmapCalendar

getProglangsDistributionGet programming languages distribution

output
Distribution

getStatsGet dashboard stats

output
DashboardStats

getSubmissionsByHourGet submissions by hour distribution

output
Distribution

getSubmissionsByWeekDayGet submissions by weekday distribution

output
Distribution

getVerdictsDistributionGet verdicts distribution

output
Distribution

student.submissions

getAllGet all submissions.

Flat array of submissions in chronological order.

output
Submissions

getForAbstractProblemGet all submissions for an abstract problem.

Grouped by problem.

input
string
output
DictDictSubmissions

getForProblemGet all submissions for a problem.

input
string
output
DictSubmissions

getGet a submission.

input
problem_id
string
submission_id
string
output
Submission

submitPerform a submission.

input
problem_id
string
compiler_id
string
annotation
string
output
SubmissionPostOut

student.courses

getAllAvailableGet all available courses.

output
BriefCourses

getAllEnrolledGet all enrolled courses.

output
BriefCourses

getAvailableGet an available course.

Includes owner and lists.

input
string
output
Course

getEnrolledGet an enrolled course.

Includes owner and lists.

input
string
output
Course

enrollEnroll in an available course.

input
string

unenrollUnenroll from an enrolled course.

input
string

student.lists

getAllGet all lists.

output
BriefLists

getGet a list.

Includes items, owner.

input
string
output
List

student.statuses

getAllGet statuses for all problems.

output
AbstractStatuses

getForAbstractProblemGet status for an abstract problem.

input
string
output
AbstractStatus

getForProblemGet status for a problem.

input
string
output
Status

student.awards

getAllGet all awards.

output
BriefAwards

getGet an award.

input
string
output
Award

instructor

instructor.tags

getAllGet all tags

output
Array of
string

getDictGet all tags with their problems

output
TagsDict

getGet all problems with a given tag

input
string
output
Array of
string

instructor.documents

indexGet index of all documents

output
Documents

getGet a document (without PDF)

input
string
output
Document

getPdfGet PDF of a document

input
string

createCreate a new document

input
Document

updateUpdate a document (without PDF)

input
Document

updatePdfUpdate PDF of a document

input
string

removeRemove a document (including PDF)

input
string

instructor.lists

indexGet index of all lists

output
InstructorLists

getGet a list with its items

input
string
output
InstructorListWithItems

getItemsGet the items of a list

input
string
output
InstructorListItems

createCreate a new list

input
InstructorList

updateUpdate an existing list

input
InstructorList

removeDelete an existing list

input
string

setItemsSet the items of a list

input
list_nm
string
items
InstructorListItems

instructor.courses

indexGet index of all courses

output
InstructorCourses

getGet a course with its items (lists, courses and tutors)

input
string
output
InstructorCourseWithItems

getListsGet lists of a course

input
string
output
Array of
string

getStudentsGet students of a course

input
string
output
CourseMembers

getTutorsGet tutors of a course

input
string
output
CourseMembers

createCreate a new course

input
InstructorCourse

updateUpdate an existing course

input
InstructorCourse

removeDelete an existing course

Note: A course should not be deleted. Ask a system administrator to remove it.

input
string

set_listsSet lists of a course

input
course_nm
string
lists
Array of
string

invite_studentsInvite students to a course

input
course_nm
string
emails
Array of
string

invite_tutorsInvite tutors to a course

input
course_nm
string
emails
Array of
string

remove_studentsRemove students from a course

input
course_nm
string
emails
Array of
string

remove_tutorsRemove tutors from a course

input
course_nm
string
emails
Array of
string

instructor.exams

indexGet index of all exams

output
InstructorExams

getGet an exam with its items (course, problems, documents, students)

input
string
output
InstructorExamWithItems

createCreate a new exam

input
InstructorExamCreation

updateUpdate an existing exam

input
InstructorExamCreation

removeDelete an existing exam

Note: An exam can only be deleted if it has not started.

input
string

getDocumentsGet documents of an exam

input
string
output
InstructorExamDocuments

getCourseGet course of an exam

input
string
output
InstructorExamCourse

getProblemsGet problems of an exam

input
string
output
InstructorExamProblems

getStudentsGet students of an exam

input
string
output
InstructorExamStudents

getStudentGet an student of an exam

input
exam_nm
string
email
string
output
InstructorExamStudent

getSubmissionsGet submissions of an exam

This endpoint prepares a ZIP file to download the submissions of an exam. Preparing the ZIP file takes some time, an href link to the ZIP will be returned. This ZIP file will be available for download for a limited time.

input
exam_nm
string
options
InstructorExamSubmissionsOptions
output
Pack

setDocumentsSet documents of an exam

input
exam_nm
string
document_nms
Array of
string

setProblemsSet problems of an exam

input
exam_nm
string
problems
InstructorExamProblems

setStudentsSet students of an exam

input
exam_nm
string
students
InstructorExamStudentsPost

addStudentsAdd students to an exam

input
exam_nm
string
students
InstructorExamStudentsPost

removeStudentsRemove students from an exam

input
exam_nm
string
emails
Array of
string

instructor.queries

ricard01The old and venerable ricard01 query. 😀

Returns 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.

input
course_nm
string
problem_nm
string
output
SubmissionsQuery

ricard02The old and venerable ricard02 query. 😀

Returns 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.

input
course_nm
string
list_nm
string
output
SubmissionsQuery

instructor.problems

getPasscodeGet the passcode of a problem.

Returns an empty string if the problem has no passcode.

input
string
output
string

setPasscodeSet or update the passcode of a problem.

The passcode must be at least 8 characters long and contain only alphanumeric characters. The passcode will be stored in the database in plain text.

input
problem_nm
string
passcode
string

removePasscodeRemove passcode of a problem.

input
string

deprecateDeprecate a problem.

input
problem_nm
string
reason
string

undeprecateUndeprecate a problem.

input
string

downloadDownload a problem.

Quick and dirty implementation, should be improved. Returns a zip file with the abstract problem and all its problems.

input
string

admin

admin.users

countCount users

output
number

createCreate a user

input
UserCreation

removeRemove a user

input
string

setPasswordSet a password for a user

input
email
string
password
string

admin.tasks

purge-auth-tokensPurge expired access tokens

Purge expired access tokens (call it from time to time, it does not hurt)

clear-cachesClear all memoization caches

admin.stats

getCountersGet counters

output
Distribution

getDistributionOfVerdictsGet distribution of verdicts

output
Distribution

getDistributionOfVerdictsByYearGet distribution of verdicts by year

output
Distribution

getDistributionOfCompilersGet distribution of compilers

output
Distribution

getDistributionOfProglangsGet distribution of proglangs

output
Distribution

getDistributionOfUsersByYearGet distribution of registered users by year

output
Distribution

getDistributionOfUsersByCountryGet distribution of registered users by country

output
Distribution

getDistributionOfUsersBySubmissionsGet distribution of registered users by submissions using a custom bucket size

input
integer
output
Distribution

getRankingOfUsersGet ranking of users

input
string
or
number
output
UserRanking

getDistributionOfSubmissionsByHourGet distribution of submissions by hour

output
Distribution

getDistributionOfSubmissionsByProglangGet distribution of submissions by proglang

output
Distribution

getDistributionOfSubmissionsByCompilerGet distribution of submissions by compiler

output
Distribution

getDistributionOfSubmissionsByWeekdayGet distribution of submissions by weekday

output
Distribution

getDistributionOfSubmissionsByYearGet distribution of submissions by year

output
Distribution

getDistributionOfSubmissionsByYearForProglangGet distribution of submissions by year for a proglang

input
string
output
Distribution

getDistributionOfSubmissionsByDayGet distribution of submissions by day

output
Distribution

getHeatmapCalendarOfSubmissionsGet heatmap calendar of submissions

Data is provided as required by https://cal-heatmap.com

output
HeatmapCalendar

getUpcomingExamsGet upcoming exams

output
UpcomingExams

admin.problems

getProblemSolutionGet official solution for a problem for a proglang

input
problem_id
string
proglang
string
output
string

check

checkUserChecks that query actor is a user

checkInstructorChecks that query actor is an instructor

checkAdminChecks that query actor is an admin

throwErrorThrow an exception of the given type

input
string

playground

uploadUpload a file

input
Name
output
string

negateGet negative of an image

downloadDownload a file

input
Name

download2Download a file with a string

input
Name
output
string

pingPing the server to get a pong string

output
string

toUpperCaseReturns the given string in uppercase

input
string
output
string

add2iReturns the sum of two integers

input
TwoInts
output
integer

add2fReturns the sum of two floats

input
TwoFloats
output
number

incincrement two numbers

input
TwoInts
output
TwoInts

add3iReturns the sum of three integers

input
a
integer
b
integer
c
integer
output
integer