A comprehensive migration blueprint for developers transitioning from legacy questions.aloc.com.ng endpoints to modern ALOC Station assessment infrastructure.
The legacy endpoint service (questions.aloc.com.ng) continues to support over 3,000 active developers until July 31, 2027. While legacy endpoints remain operational for existing applications, all new features, curriculum taxonomy (L2), AI step-by-step worked solutions (L3), official SDKs, and Model Context Protocol (MCP) tooling are exclusive to ALOC Station.
Legacy ALOC was designed as a flat question retrieval feed. ALOC Station transforms this into a multi-layered assessment engine with psychometric seeding, anti-cheating sessions, and deep curriculum taxonomy.
| Dimension | Legacy (v1/v2 aloc-endpoints) | ALOC Station (Modern) |
|---|---|---|
| Base URL | https://questions.aloc.com.ng/api/v2 | https://dev.aloc.com.ng/api/v1 |
| Authentication | AccessToken: <token> header | X-ALOC-KEY: <key> / Bearer header |
| Developer Tooling | Raw HTTP / cURL only | TypeScript SDK, Python SDK, MCP Server |
| Data Depth | Raw question & static answer (L1) | L1 (Raw), L2 (Taxonomy), L3 (Solutions), L4 (Vector) |
| Exam Session State | Manual client state management | Built-in candidate session lifecycle & seeding |
| Monthly Quota | Legacy plan rates | 1,000 Free Credits/mo + Instant top-ups |
Use this cheat-sheet to replace legacy API requests with their Station equivalents:
GET /api/v2/q?subject=chemistrySingle QuestionGET /api/v1/questions?subject=chemistry&limit=1Layer: L1GET /api/v2/m?subject=chemistryBatch Questions (40 fixed)POST /api/v1/assessments/generate or GET /api/v1/questions?limit=40Layer: L1/AssessmentGET /api/v2/q-by-id/:id?subject=chemistryLookup by IDGET /api/v1/questions/:idLayer: L1Not AvailableStep-by-Step Worked SolutionsGET /api/v1/explanations/:question_idLayer: L3const res = await fetch(
"https://questions.aloc.com.ng/api/v2/q?subject=chemistry&year=2020",
{ headers: { "AccessToken": process.env.ALOC_TOKEN } }
);
const data = await res.json();import { AlocClient } from "@massteck/aloc-sdk";
const aloc = new AlocClient({ apiKey: process.env.ALOC_API_KEY });
const q = await aloc.questions.get({ subject: "chemistry", year: 2020 });
console.log(q.text, q.bloomTaxonomy);import requests
res = requests.get(
"https://questions.aloc.com.ng/api/v2/q",
headers={"AccessToken": "YOUR_TOKEN"},
params={"subject": "physics", "type": "utme"}
)import requests
res = requests.get(
"https://dev.aloc.com.ng/api/v1/questions",
headers={"X-ALOC-KEY": "YOUR_API_KEY"},
params={"subject": "physics", "exam": "jamb"}
)npm install @massteck/aloc-sdk or configure the REST endpoint.