Admin sign in
Accounts are created by the project owner (public sign-up is disabled).
| ID | Question | Subject / topic | Status |
|---|
Edit question
Preview
Exams
Subjects
Topics
Lessons
FAQs
Syllabus sections
Mock tests
question_ids: comma-separated question IDs. marks_wrong is negative, e.g. -0.33.
Human translations only. For questions, fields may contain text, options (same count and order as the original), explanation. Missing translations fall back to the original language in the app.
Import questions (CSV or JSON)
Columns: id, exam_id, subject_id, topic_id, text, option_a … option_f (or JSON "options" array), correct (letter A–F or 0-based index), explanation, difficulty, year, paper, source, language, license. Rows are validated here, then inserted as draft in one request; nothing reaches students until you publish. Re-importing the same IDs updates them (no duplicates).
Import jobs
Publish a release
Publishing stamps every changed non-draft row (published or withdrawn) with a new release number in one transaction. Apps download only rows newer than their last release. To remove content, set status = withdrawn and publish; deleting published rows is blocked.