Integrate AI tutoring, adaptive learning profiles, sessions, gamification, and more into your product — through a single clean API.
Authenticate, make your first request, and receive a live response — no SDK required.
/api/auth/login with your email and password to receive a signed JWT.Authorization: Bearer <token> on every authenticated request.error field.# 1. Authenticate — returns { token, user } curl -X POST "https://api.studuet.com/api/auth/login" \ -H "Content-Type: application/json" \ -d '{"email":"you@example.com","password":"yourpassword"}' # 2. Use the returned token on subsequent requests curl "https://api.studuet.com/api/users/me" \ -H "Authorization: Bearer <your_token_here>" # 3. Ask Uris AI a question curl -X POST "https://api.studuet.com/api/ai-tutor/chat" \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{"message":"Explain data governance in simple terms","history":[]}'
Building your own product on Studuet? Use a long-lived sk_live_… API key instead of a JWT. Every request counts against your plan's monthly quota; over-quota requests return 429. Create keys and track usage in your Developer Dashboard; see plans & pricing.
https://api.studuet.com/v1 and take Authorization: Bearer sk_live_….429 with an upgrade_url. Quotas reset monthly.# Health + plan/usage echo (counts as 1 request) curl "https://api.studuet.com/v1/ping" \ -H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # → 200 OK # { # "ok": true, # "message": "Studuet API v1 is live.", # "plan": "free", # "usage": { "requests_this_cycle": 1, "quota": 1000 } # } # Over quota → 429 with an upgrade link # { "error": "Monthly request quota exceeded for your plan", # "upgrade_url": "https://api.studuet.com/api-pricing" }
21 resource groups covering the full Studuet platform. Click any module to jump to its reference docs.
Register, log in, reset passwords, verify email, and manage JWT sessions.
Fetch and update user profiles, avatars, preferences, and subscription data.
Read and update Cognitive Learning Profiles — 11 dimensions of how each student learns.
Book, confirm, start, and complete tutor sessions. Access session history and ratings.
Chat with the AI tutor, generate TTS voice audio, and manage knowledge resources.
Query and apply Intelligent Learning Environment adaptations based on CLP signals.
Create AI-generated exams, submit answers, retrieve scores, and analyse mistake DNA.
Manage spaced-repetition flashcard decks with SM-2 scheduling and review tracking.
Log study sessions with CLP-aware XP multipliers. Retrieve per-student activity history.
Read XP totals, full audit ledger, and ranked leaderboards across the platform.
Fetch CLP-linked achievement badges and trigger real-time badge evaluation for students.
Create and join squads, manage members, pool XP, and view squad-level rankings.
Run prize draws, award competition tickets, and manage monthly reward pools.
Upload, process, and semantically search student study bank content for RAG context.
Read, mark read, and stream real-time notifications via Server-Sent Events.
Platform-wide usage metrics, student engagement stats, and learning outcome data.
Manage session payments, Stripe checkout, and transaction history.
All API endpoints require a signed JWT unless marked public. Tokens are issued on login and are valid for 7 days.
Register at the Developer Portal to create a free developer account and generate sk_live_ API keys instantly. No approval required.
Pass your sk_live_ API key in the Authorization header on every protected request. Keys can be created and revoked from your dashboard.
Rate limits are enforced per IP and per authenticated user. Exceeding limits returns 429 Too Many Requests.
| Endpoint Group | Window | Limit | Status |
|---|---|---|---|
| Auth (login, register) | 15 min | 20 requests | Strict |
| AI Tutor chat | 1 min | 30 requests | Moderate |
| All other API routes | 15 min | 300 requests | Generous |
| File uploads (materials) | 1 hour | 50 requests | Moderate |
| Admin endpoints | 15 min | 500 requests | High |
All errors return JSON with an error string. HTTP status codes follow REST conventions.
Request succeeded. Body contains requested data.
Resource created. Body contains { id }.
Missing or invalid fields. Check the error message.
Missing or expired JWT. Re-authenticate to get a fresh token.
Valid token but insufficient role (e.g. student hitting admin endpoint).
Resource doesn't exist or doesn't belong to the authenticated user.
Duplicate resource (e.g. email already registered, badge already earned).
Validation passed but business logic failed (e.g. insufficient XP).
Rate limit exceeded. Back off and retry after the window resets.
Unexpected internal error. Contact developers@studuet.com.
AI token budget exceeded or downstream dependency unavailable.
Browse the full interactive reference with request/response examples for every endpoint.