Get Active Lesson
Authentication Required: Any authenticated user
GET /api/lessons/active
string
Learner ID to get active lesson for (defaults to authenticated user)
null if none exists.
Response
Response Example
Error Codes
- 401 - Unauthorized
- 500 - Failed to fetch active lesson
Create Custom Lesson
Authentication Required: Any authenticated user
POST /api/lessons/create
number
required
Grade level for the lesson (K-12)
string
required
ID of the learner this lesson is for
string
Lesson topic (can be empty for random topic)
string
Subject area (e.g., “Math”, “Science”)
string
Subject category
string
Difficulty level:
beginner, intermediate, or advancedAuthorization
- LEARNER: Can only create lessons for themselves
- PARENT: Can create lessons for their children
- ADMIN: Can create lessons for any learner
Response
string
Lesson UUID
number
Learner user ID
string
Module identifier
string
Lesson status (ACTIVE, DONE, or QUEUED)
string
Subject area
string
Subject category
string
Difficulty level
object
Response Example
Error Codes
- 400 - Missing required fields: gradeLevel, learnerId
- 403 - Forbidden (insufficient permissions)
- 404 - Learner profile not found
- 503 - Lesson generation failed after multiple attempts
- 500 - Failed to generate lesson content
Get Lesson by ID
Authentication Required: Any authenticated user with access to the lesson
GET /api/lessons/:lessonId
string
required
Lesson UUID
Authorization
- ADMIN: Can access any lesson
- LEARNER: Can access their own lessons
- PARENT: Can access their children’s lessons
Response
Returns the complete lesson object (same structure as Create Lesson response).Error Codes
- 401 - Unauthorized
- 403 - Forbidden
- 404 - Lesson not found
Get Lesson History
Authentication Required: Any authenticated user
GET /api/lessons
string
required
Learner ID to get lesson history for (required for PARENT/ADMIN, defaults to authenticated user for LEARNER)
number
Maximum number of lessons to return (default: 10)
Authorization
- LEARNER: Can only access their own history
- PARENT: Can access their children’s history with learnerId query param
- ADMIN: Can access any learner’s history
Response
Response Example
Error Codes
- 400 - learnerId is required
- 401 - Unauthorized
- 403 - Forbidden