Skip to main content
A rubric tells the AI how to score work: what to look at, and what earns each score. It takes two API calls to build one, plus a few more to attach it to an assignment. This guide is for developers. For a non-technical overview, see Assignment Evaluation features.
Steps 1 and 2 are instant: no background job, nothing to poll. Only step 3 starts one, when you finalize the model answer sheet.

Set up

You need an access token and an assignment whose questions are already extracted. If you don’t have a token, follow the Quickstart.
The Rubrics and Assignment Evaluation paths all end in a slash, and it is required. Without it the API redirects, and most HTTP clients drop the request body when they follow a redirect. These APIs also answer 403, not 401, when a token is missing or expired.

Step 1: Create the rubric

Send a name, and a description if you want one. You get an empty rubric back.
rubricCriteria stays empty until you add a criterion in step 2.

Step 2: Add the criteria

Add one criterion per call. Each one needs a score range and a band for every score it can award.
maxScore and minScore are strings, not numbers, and each holds at most 10 characters. "5 Star" works, 5 does not.
Each call returns the whole rubric, with the new criterion last in rubricCriteria. The code above keeps the answer to the last call, so both criteria are there.
scoringLogic is trimmed here. A real response holds every band you sent.
To change a criterion later, take its id from rubricCriteria and call Update a rubric criterion. Sending scoringLogic replaces every band, so send the full list.

Step 3: Attach the rubric to an assignment

An assignment grades against a rubric through its model answer sheet. Create the sheet, attach the rubric, then finalize it. These are three separate calls, because the API accepts only one of documents, rubricId, and isFinal at a time.
isFinal is the string "true", not the boolean true.
Each call returns the model answer sheet. After step 2, rubric holds the whole rubric. status is an integer: 0 Open, 1 In Progress, 2 Completed, 3 Failed.
Before you attach a rubric, rubric is {}.
Once the sheet reaches status 2, submit student work with Create an assignment answer sheet and read the result with Get an evaluated assignment score.
Audio submissions are always graded against a rubric. If the assignment’s model answer sheet has no rubric, the submission is rejected with Rubric not found for audio evaluation.

Good to know

The grading model reads your band labels and reports one of them back as the student’s level, so the wording matters.
  • Keep labels conventional and consistent across bands: 5 Star down to 1 Star, or Level 4 down to Level 1. Don’t mix styles inside one criterion.
  • Give every score between minScore and maxScore its own band. A missing band is a score the grader has no definition for.
  • Describe what the student did, not what the grader should do. “No spelling errors” works better than “award full marks if perfect”.
  • Keep one idea per criterion. Two criteria with three bands each are easier to grade consistently than one criterion with six.

Rubrics API reference

Every field, response, and error.

Assignment Evaluation features

What rubric grading does for teachers.