Learning Engine API Documentation
RESTful API for managing courses, modules, lessons and tracking learning metrics.
Course Structure
Courses → Modules → Lessons Hierarchy
{
"course": {
"id": "string",
"title": "string",
"description": "string",
"modules": [
{
"id": "string",
"title": "string",
"lessons": [
{
"id": "string",
"title": "string",
"exercises": [
{
"id": "string",
"type": "speaking|listening|vocabulary|grammar"
}
]
}
]
}
]
}
}
API Endpoints
GET
/api/courses
Retrieve all available courses
// Response
[
{
"id": "course-123",
"title": "Beginner English",
"description": "Basic English for beginners",
"language": "en",
"difficulty": "beginner"
}
]
POST
/api/courses
Create a new course (Admin only)
// Request Body
{
"title": "Advanced English",
"description": "Advanced English course",
"language": "en",
"difficulty": "advanced"
}
// Response
{
"id": "course-456",
"status": "created"
}
Progress Tracking
PATCH
/api/lessons/{lessonId}/progress
Update lesson progress metrics
// Request Body
{
"speaking": 75,
"listening": 80,
"vocabulary": 90,
"grammar": 70,
"confidence": 85
}
// Response
{
"lessonId": "lesson-789",
"updated": true
}