Quickstart
Make your first MirrorMingo Exam API call in five minutes.
1. Get an API key
- Sign in at mirrormingo.com and open Account → Developer.
- Click Create key, name it (e.g.
local-dev), and copy it. The key (mirrormingo_...) is shown once — store it in a secret manager, never in client-side code or git.
Test against the sandbox first (https://sandbox.api.mirrormingo.com/v1) —
sandbox keys are non-billable and return the same shapes as production.
2. Make a request
cURL
curl https://api.mirrormingo.com/v1/exam-prep/list?country=Nigeria \
-H "Authorization: Bearer $MIRRORMINGO_API_KEY"
TypeScript / Node
npm install @mirrormingo/sdk
import { MirrorMingo } from "@mirrormingo/sdk";
const mm = new MirrorMingo({ apiKey: process.env.MIRRORMINGO_API_KEY });
const exams = await mm.exams.list({ country: "Nigeria" });
console.log(exams.map((e) => e.exam_key));
Python
pip install mirrormingo
import os
from mirrormingo import ApiClient, Configuration
from mirrormingo.api.exams_api import ExamsApi
config = Configuration(
host="https://api.mirrormingo.com/v1",
access_token=os.environ["MIRRORMINGO_API_KEY"],
)
exams = ExamsApi(ApiClient(config)).list_exams(country="Nigeria")
print([e.exam_key for e in exams.exams])
3. Run a mock exam
// 1. Find a verified past-question paper
const catalog = await mm.mockExams.listPapers("jamb");
const paperId = catalog.years[0].papers[0].paper_id;
// 2. Open a timed attempt (first 10 questions)
const attempt = await mm.mockExams.open("jamb", { paperId, questionLimit: 10 });
// 3. Submit answers, get scored feedback
const result = await mm.mockExams.submit("jamb", {
attemptId: attempt.attempt_id,
answers: { "1": "C", "2": "A", "3": "D" },
});
console.log(result.feedback);
Next
- Authentication — key rotation and security
- Integration guide — a full mock-exam UI flow
- Webhooks — get notified when an attempt is scored