Skip to main content
Marking an exam runs in stages. Each stage waits for the one before it, because the AI needs the questions before it can read the model answers, and the model answers before it can score a student.
1

Create the exam

The teacher gives the exam a name and picks the grade, the subject, and the exam type, such as a class test or a pre-board. They can also record the class section, the exam date, and the paper set.
2

Upload the question paper

Attach a PDF or images of the paper, or give a public link to a PDF. Then send the paper for processing.The AI reads: the sections, the questions and their sub-questions, the marks for each, and a description of any diagram.
3

Review the questions

The teacher checks what the AI read and fixes anything wrong. They can edit the text and marks, add or delete a question, and set how many questions each section requires.
4

Upload the model answers

Attach the answer key the same way, then send it for processing.The AI reads: the expected answer for every question, with the marks for each step of it.
5

Review the model answers

The teacher corrects any answer text or step marking, and can add a missing model answer.
6

Upload student answer sheets

Create one answer sheet per student, attach the student’s PDF or images, and send it for marking. You can tag each sheet with your own student, teacher, institute, and parent IDs so you can find it again later.The AI reads and scores: what each answer says, the marks it earns, any diagram the student drew, and feedback with the marks deducted, why, and what to improve.
7

Read and correct the scores

Your platform reads the scores, edits any mark or answer text, records a reason for the change, and approves what is correct.
8

Publish

Publish provisional results to open the provisional result endpoint, which carries the marks, the model answers, and the feedback. Handle any queries. Then publish final results.

What runs in the background?

Reading a paper, reading the model answers, and scoring an answer sheet. Each one takes the AI longer than a web request allows, so the API accepts the work and returns straight away. You find out when a stage has finished in one of two ways: check the status every few seconds, or register a webhook and let CrazyGoldFish call your server. Exam Evaluation sends a webhook when the question paper has been read, when the model answers have been read, and when an answer sheet has been scored. See Async jobs and webhooks. Everything else, such as editing a mark or publishing a result, happens immediately.

What happens if a stage fails?

The item moves to a failed status, and the endpoint you use to read it returns an error explaining that processing failed. Fix the input and send it again. The most common causes are a scan the AI could not read, a file over the limits, and a public link that is not reachable. PDFs and photographs you upload are checked for readability, size, and page count before marking starts, so most bad files are refused at upload time with a specific message. A Word file skips the readability check, and anything sent as a link skips all three checks, so those fail later during marking instead.

When does the exam lock?

The moment the first student answer sheet is sent for marking. From then on, questions, sub-questions, and model answers cannot be changed, added, or deleted, because students have already been graded against them. Student answers and their marks never lock. They stay editable at every stage, including after results are published. If a published mark must not move, your platform has to stop the call.

Frequently asked questions

Yes. Nothing forces a review. You can move straight from reading the question paper to uploading model answers, and straight from scoring to publishing. The API never requires an approval, so a review step is one your platform chooses to impose.
Only if it failed. Once a question paper, model answer sheet, or answer sheet is marked as complete, sending it again returns an error saying it has already been processed.
No, they are independent. But the provisional result is what the query and re-check flow is built around, so publishing it first is what makes that flow useful.
Not on its own. Publishing opens the provisional and final result endpoints, but a third endpoint returns the same marks and feedback for a marked answer sheet with no publishing check, and the API cannot tell a student’s request from a teacher’s. Treat publishing as a signal your own screens follow, and keep the decision about who sees what in your platform.
You create and send each sheet separately. There is no bulk upload endpoint, but you can run them in parallel, up to the daily limit on the API user sending them.
List them through the API. Exams can be filtered by name, grade, subject, exam type, and paper set. The grade filter covers grades 1 to 12 only, so a CA Foundation exam cannot be filtered for, and a grade outside that range is ignored rather than refused, which gives you the unfiltered list back. Answer sheets can be filtered by your own student, teacher, institute, and parent IDs, and by student name.

Next steps

Use cases

How schools and platforms use exam evaluation.

Developer guide

Evaluate an exam with the API, step by step.

All APIs

Every endpoint in one place.

Async jobs and webhooks

How to get told when a stage finishes.