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
}