GET /api/v1/topic/{id}/lessons

Retrieve all lessons (normal, online, practical) associated with a specific topic. Lessons are ordered by their sequence index.

Path parameters

  • topic string Required
  • id Required

    UUID of the topic

Responses

  • 200 application/json

    Lessons retrieved successfully

  • 400 application/json

    Default bad request error 400 response

    Hide response attributes Show response attributes object
    • message string Required

      Response message

    • error string Required
    • statusCode number Required
  • 404

    Topic not found

GET /api/v1/topic/{id}/lessons
curl \
 --request GET 'https://api.echoplain.social/api/v1/topic/123e4567-e89b-12d3-a456-426614174000/lessons'
Response examples (200)
{
  "lessons": [
    {
      "id": "lesson-1",
      "type": "NORMAL",
      "title": "Introduction to Arrays",
      "duration": 60,
      "materials": [],
      "orderIndex": 1,
      "description": "Basic concepts of arrays"
    },
    {
      "id": "lesson-2",
      "type": "ONLINE",
      "title": "Live Session - Arrays in Practice",
      "orderIndex": 2,
      "meetingLink": "https://zoom.us/j/123456",
      "scheduledAt": "2025-11-25T14:00:00Z"
    }
  ],
  "topicId": "123e4567-e89b-12d3-a456-426614174000",
  "totalLessons": 5
}
Response examples (400)
{
  "message": "string",
  "error": "string",
  "statusCode": 42.0
}