# Examinations & results

Plan examinations and seating, record marks, review rechecks and publish report cards.

Category: Academics
Guide: https://avkul.in/docs/guides/module-exam/
Guided sample demo: https://avkul.in/docs/demo/module-exam/
Snapshot: 11 October 2026

## Features

- Exam schedules
- Marks entry and history
- Completion status
- Grade scales
- Report cards
- Publish and unpublish
- Seating and invigilation
- Adaptive exams
- Mark rechecks

## Access and setup

Intended access: Assigned account with the required permissions
- An assigned school account with the required permissions.
- The academic, student or staff setup used by this workflow.

Permission keys: exam:view, exam:create, exam:update, exam:delete, exam:manage

## Workflow

1. Create the exam and its subject schedules.
2. Review the candidates, seating and completion status.
3. Record and verify marks, then generate report cards.
4. Publish approved results; use the correction workflow when required.

## Fields and controls

- title (string, declared required)
- subjectId (string, declared required)
- classId (string, declared required)
- sectionId (string, optional)
- targetCount (number, optional)
- durationMin (number, optional)
- maxAttempts (number, optional)
- questionIds (string[], optional)
- publishResults (boolean, optional)
- text (string, declared required)
- options (string[], declared required)
- correctAnswer (string, declared required)
- difficulty (string, optional)
- chapter (string, optional)
- marks (number, optional)
- status (string, optional)
- name (string, declared required)
- rows (number, optional)
- seatsPerRow (number, optional)
- blockedSeats (number, optional)
- building (string, optional)
- floor (string, optional)
- isActive (boolean, optional)
- scheduleId (string, declared required)

## Current limits

- Published results are distinct from draft marks. Adaptive question attempts and paper rechecks have separate workflows.

## Actual application access

- https://avkul.in/en/school/adaptive-exams/attempts — select the actual record from this list.
- https://avkul.in/en/school/adaptive-exams
- https://avkul.in/en/school/exam-seating
- https://avkul.in/en/school/exams
- https://avkul.in/en/school/exams — select the actual record from this list.
- https://avkul.in/en/school/mark-rechecks

## API reference

- GET /api/v1/adaptive-exams — List; exam:view
- POST /api/v1/adaptive-exams — Create; exam:create
- GET /api/v1/adaptive-exams/questions — List Questions; exam:view
- POST /api/v1/adaptive-exams/questions — Create Question; exam:create
- GET /api/v1/adaptive-exams/attempts/:attemptId — Attempt Detail; exam:view
- GET /api/v1/adaptive-exams/:examId — Get Exam; exam:view
- PATCH /api/v1/adaptive-exams/:examId/status — Update Status; exam:update
- GET /api/v1/exam-seating/rooms — List Rooms; exam:view
- POST /api/v1/exam-seating/rooms — Create Room; exam:create
- PATCH /api/v1/exam-seating/rooms/:id — Update Room; exam:update
- DELETE /api/v1/exam-seating/rooms/:id — Remove Room; exam:delete
- POST /api/v1/exam-seating/allocate — Seat every candidate for one paper; exam:manage
- DELETE /api/v1/exam-seating/schedules/:scheduleId/seats — Clear; exam:manage
- GET /api/v1/exam-seating/schedules/:scheduleId/plan — Room-by-room seating chart for a paper; exam:view
- POST /api/v1/exam-seating/invigilators — Assign Invigilator; exam:update
- DELETE /api/v1/exam-seating/invigilators/:id — Remove Invigilator; exam:update
- GET /api/v1/exam-seating/invigilators/staff/:staffId — One staff member's invigilation duty chart; exam:view
- GET /api/v1/exam-seating/admit-card/:examId/:studentId — A candidate's papers with room and seat; exam:view
- GET /api/v1/exams — List; exam:view
- POST /api/v1/exams — Create; exam:create
- PATCH /api/v1/exams/:id — Update; exam:update
- DELETE /api/v1/exams/:id — Remove; exam:delete
- GET /api/v1/exams/:examId/schedules — List Schedules; exam:view
- GET /api/v1/exams/:examId/completion — Completion; exam:view
- POST /api/v1/exams/:examId/schedules — Create Schedule; exam:update
- POST /api/v1/exams/:examId/report-cards/generate — Compute report cards for a section in this exam; exam:update
- GET /api/v1/exams/:examId/report-cards — Report Cards; exam:view
- POST /api/v1/exams/:examId/report-cards/publish — Publish report cards to the parent/student portal; exam:manage
- POST /api/v1/exams/:examId/report-cards/unpublish — Withdraw published results to issue a correction; exam:manage
- PATCH /api/v1/exam-schedules/:id — Update; exam:update
- DELETE /api/v1/exam-schedules/:id — Remove; exam:delete
- GET /api/v1/exam-schedules/:id/marks — Marks-entry roster for a schedule; exam:view
- GET /api/v1/exam-schedules/:id/marks/history — History; exam:view
- POST /api/v1/exam-schedules/:id/marks — Save Marks; exam:update
- GET /api/v1/grade-scales — List; exam:view
- POST /api/v1/grade-scales — Create; exam:update
- DELETE /api/v1/grade-scales/:id — Remove; exam:delete
- GET /api/v1/report-cards/:id — Get; exam:view
- GET /api/v1/mark-rechecks — List; exam:view
- POST /api/v1/mark-rechecks — Query a published mark; Authenticated scope
- POST /api/v1/mark-rechecks/:id/review — Acknowledge that the paper is being re-read; exam:manage
- POST /api/v1/mark-rechecks/:id/decision — Uphold, revise or reject a recheck; exam:manage

## Demo access

No login is required for the guided sample demo. Its fictional records and actions stay in this browser tab; they do not modify ERP records or send messages/payments. An assigned account is required for the actual ERP links.

Source inventory checked on 11 October 2026. This source inventory is not a certification of every external provider or device flow.
