{
  "info": {
    "name": "SMS - Learning Module APIs",
    "description": "All APIs for Lectures, Online Classes, Playlists, Chat, Student Progress, Calendar, Recordings, and AI Summary",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    { "key": "base_url", "value": "http://localhost:8000/api/v1" },
    { "key": "token", "value": "" }
  ],
  "auth": {
    "type": "bearer",
    "bearer": [{ "key": "token", "value": "{{token}}", "type": "string" }]
  },
  "item": [
    {
      "name": "Lectures",
      "item": [
        {
          "name": "List Lectures",
          "request": {
            "method": "GET",
            "url": { "raw": "{{base_url}}/lectures?page=1&per_page=20&search=&class_id=&subject_id=&type=", "host": ["{{base_url}}"], "path": ["lectures"], "query": [{ "key": "page", "value": "1" }, { "key": "per_page", "value": "20" }, { "key": "search", "value": "" }, { "key": "class_id", "value": "" }, { "key": "subject_id", "value": "" }, { "key": "type", "value": "" }] }
          }
        },
        {
          "name": "Create Lecture",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/lectures",
            "body": {
              "mode": "formdata",
              "formdata": [
                { "key": "title", "value": "Introduction to Algebra", "type": "text" },
                { "key": "subject_id", "value": "1", "type": "text" },
                { "key": "class_id", "value": "1", "type": "text" },
                { "key": "type", "value": "video", "type": "text" },
                { "key": "description", "value": "Basic algebra concepts", "type": "text" },
                { "key": "is_active", "value": "1", "type": "text" },
                { "key": "file", "value": "", "type": "file" },
                { "key": "thumbnail", "value": "", "type": "file" }
              ]
            }
          }
        },
        {
          "name": "Show Lecture",
          "request": { "method": "GET", "url": "{{base_url}}/lectures/1" }
        },
        {
          "name": "Update Lecture",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/lectures/1",
            "body": {
              "mode": "formdata",
              "formdata": [
                { "key": "_method", "value": "PUT", "type": "text" },
                { "key": "title", "value": "Updated Title", "type": "text" },
                { "key": "is_active", "value": "1", "type": "text" }
              ]
            }
          }
        },
        {
          "name": "Delete Lecture",
          "request": { "method": "DELETE", "url": "{{base_url}}/lectures/1" }
        },
        {
          "name": "Get Lectures By Subject",
          "request": { "method": "GET", "url": "{{base_url}}/lectures/subject/1" }
        },
        {
          "name": "Student Lectures",
          "request": { "method": "GET", "url": "{{base_url}}/student/lectures" }
        },
        {
          "name": "Track View",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/lectures/1/track-view",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"watch_duration_seconds\": 300,\n  \"completed\": false\n}" }
          }
        },
        {
          "name": "View Stats",
          "request": { "method": "GET", "url": "{{base_url}}/lectures/1/view-stats" }
        },
        {
          "name": "AI Summary",
          "request": { "method": "GET", "url": "{{base_url}}/lectures/1/summary" }
        }
      ]
    },
    {
      "name": "Lecture Playlists",
      "item": [
        {
          "name": "List Playlists",
          "request": { "method": "GET", "url": { "raw": "{{base_url}}/lecture-playlists?page=1&per_page=20&search=&class_id=&subject_id=", "host": ["{{base_url}}"], "path": ["lecture-playlists"], "query": [{ "key": "page", "value": "1" }, { "key": "per_page", "value": "20" }, { "key": "search", "value": "" }, { "key": "class_id", "value": "" }, { "key": "subject_id", "value": "" }] } }
        },
        {
          "name": "Create Playlist",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/lecture-playlists",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"title\": \"Chapter 1 - Basics\",\n  \"subject_id\": 1,\n  \"class_id\": 1,\n  \"chapter\": \"Chapter 1\",\n  \"description\": \"Basic lectures for chapter 1\",\n  \"lecture_ids\": [1, 2, 3]\n}" }
          }
        },
        {
          "name": "Show Playlist",
          "request": { "method": "GET", "url": "{{base_url}}/lecture-playlists/1" }
        },
        {
          "name": "Update Playlist",
          "request": {
            "method": "PUT",
            "url": "{{base_url}}/lecture-playlists/1",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"title\": \"Updated Playlist\",\n  \"lecture_ids\": [2, 1, 3]\n}" }
          }
        },
        {
          "name": "Delete Playlist",
          "request": { "method": "DELETE", "url": "{{base_url}}/lecture-playlists/1" }
        },
        {
          "name": "Add Lecture to Playlist",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/lecture-playlists/1/add-lecture",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"lecture_id\": 4,\n  \"sort_order\": 5\n}" }
          }
        },
        {
          "name": "Remove Lecture from Playlist",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/lecture-playlists/1/remove-lecture",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"lecture_id\": 4\n}" }
          }
        },
        {
          "name": "Reorder Playlist",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/lecture-playlists/1/reorder",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"lecture_ids\": [3, 1, 2]\n}" }
          }
        }
      ]
    },
    {
      "name": "Online Classes",
      "item": [
        {
          "name": "List Online Classes",
          "request": { "method": "GET", "url": { "raw": "{{base_url}}/online-classes?page=1&per_page=20&status=&class_id=", "host": ["{{base_url}}"], "path": ["online-classes"], "query": [{ "key": "page", "value": "1" }, { "key": "per_page", "value": "20" }, { "key": "status", "value": "" }, { "key": "class_id", "value": "" }] } }
        },
        {
          "name": "Create Online Class",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/online-classes",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"title\": \"Math Live Class\",\n  \"subject_id\": 1,\n  \"class_id\": 1,\n  \"platform\": \"google_meet\",\n  \"meeting_link\": \"https://meet.google.com/abc-defg-hij\",\n  \"scheduled_date\": \"2026-03-10\",\n  \"start_time\": \"10:00\",\n  \"end_time\": \"11:00\",\n  \"description\": \"Live math class\"\n}" }
          }
        },
        {
          "name": "Show Online Class",
          "request": { "method": "GET", "url": "{{base_url}}/online-classes/1" }
        },
        {
          "name": "Update Online Class",
          "request": {
            "method": "PUT",
            "url": "{{base_url}}/online-classes/1",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"title\": \"Updated Math Class\"\n}" }
          }
        },
        {
          "name": "Delete Online Class",
          "request": { "method": "DELETE", "url": "{{base_url}}/online-classes/1" }
        },
        {
          "name": "Update Status",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/online-classes/1/status",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"status\": \"live\"\n}" }
          }
        },
        {
          "name": "Upcoming Classes",
          "request": { "method": "GET", "url": "{{base_url}}/online-classes-upcoming" }
        },
        {
          "name": "Join Class",
          "request": { "method": "POST", "url": "{{base_url}}/online-classes/1/join" }
        },
        {
          "name": "Leave Class",
          "request": { "method": "POST", "url": "{{base_url}}/online-classes/1/leave" }
        },
        {
          "name": "Class Attendance",
          "request": { "method": "GET", "url": "{{base_url}}/online-classes/1/attendance" }
        },
        {
          "name": "Google Calendar Link",
          "request": { "method": "GET", "url": "{{base_url}}/online-classes/1/calendar-link" }
        },
        {
          "name": "Download iCal",
          "request": { "method": "GET", "url": "{{base_url}}/online-classes/1/download-ical" }
        },
        {
          "name": "Add Recording",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/online-classes/1/recording",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"recording_url\": \"https://drive.google.com/file/d/abc123\"\n}" }
          }
        }
      ]
    },
    {
      "name": "Class Chat / Q&A",
      "item": [
        {
          "name": "Get Chat Messages",
          "request": { "method": "GET", "url": { "raw": "{{base_url}}/online-classes/1/chat?per_page=50", "host": ["{{base_url}}"], "path": ["online-classes", "1", "chat"], "query": [{ "key": "per_page", "value": "50" }] } }
        },
        {
          "name": "Send Chat Message",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/online-classes/1/chat",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"message\": \"Hello everyone!\",\n  \"type\": \"text\"\n}" }
          }
        },
        {
          "name": "Send Question",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/online-classes/1/chat",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"message\": \"Can you explain this formula?\",\n  \"type\": \"question\"\n}" }
          }
        },
        {
          "name": "Get Questions Only",
          "request": { "method": "GET", "url": "{{base_url}}/online-classes/1/questions" }
        },
        {
          "name": "Pin/Unpin Message",
          "request": { "method": "POST", "url": "{{base_url}}/class-chat/1/pin" }
        },
        {
          "name": "Delete Message",
          "request": { "method": "DELETE", "url": "{{base_url}}/class-chat/1" }
        }
      ]
    },
    {
      "name": "Student Progress & Parent Portal",
      "item": [
        {
          "name": "My Progress (Student)",
          "request": { "method": "GET", "url": "{{base_url}}/student-progress/my" }
        },
        {
          "name": "Student Progress (By ID)",
          "request": { "method": "GET", "url": "{{base_url}}/student-progress/1" }
        },
        {
          "name": "Class Progress",
          "request": { "method": "GET", "url": { "raw": "{{base_url}}/class-progress/1?branch_id=", "host": ["{{base_url}}"], "path": ["class-progress", "1"], "query": [{ "key": "branch_id", "value": "" }] } }
        },
        {
          "name": "Parent Children Progress",
          "request": { "method": "GET", "url": "{{base_url}}/parent/children-progress" }
        }
      ]
    }
  ]
}
