For Developers
Add Adaptive Testing to Any Application
Production-grade IRT/CAT engine, AI question generation, and personalized learning recommendations. One API key, six capabilities.
Access is opened by hand while self-serve checkout is being finished.
Capabilities
What You Can Build
Six production-ready capabilities through a single API.
Adaptive Testing
IRT 2PL engine with CAT item selection. The biggest savings in questions come for students far above or below average.
AI Question Generation
Generate assessment items by topic, difficulty, and academic standard. Claude-powered with QTI 3.0 export.
Learning Recommendations
Personalized learning plans based on student ability profiles. AI-generated with actionable next steps.
Item Calibration
Estimate IRT parameters from response data. Classical Test Theory pre-screening, DIF analysis, model fit statistics.
Student & Class Management
CRUD for students, classes, and enrollments. OneRoster 1.2 compatible for SIS integration.
Results & Analytics
Real-time ability estimates, mastery tracking, item-level analytics, and assessment history.
Simple to Integrate
Create a test, start an adaptive session and submit answers over plain HTTP.
- One REST call per step: test, session, answer
- JSON responses with real-time ability estimates
- AI question generation in a single POST
- Works with any HTTP client or language
import httpx
api = httpx.Client(
base_url="https://adaptivetest-platform-production.up.railway.app/api",
headers={"X-API-Key": "at_live_your_key_here"},
)
# 1. Create a teacher and a student
teacher = api.post("/users", json={
"email": "teacher@example.com", "name": "Ms. Rivera", "role": "teacher",
}).json()
student = api.post("/users", json={
"email": "student@example.com", "name": "Sam", "role": "student",
}).json()
# 2. Create an adaptive test with IRT item parameters, then activate it
test = api.post("/tests", params={"teacher_id": teacher["id"]}, json={
"name": "Algebra Readiness",
"is_adaptive": True,
"max_questions": 20,
"questions": [
{"content": "2x + 3 = 11. What is x?", "correct_answer": "4",
"options": ["3", "4", "5", "7"],
"difficulty": -0.5, "discrimination": 1.2},
# ... more items
],
}).json()
api.post(f"/tests/{test['id']}/activate")
# 3. Start a session; the CAT engine picks the first item
session = api.post("/sessions", json={
"test_id": test["id"], "student_id": student["id"],
}).json()
item = session["current_question"]
# 4. Submit an answer; get the new ability estimate and the next item
result = api.post(f"/sessions/{session['session_id']}/answer", json={
"question_id": item["id"], "answer": "4",
}).json()
print(result["theta"], result.get("next_question"))Open Source
Read the Code on GitHub
Two of the open-source components behind AdaptiveTest. Both are MIT-licensed.
Getting Started
From ClawHub to Production in Minutes
Request Access
Email us and we issue your API key by hand while self-serve checkout is being finished. Trial keys include 100 API calls over 7 days.
Install the Skill
Add the AdaptiveTest skill to your OpenClaw workspace. Your agent learns the full API.
Configure
Set your ADAPTIVETEST_API_KEY environment variable. The skill handles auth automatically.
Build
Your agent can now create tests, generate questions, run adaptive sessions, and analyze results.
Pricing
Simple, Predictable Pricing
Start free. Scale when you're ready.
Access is opened by hand while self-serve checkout is being finished.
Pro
- 10,000 API calls/mo
- 1,000 AI calls/mo
- 5 API keys
- 60 req/min
- Email support
- $490/yr (2 months free)
Enterprise
- Unlimited API calls
- Unlimited AI calls
- Unlimited API keys
- Custom rate limit
- Dedicated support
Frequently Asked Questions
Adaptive testing uses Item Response Theory (IRT) to select questions based on a student's estimated ability. Each question is chosen to maximize information. For students near the middle of the ability range, a well-targeted fixed-form test does about as well; for students far above or below it, an adaptive test reaches the same precision in far fewer questions.
Ready to Build?
Request a key and start building adaptive assessments.
Access is opened by hand while self-serve checkout is being finished.