Skip to main content
POST
Create an exam
Step 1 of 8 in Evaluate an exam. Save the id you get back: every later call needs it.

Rules

  • examName, grade, subject, examType, examSet, and examDate are all required. classSection is optional.
  • grade, subject, and examType are integer codes. Get them from Get exam evaluation constants.
  • examDate is a date, written as YYYY-MM-DD.
  • The exam starts with no files and a status of 0 Open. Upload the question paper next.
Every path in this API needs its trailing slash. Without it, the API redirects the request and a POST or PATCH loses its body.

Next step

Upload an exam question paper

Attach the paper, then submit it for question extraction.

Authorizations

Authorization
string
header
required

Access token from Get an access token. A missing, invalid, or expired token returns 403.

Body

application/json
examName
string
required

Your name for the exam.

Example:

"Pre Board 1 - Science"

grade
enum<integer>
required

Grade code from Get exam evaluation constants. 1 to 12 are classes First to Twelfth, 13 is CA Foundation.

Available options:
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13
Example:

10

subject
integer
required
Example:

1

examType
enum<integer>
required

1 Pre Boards, 2 Class Test, 3 Full Mock Test, 4 Test Series, 5 Mock Master.

Available options:
1,
2,
3,
4,
5
Example:

1

examSet
string
required

Your label for the paper set, such as A. Required, and usable as a filter in List exams.

Example:

"A"

examDate
string<date>
required

Date of the exam, as YYYY-MM-DD.

Example:

"2026-03-14"

classSection
string

Optional class section, such as A.

Example:

"A"

Response

The exam was created.

A new exam. documents is empty until you upload the question paper.

id
string<uuid>

The exam ID. Every later call in the flow needs it.

documents
object[]

Files attached to the exam, oldest first.