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 is an integer code. Get it from Get exam evaluation constants.
  • subject and examType are names you choose, such as Science and Pre Boards. There is no list to pick from, so a new subject needs nothing set up first.
  • 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.

What each field takes

Letters and numbers can be in any language, so हिंदी and मराठी are fine.
  • Anything else returns 400. error.message holds the reason under the field’s name: {"subject": ["Only letters, numbers and spaces are allowed."]}.
  • Spaces at either end are dropped. In subject and examType, a run of spaces is saved as one, so Social Studies comes back as Social Studies.
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. Up to 100 characters: letters, numbers, spaces and - _ ( ) . , : & /.

Maximum string length: 100
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
string
required

The subject, as a name you choose, such as Science or हिंदी. Up to 100 characters: letters in any language, numbers and spaces, with at least one letter.

Maximum string length: 100
Example:

"Science"

examType
string
required

The kind of exam, as a name you choose, such as Pre Boards or Class Test. Same rules as subject.

Maximum string length: 100
Example:

"Pre Boards"

examSet
string
required

Your label for the paper set, such as A. Up to 10 characters: letters, numbers and hyphens. Required, and usable as a filter in List exams.

Maximum string length: 10
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. Up to 10 characters: letters and numbers.

Maximum string length: 10
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.