POST /api/v1/online-lesson/{id}/add-material

Upload or link supporting materials for an online lesson (slides, notes, resources, etc.). Only admins and lecturers can add materials.

Path parameters

  • id string Required

    UUID of the online lesson

application/json

Body Required

Material data or file to upload

  • title string
  • fileUrl string
  • fileType string
  • description string

Responses

  • 201 application/json

    Material added successfully

  • 400

    Invalid material data

  • 403

    Forbidden - Admin or Lecturer role required

  • 404

    Online lesson not found

POST /api/v1/online-lesson/{id}/add-material
curl \
 --request POST 'http://localhost:3500/api/v1/online-lesson/123e4567-e89b-12d3-a456-426614174000/add-material' \
 --header "Content-Type: application/json" \
 --data '{"title":"Session Slides - Data Structures","fileUrl":"https://storage.example.com/slides.pdf","fileType":"pdf","description":"Presentation slides for the live session"}'
Request examples
{
  "title": "Session Slides - Data Structures",
  "fileUrl": "https://storage.example.com/slides.pdf",
  "fileType": "pdf",
  "description": "Presentation slides for the live session"
}
Response examples (201)
{
  "message": "Material added successfully",
  "material": {
    "id": "material-123",
    "title": "Session Slides - Data Structures",
    "fileUrl": "https://storage.example.com/slides.pdf",
    "onlineLessonId": "123e4567-e89b-12d3-a456-426614174000"
  }
}