auth
login
—Login: Get an access token
CredentialsIn
CredentialsOut
logout
—Logout: Discard access token
misc
getFortune
—Get a fortune message
getTime
—Get server time
Time
getHomepageStats
—Get homepage stats
HomepageStats
getLogo
—Get Jutge.org logo as a PNG file
tables
getLanguages
—Returns all languages
Returns all languages as a dictionary of objects, indexed by id.
Languages
getCountries
—Returns all countries
Returns all countries as a dictionary of objects, indexed by id.
Countries
getCompilers
—Returns all compilers
Returns all compilers as a dictionary of objects, indexed by id.
Compilers
getDrivers
—Returns all drivers
Returns all drivers as a dictionary of objects, indexed by id.
Drivers
getVerdicts
—Returns all verdicts
Returns all verdicts as a dictionary of objects, indexed by id.
Verdicts
getProglangs
—Returns all proglangs
Returns all proglangs as a dictionary of objects, indexed by id.
Proglangs
getAll
—Returns 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.
Tables
problems
getAllAbstractProblems
—Get all available abstract problems
Includes problems.
AbstractProblems
getAbstractProblems
—Get available abstract problems whose keys are in `problem_nms` (comma separated list)
Includes problems.
AbstractProblems
getAbstractProblemsInList
—Get available abstract problems that belong to a list
Includes problems.
AbstractProblems
getAbstractProblem
—Get an abstract problem
Includes owner and problems
AbstractProblem
getAbstractProblemExtras
—Get extras of an abstract problem
Includes accepted compilers and accepted proglangs
AbstractProblemExtras
getProblem
—Get a problem
Includes abstract problem, which includes owner
Problem
getProblemExtras
—Get extras of a problem.
Includes accepted compilers, accepted proglangs, official solutions checks and handler specifications
ProblemExtras
getSampleTestcases
—Get sample testcases of a problem.
Testcases
getPublicTestcases
—Get 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.
Testcases
getHtmlStatement
—Get Html statement of a problem.
Currently, this is suboptimal, but I already know how to improve it.
getTextStatement
—Get Text statement of a problem.
getMarkdownStatement
—Get Markdown statement of a problem.
getPdfStatement
—Get PDF statement of a problem.
getZipStatement
—Get ZIP archive of a problem.
student
student.keys
getAll
—Get problem, courses (enrolled and available) and list keys.
AllKeys
getProblems
—Get problem keys.
getEnrolledCourses
—Get enrolled course keys.
getAvailableCourses
—Get available course keys.
getLists
—Get list keys.
student.profile
get
—Get the profile.
Profile
update
—Update the profile
NewProfile
getAvatar
—Returns the avatar as a PNG file.
setAvatar
—Set a PNG file as avatar
changePassword
—Change password
Receives the old password and the new one, and changes the password if the old one is correct
PasswordUpdate
student.dashboard
getAllDistributions
—Get all distributions
Distributions
getCompilersDistribution
—Get compilers distribution
Distribution
getDashboard
—Get dashboard
Dashboard
getHeatmapCalendar
—Get heatmap calendar of submissions
HeatmapCalendar
getProglangsDistribution
—Get programming languages distribution
Distribution
getStats
—Get dashboard stats
DashboardStats
getSubmissionsByHour
—Get submissions by hour distribution
Distribution
getSubmissionsByWeekDay
—Get submissions by weekday distribution
Distribution
getVerdictsDistribution
—Get verdicts distribution
Distribution
student.submissions
getAll
—Get all submissions.
Flat array of submissions in chronological order.
Submissions
getForAbstractProblem
—Get all submissions for an abstract problem.
Grouped by problem.
DictDictSubmissions
getForProblem
—Get all submissions for a problem.
DictSubmissions
get
—Get a submission.
problem_id
–submission_id
–Submission
submit
—Perform a submission.
problem_id
–compiler_id
–annotation
–SubmissionPostOut
student.courses
getAllAvailable
—Get all available courses.
BriefCourses
getAllEnrolled
—Get all enrolled courses.
BriefCourses
getAvailable
—Get an available course.
Includes owner and lists.
Course
getEnrolled
—Get an enrolled course.
Includes owner and lists.
Course
enroll
—Enroll in an available course.
unenroll
—Unenroll from an enrolled course.
student.lists
getAll
—Get all lists.
BriefLists
get
—Get a list.
Includes items, owner.
List
student.statuses
getAll
—Get statuses for all problems.
AbstractStatuses
getForAbstractProblem
—Get status for an abstract problem.
AbstractStatus
getForProblem
—Get status for a problem.
Status
student.awards
getAll
—Get all awards.
BriefAwards
get
—Get an award.
Award
instructor
instructor.documents
index
—Get index of all documents
Documents
get
—Get a document (without PDF)
Document
getPdf
—Get PDF of a document
create
—Create a new document
Document
update
—Update a document (without PDF)
Document
updatePdf
—Update PDF of a document
remove
—Remove a document (including PDF)
instructor.lists
index
—Get index of all lists
InstructorLists
get
—Get a list with its items
InstructorListWithItems
getItems
—Get the items of a list
InstructorListItems
create
—Create a new list
InstructorList
update
—Update an existing list
InstructorList
remove
—Delete an existing list
setItems
—Set the items of a list
list_nm
–items
–InstructorListItems
instructor.courses
index
—Get index of all courses
InstructorCourses
get
—Get a course with its items (lists, courses and tutors)
InstructorCourseWithItems
getLists
—Get lists of a course
getStudents
—Get students of a course
CourseMembers
getTutors
—Get tutors of a course
CourseMembers
create
—Create a new course
InstructorCourse
update
—Update an existing course
InstructorCourse
remove
—Delete an existing course
Note: A course should not be deleted. Ask a system administrator to remove it.
set_lists
—Set lists of a course
course_nm
–lists
–invite_students
—Invite students to a course
course_nm
–emails
–invite_tutors
—Invite tutors to a course
course_nm
–emails
–remove_students
—Remove students from a course
course_nm
–emails
–remove_tutors
—Remove tutors from a course
course_nm
–emails
–instructor.exams
index
—Get index of all exams
InstructorExams
get
—Get an exam with its items (course, problems, documents, students)
InstructorExamWithItems
create
—Create a new exam
InstructorExamCreation
update
—Update an existing exam
InstructorExamCreation
remove
—Delete an existing exam
Note: An exam can only be deleted if it has not started.
getDocuments
—Get documents of an exam
InstructorExamDocuments
getCourse
—Get course of an exam
InstructorExamCourse
getProblems
—Get problems of an exam
InstructorExamProblems
getStudents
—Get students of an exam
InstructorExamStudents
getStudent
—Get an student of an exam
exam_nm
–email
–InstructorExamStudent
getSubmissions
—Get 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.
exam_nm
–options
–InstructorExamSubmissionsOptions
Pack
setDocuments
—Set documents of an exam
exam_nm
–document_nms
–setProblems
—Set problems of an exam
exam_nm
–problems
–InstructorExamProblems
setStudents
—Set students of an exam
exam_nm
–students
–InstructorExamStudentsPost
addStudents
—Add students to an exam
exam_nm
–students
–InstructorExamStudentsPost
removeStudents
—Remove students from an exam
exam_nm
–emails
–instructor.queries
ricard01
—The 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.
course_nm
–problem_nm
–SubmissionsQuery
ricard02
—The 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.
course_nm
–list_nm
–SubmissionsQuery
instructor.problems
getPasscode
—Get the passcode of a problem.
Returns an empty string if the problem has no passcode.
setPasscode
—Set 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.
problem_nm
–passcode
–removePasscode
—Remove passcode of a problem.
deprecate
—Deprecate a problem.
problem_nm
–reason
–undeprecate
—Undeprecate a problem.
download
—Download a problem.
Quick and dirty implementation, should be improved. Returns a zip file with the abstract problem and all its problems.
admin
admin.users
count
—Count users
create
—Create a user
UserCreation
remove
—Remove a user
setPassword
—Set a password for a user
email
–password
–admin.tasks
purge-auth-tokens
—Purge expired access tokens
Purge expired access tokens (call it from time to time, it does not hurt)
clear-caches
—Clear all memoization caches
admin.stats
getCounters
—Get counters
Distribution
getDistributionOfVerdicts
—Get distribution of verdicts
Distribution
getDistributionOfVerdictsByYear
—Get distribution of verdicts by year
Distribution
getDistributionOfCompilers
—Get distribution of compilers
Distribution
getDistributionOfProglangs
—Get distribution of proglangs
Distribution
getDistributionOfUsersByYear
—Get distribution of registered users by year
Distribution
getDistributionOfUsersByCountry
—Get distribution of registered users by country
Distribution
getDistributionOfUsersBySubmissions
—Get distribution of registered users by submissions using a custom bucket size
Distribution
getRankingOfUsers
—Get ranking of users
UserRanking
getDistributionOfSubmissionsByHour
—Get distribution of submissions by hour
Distribution
getDistributionOfSubmissionsByProglang
—Get distribution of submissions by proglang
Distribution
getDistributionOfSubmissionsByCompiler
—Get distribution of submissions by compiler
Distribution
getDistributionOfSubmissionsByWeekday
—Get distribution of submissions by weekday
Distribution
getDistributionOfSubmissionsByYear
—Get distribution of submissions by year
Distribution
getDistributionOfSubmissionsByYearForProglang
—Get distribution of submissions by year for a proglang
Distribution
getDistributionOfSubmissionsByDay
—Get distribution of submissions by day
Distribution
getHeatmapCalendarOfSubmissions
—Get heatmap calendar of submissions
Data is provided as required by https://cal-heatmap.com
HeatmapCalendar
getUpcomingExams
—Get upcoming exams
UpcomingExams
admin.problems
getProblemSolution
—Get official solution for a problem for a proglang
problem_id
–proglang
–check
checkUser
—Checks that query actor is a user
checkInstructor
—Checks that query actor is an instructor
checkAdmin
—Checks that query actor is an admin
throwError
—Throw an exception of the given type
playground
upload
—Upload a file
Name
negate
—Get negative of an image
download
—Download a file
Name
download2
—Download a file with a string
Name
ping
—Ping the server to get a pong string
toUpperCase
—Returns the given string in uppercase
add2i
—Returns the sum of two integers
TwoInts
add2f
—Returns the sum of two floats
TwoFloats
inc
—increment two numbers
TwoInts
TwoInts
add3i
—Returns the sum of three integers
a
–b
–c
–