Project Router
uploadProjects
Type: MutationAuthentication: Protected (ADMIN role required) Bulk upload projects for judging.
Array of project objects
Project name
Project description (defaults to empty string)
Project link/URL (defaults to empty string)
Track names this project belongs to
Project status (defaults to “Draft”)
createTables
Type: MutationAuthentication: Protected (ADMIN role required) Create judging tables based on project distribution.
Number of projects per table (1-25)
getNextProject
Type: QueryAuthentication: Protected (ADMIN or JUDGE role required) Get the next project to judge at a table.
Table ID
Specific project ID to retrieve
Project ID
Project name
Project description
Project link
getAllProjects
Type: QueryAuthentication: Protected Get all projects for the current DeltaHacks year.
No input parameters
Project ID
Project name
getProjectTimeSlots
Type: QueryAuthentication: Protected Get all time slots for a specific project.
Project ID
Slot start time
Slot end time
Table information including track
Table Router
getTables
Type: QueryAuthentication: Protected Get all judging tables for the current year.
No input parameters
Table ID
Table number
Associated track information
getTableProjects
Type: QueryAuthentication: Protected Get all projects assigned to a table, with judging status.
Table ID
Project ID
Project name
Whether current user has judged this project
Time slots for this project at this table
Track Router
getTracks
Type: QueryAuthentication: Protected Get all judging tracks for the current year.
No input parameters
Track ID
Track name
DeltaHacks year
createTrack
Type: MutationAuthentication: Protected (ADMIN role required) Create a new judging track.
Track name
Judging Router
createJudgingResult
Type: MutationAuthentication: Protected (ADMIN or JUDGE role required) Submit or update judging scores for a project.
Project ID
Table ID
Array of rubric responses
Rubric question ID
Score (minimum 0)
getProjectScores
Type: QueryAuthentication: Protected (ADMIN or JUDGE role required) Get current user’s existing scores for a project.
Project ID
Rubric question ID
Assigned score
createRubricQuestion
Type: MutationAuthentication: Protected (ADMIN role required) Create a new rubric question for a track.
Question text
Maximum points (0-100)
Question title
Track ID this question belongs to
getRubricQuestions
Type: QueryAuthentication: Protected (ADMIN or JUDGE role required) Get all rubric questions for a track.
Track ID
getLeaderboard
Type: QueryAuthentication: Protected (ADMIN role required) Get project leaderboard with scores.
Filter by track ID
Project ID
Project name
Project link
Average total score
Number of judges who scored this project
Track name
importRubricQuestions
Type: MutationAuthentication: Protected (ADMIN role required) Bulk import rubric questions for multiple tracks.
Object mapping track names to question arrays
Time Slot Router
getTableTimeSlots
Type: QueryAuthentication: Protected (ADMIN or JUDGE role required) Get all time slots for a table.
Table ID
Slot start time
Slot end time
Project information
createTimeSlots
Type: MutationAuthentication: Protected (ADMIN role required) Generate time slots for all tables and projects.
Duration of each slot in minutes (minimum 1, default 10)
Start time for judging (ISO 8601 format)
Success message
Calculated end time of judging
Number of tables scheduled
getAllTimeSlots
Type: QueryAuthentication: Protected (ADMIN or JUDGE role required) Get all distinct time slots.
No input parameters
Slot start time
Slot end time
getAssignmentsAtTime
Type: QueryAuthentication: Protected (ADMIN role required) Get table-to-project assignments at a specific time.
Time in ISO format
Object mapping table IDs to project info