API · v1
Judgified API.
A clean REST surface for integrating Judgified into competition platforms, payroll, and reporting systems. Stable v1, JSON over HTTPS, signed webhooks for state changes.
Base URL: api.judgified.app
Auth: Bearer tokens
Rate limit: 600/min
Authentication
All requests carry a workspace bearer token in the
Authorization header. Webhooks
Signed events for
submission.*, review.*, report.published. SDKs
Official clients for TypeScript, Python, Ruby — auto-typed from OpenAPI.
Endpoints
Full reference for the v1 surface
GET
/v1/submissionsList submissions with filters & paginationPOST
/v1/submissionsCreate a new submissionGET
/v1/submissions/{id}Retrieve a submission with reviewsPATCH
/v1/submissions/{id}Update status, notes, or scoresheetPOST
/v1/submissions/{id}/assignmentsAssign reviewersGET
/v1/reviewersList reviewers, certifications & workloadPATCH
/v1/reviewers/{id}Update reviewer certification or rateGET
/v1/scoresheetsList scoresheet templatesPOST
/v1/scoresheetsCreate a scoresheet templatePOST
/v1/reviewsSubmit a completed reviewGET
/v1/reports/payrollPayroll report for a date rangeExamples
Common requests in cURL & TypeScript
curl -X POST https://api.judgified.app/v1/submissions \
-H "Authorization: Bearer $JG_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"teamName": "Velocity Lightning",
"organization": "Velocity Athletics",
"division": "Senior", "level": "Level 5",
"videoUrl": "https://youtube.com/watch?v=...",
"package": "Elite", "scoresheetId": "ss1"
}'Webhook payload
Example for
review.submitted{
"id": "evt_01HXYZ...",
"type": "review.submitted",
"createdAt": "2026-06-09T14:21:33Z",
"data": {
"submissionId": "s1",
"reviewerId": "r1",
"scoresheetId": "ss1",
"scores": { "cr1": 8.4, "cr2": 8.1 },
"payout": 180
}
}