Skip to main content
POST
Results, Grading, and Release
Auto-graded answers are scored on submission. Manually graded questions hold the attempt’s verdict until you award points. Result visibility follows the form’s release setting: IMMEDIATE shows scores on grading; MANUAL holds them until you release.

Reads

  • GET /quizzes/results?jobId=…&formId=… — attempts across the form’s published versions, with scores, pass verdicts, and release status. Optionally filter by formVersionId.
  • GET /quizzes/attempts/{attemptId} — one attempt with every answer. Employer-authorized reads may include the sanitized expected-answer projection; AI-trainer surfaces never receive answer keys.
  • GET /quizzes/roster?jobId=…&formId=… — per-person assignment status, attempt counts, and remaining attempts.
  • GET /quizzes/export-csv?jobId=…&formId=… — all attempts as spreadsheet-safe CSV with personal emails redacted.
All reads require project_todos:read and employer access to the job.

grade

Awards points for manually graded questions on one attempt.
string
required
grade
string
required
string
required
array
required
Up to 500 rows of { "questionId": "…", "awardedPoints": n } (0–10,000 points per question).
string
Optional grading note attached to the revision.
Grades are append-only revisions: regrading records a new revision instead of rewriting history. When grading completes a passing verdict under ON_PASS, the linked to-do completes automatically.

release and bulk_release

string
required
release or bulk_release
string
required
string
release: the single attempt to make visible.
string
bulk_release: with formId, releases every releasable held result on the job.
string
Releasing notifies the AI trainer and makes their score visible. Attempts still awaiting manual grading are not releasable until graded.