application/json

Body Required

  • classId string Required

    ID of the class

  • title string Required

    Title of the lesson

    Maximum length is 200.

  • content string Required

    Lesson content or instructions

  • subject string | null

    Subject code

  • type string | null

    Type of lesson

    Values are assignment, material, lecture, or quiz.

  • learningObjectives array[object] | null

    Learning objectives

    Hide learningObjectives attributes Show learningObjectives attributes object
    • description string
    • type string
    • isAchieved boolean
    • notes string | null
  • lessonPlan string | null

    Private teacher notes/plan

  • maxPoints integer | null

    Maximum points for assignments

  • dueDate string(date-time) | null

    Due date for assignments

Responses

  • 201 application/json

    Lesson created successfully

    Hide response attributes Show response attributes object
    • success boolean
    • code integer(int32)
    • message string
    • data object

      Lesson plan object representing a detailed plan for teaching or assignment

      Hide data attributes Show data attributes object
      • id string Required

        Unique identifier for the lesson

      • classId string Required

        ID of the class

      • authorId string Required

        ID of the teacher/author

      • title string Required

        Title of the lesson

        Maximum length is 200.

      • subject string | null

        Subject code (e.g., Math-1)

      • content string Required

        Lesson content or instructions

      • type string

        Type of lesson

        Values are assignment, material, lecture, or quiz.

      • status string

        Status of the lesson

        Values are draft, published, or archived.

      • learningObjectives array[object] | null

        Array of learning objectives

        Hide learningObjectives attributes Show learningObjectives attributes object
        • description string
        • type string
        • isAchieved boolean
        • notes string | null
      • lessonPlan string | null

        Private teacher notes/plan (not visible to students)

      • maxPoints integer | null

        Maximum points for assignments

      • dueDate string(date-time) | null

        Due date for assignments

      • createdAt string(date-time)

        Timestamp when the lesson was created

      • updatedAt string(date-time)

        Timestamp when the lesson was last updated

  • 400 application/json

    Bad Request - Invalid input data

    Hide response attributes Show response attributes object
    • success boolean
    • code integer
    • errorCode string
    • message string
    • timestamp string(date-time)
  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • success boolean
    • code integer
    • errorCode string
    • message string
    • timestamp string(date-time)
POST /lessons
curl \
 --request POST 'https://api.huy-devops.site/api/lessons' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"classId":"550e8400-e29b-41d4-a716-446655440000","title":"Quadratic Equations","content":"Students will learn to solve quadratic equations...","subject":"MATH101","type":"lecture","learningObjectives":[{"description":"Students will be able to solve quadratic equations","type":"knowledge","isAchieved":false,"notes":"string"}],"lessonPlan":"Start with examples, then practice problems","maxPoints":100,"dueDate":"2024-09-30T23:59:59Z"}'
Request examples
{
  "classId": "550e8400-e29b-41d4-a716-446655440000",
  "title": "Quadratic Equations",
  "content": "Students will learn to solve quadratic equations...",
  "subject": "MATH101",
  "type": "lecture",
  "learningObjectives": [
    {
      "description": "Students will be able to solve quadratic equations",
      "type": "knowledge",
      "isAchieved": false,
      "notes": "string"
    }
  ],
  "lessonPlan": "Start with examples, then practice problems",
  "maxPoints": 100,
  "dueDate": "2024-09-30T23:59:59Z"
}
Response examples (201)
{
  "success": true,
  "code": 200,
  "message": "string",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440005",
    "classId": "550e8400-e29b-41d4-a716-446655440000",
    "authorId": "550e8400-e29b-41d4-a716-446655440001",
    "title": "Quadratic Equations",
    "subject": "MATH101",
    "content": "Students will learn to solve quadratic equations...",
    "type": "lecture",
    "status": "published",
    "learningObjectives": [
      {
        "description": "Students will be able to solve quadratic equations",
        "type": "knowledge",
        "isAchieved": false,
        "notes": "string"
      }
    ],
    "lessonPlan": "Start with examples, then practice problems",
    "maxPoints": 100,
    "dueDate": "2024-09-30T23:59:59Z",
    "createdAt": "2024-01-15T10:30:00Z",
    "updatedAt": "2024-09-20T14:45:00Z"
  }
}
Response examples (400)
{
  "success": false,
  "code": 42,
  "errorCode": "string",
  "message": "string",
  "timestamp": "2026-05-04T09:42:00Z"
}
Response examples (500)
{
  "success": false,
  "code": 42,
  "errorCode": "string",
  "message": "string",
  "timestamp": "2026-05-04T09:42:00Z"
}