Skip to content
OpenTrain AIOpenTrain AIOpenTrain AIDocs

Ask OpenTrain

Answers from the documentation, with sources.

What would you like to do with OpenTrain?

AI answers can be mistaken. Check the linked sources. Don’t include private account information.

Open app

DEVELOPER DOCUMENTATION

Results, Grading, and Release

Read attempts and rosters, award manual grades, and release held results.

POST/api/public/v1/project-todos/quizzes/manage

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.

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

Awards points for manually graded questions on one attempt.

actionstringbodyrequired
grade
idempotencyKeystringbodyrequired
attemptIdstringbodyrequired
gradesarraybodyrequired

Up to 500 rows of { "questionId": "…", "awardedPoints": n } (0–10,000 points per question).

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

actionstringbodyrequired
release or bulk_release
idempotencyKeystringbodyrequired
attemptIdstringbody
release: the single attempt to make visible.
jobIdstringbody
bulk_release: with formId, releases every releasable held result on the job.
formIdstringbody

Releasing notifies the AI trainer and makes their score visible. Attempts still awaiting manual grading are not releasable until graded.