B1 / B2Norskprøven Muntlig · Simulator Backend
Backend control plane is active. This service powers the Snakkly Norwegian oral exam practice app (Expo Go & Web) via a deterministic exam state machine, OpenAI STT/LLM, ElevenLabs TTS, Drizzle ORM, and Neon PostgreSQL.
Web Admin Portal
Open Admin Portal →Create and manage B1/B2 oral exams and question pools (Del 1, Del 2 & Del 3).
API Endpoints
GET /api/exam/topicsReturns active B1/B2 exam topics and user audio quota.POST /api/exam/startVerifies quota, picks a random (or specified) active exam & Del 3 question subset, creates a new exam session, and returns the examiner opening greeting for Del 1.POST /api/exam/:sessionId/turnAccepts recorded candidate audio, transcribes speech, advances the deterministic exam state machine (Del 1 → Del 2 → Del 3), and generates examiner or AI co-candidate responses.GET /api/exam/:sessionId/speech/:turnIndexStreams MP3 voice synthesis from ElevenLabs (with OpenAI TTS fallback).POST /api/exam/:sessionId/finishFinalizes session usage and triggers post-exam B1/B2 rubric evaluation in the background.GET /api/exam/:sessionId/resultsPolls session status, transcript, and CEFR B1/B2 rubric evaluation.GET /api/quota&POST /api/quotaUser quota inquiry and top-up.GET / POST / PATCH / DELETE /api/admin/examsWeb Admin Portal endpoints for creating and managing exams and question pools.