{"openapi":"3.1.0","info":{"title":"QA Learning Platform API","version":"0.1.0"},"paths":{"/api/courses":{"get":{"tags":["courses"],"summary":"List Courses","operationId":"list_courses_api_courses_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CourseRead"},"type":"array","title":"Response List Courses Api Courses Get"}}}}}}},"/api/courses/final-projects":{"get":{"tags":["courses"],"summary":"List Final Projects","operationId":"list_final_projects_api_courses_final_projects_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FinalProjectRead"},"type":"array","title":"Response List Final Projects Api Courses Final Projects Get"}}}}}}},"/api/courses/final-projects/submissions":{"get":{"tags":["courses"],"summary":"List Final Project Submissions","operationId":"list_final_project_submissions_api_courses_final_projects_submissions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FinalProjectSubmissionRead"},"type":"array","title":"Response List Final Project Submissions Api Courses Final Projects Submissions Get"}}}}}}},"/api/courses/final-projects/{project_id}/submit":{"post":{"tags":["courses"],"summary":"Submit Final Project","operationId":"submit_final_project_api_courses_final_projects__project_id__submit_post","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinalProjectSubmitRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinalProjectSubmissionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/final-projects/submissions/{submission_id}/review":{"patch":{"tags":["courses"],"summary":"Review Final Project Submission","operationId":"review_final_project_submission_api_courses_final_projects_submissions__submission_id__review_patch","parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"integer","title":"Submission Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinalProjectReviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinalProjectSubmissionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/admin/modules":{"post":{"tags":["courses"],"summary":"Create Module","operationId":"create_module_api_courses_admin_modules_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModuleCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModuleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/admin/modules/{module_id}":{"patch":{"tags":["courses"],"summary":"Update Module","operationId":"update_module_api_courses_admin_modules__module_id__patch","parameters":[{"name":"module_id","in":"path","required":true,"schema":{"type":"integer","title":"Module Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModuleUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModuleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["courses"],"summary":"Delete Module","operationId":"delete_module_api_courses_admin_modules__module_id__delete","parameters":[{"name":"module_id","in":"path","required":true,"schema":{"type":"integer","title":"Module Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Response Delete Module Api Courses Admin Modules  Module Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/admin/lessons":{"post":{"tags":["courses"],"summary":"Create Lesson","operationId":"create_lesson_api_courses_admin_lessons_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LessonCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LessonRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/admin/lessons/{lesson_id}":{"patch":{"tags":["courses"],"summary":"Update Lesson","operationId":"update_lesson_api_courses_admin_lessons__lesson_id__patch","parameters":[{"name":"lesson_id","in":"path","required":true,"schema":{"type":"integer","title":"Lesson Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LessonUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LessonRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["courses"],"summary":"Delete Lesson","operationId":"delete_lesson_api_courses_admin_lessons__lesson_id__delete","parameters":[{"name":"lesson_id","in":"path","required":true,"schema":{"type":"integer","title":"Lesson Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Response Delete Lesson Api Courses Admin Lessons  Lesson Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/admin/slides":{"post":{"tags":["courses"],"summary":"Create Slide","operationId":"create_slide_api_courses_admin_slides_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlideCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlideRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/admin/slides/{slide_id}":{"patch":{"tags":["courses"],"summary":"Update Slide","operationId":"update_slide_api_courses_admin_slides__slide_id__patch","parameters":[{"name":"slide_id","in":"path","required":true,"schema":{"type":"integer","title":"Slide Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlideUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlideRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/admin/examples":{"post":{"tags":["courses"],"summary":"Create Example","operationId":"create_example_api_courses_admin_examples_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExampleCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExampleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/admin/examples/{example_id}":{"patch":{"tags":["courses"],"summary":"Update Example","operationId":"update_example_api_courses_admin_examples__example_id__patch","parameters":[{"name":"example_id","in":"path","required":true,"schema":{"type":"integer","title":"Example Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExampleUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExampleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/admin/interactive-tasks":{"post":{"tags":["courses"],"summary":"Create Interactive Task","operationId":"create_interactive_task_api_courses_admin_interactive_tasks_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractiveTaskCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractiveTaskRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/admin/interactive-tasks/{task_id}":{"patch":{"tags":["courses"],"summary":"Update Interactive Task","operationId":"update_interactive_task_api_courses_admin_interactive_tasks__task_id__patch","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"integer","title":"Task Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractiveTaskUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractiveTaskRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/{course_id}":{"get":{"tags":["courses"],"summary":"Get Course","operationId":"get_course_api_courses__course_id__get","parameters":[{"name":"course_id","in":"path","required":true,"schema":{"type":"integer","title":"Course Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/modules/{module_id}":{"get":{"tags":["courses"],"summary":"Get Module","operationId":"get_module_api_courses_modules__module_id__get","parameters":[{"name":"module_id","in":"path","required":true,"schema":{"type":"integer","title":"Module Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModuleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/lessons/{lesson_id}":{"get":{"tags":["courses"],"summary":"Get Lesson","operationId":"get_lesson_api_courses_lessons__lesson_id__get","parameters":[{"name":"lesson_id","in":"path","required":true,"schema":{"type":"integer","title":"Lesson Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LessonRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/register":{"post":{"tags":["auth"],"summary":"Register","operationId":"register_api_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/login":{"post":{"tags":["auth"],"summary":"Login","operationId":"login_api_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/me":{"get":{"tags":["auth"],"summary":"Me","operationId":"me_api_auth_me_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/profile":{"patch":{"tags":["auth"],"summary":"Update Profile","operationId":"update_profile_api_auth_profile_patch","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/admin/users":{"get":{"tags":["auth"],"summary":"Admin Users","operationId":"admin_users_api_auth_admin_users_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserRead"},"title":"Response Admin Users Api Auth Admin Users Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["auth"],"summary":"Admin Create User","operationId":"admin_create_user_api_auth_admin_users_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/admin/users/{user_id}":{"patch":{"tags":["auth"],"summary":"Admin Update User","operationId":"admin_update_user_api_auth_admin_users__user_id__patch","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["auth"],"summary":"Admin Delete User","operationId":"admin_delete_user_api_auth_admin_users__user_id__delete","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"}]},"title":"Response Admin Delete User Api Auth Admin Users  User Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/quizzes/admin/questions":{"post":{"tags":["quizzes"],"summary":"Create Quiz Question","operationId":"create_quiz_question_api_quizzes_admin_questions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuizQuestionCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuizQuestionCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/quizzes/admin/questions/{question_id}":{"patch":{"tags":["quizzes"],"summary":"Update Quiz Question","operationId":"update_quiz_question_api_quizzes_admin_questions__question_id__patch","parameters":[{"name":"question_id","in":"path","required":true,"schema":{"type":"integer","title":"Question Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuizQuestionUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuizQuestionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["quizzes"],"summary":"Delete Quiz Question","operationId":"delete_quiz_question_api_quizzes_admin_questions__question_id__delete","parameters":[{"name":"question_id","in":"path","required":true,"schema":{"type":"integer","title":"Question Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Response Delete Quiz Question Api Quizzes Admin Questions  Question Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/quizzes/lesson/{lesson_id}":{"get":{"tags":["quizzes"],"summary":"Get Quiz","operationId":"get_quiz_api_quizzes_lesson__lesson_id__get","parameters":[{"name":"lesson_id","in":"path","required":true,"schema":{"type":"integer","title":"Lesson Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Quiz Api Quizzes Lesson  Lesson Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/quizzes/{quiz_id}/submit":{"post":{"tags":["quizzes"],"summary":"Submit Quiz","operationId":"submit_quiz_api_quizzes__quiz_id__submit_post","parameters":[{"name":"quiz_id","in":"path","required":true,"schema":{"type":"integer","title":"Quiz Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuizSubmitRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuizSubmitResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/homework/submissions":{"get":{"tags":["homework"],"summary":"List Homework Submissions","operationId":"list_homework_submissions_api_homework_submissions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/HomeworkSubmissionRead"},"type":"array","title":"Response List Homework Submissions Api Homework Submissions Get"}}}}}}},"/api/homework/admin":{"post":{"tags":["homework"],"summary":"Create Homework","operationId":"create_homework_api_homework_admin_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HomeworkCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HomeworkRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/homework/admin/{homework_id}":{"patch":{"tags":["homework"],"summary":"Update Homework","operationId":"update_homework_api_homework_admin__homework_id__patch","parameters":[{"name":"homework_id","in":"path","required":true,"schema":{"type":"integer","title":"Homework Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HomeworkUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HomeworkRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/homework/submissions/{submission_id}/review":{"patch":{"tags":["homework"],"summary":"Review Homework Submission","operationId":"review_homework_submission_api_homework_submissions__submission_id__review_patch","parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"integer","title":"Submission Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HomeworkReviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HomeworkSubmissionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/homework/lesson/{lesson_id}":{"get":{"tags":["homework"],"summary":"Get Homework","operationId":"get_homework_api_homework_lesson__lesson_id__get","parameters":[{"name":"lesson_id","in":"path","required":true,"schema":{"type":"integer","title":"Lesson Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HomeworkRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/homework/{homework_id}/submit":{"post":{"tags":["homework"],"summary":"Submit Homework","operationId":"submit_homework_api_homework__homework_id__submit_post","parameters":[{"name":"homework_id","in":"path","required":true,"schema":{"type":"integer","title":"Homework Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HomeworkSubmitRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Response Submit Homework Api Homework  Homework Id  Submit Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/progress/dashboard/{user_id}":{"get":{"tags":["progress"],"summary":"Dashboard Progress","operationId":"dashboard_progress_api_progress_dashboard__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Dashboard Progress Api Progress Dashboard  User Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/progress/admin/students":{"get":{"tags":["progress"],"summary":"Admin Student Progress","operationId":"admin_student_progress_api_progress_admin_students_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AdminProgressRow"},"type":"array","title":"Response Admin Student Progress Api Progress Admin Students Get"}}}}}}},"/api/progress/lesson":{"post":{"tags":["progress"],"summary":"Update Lesson Progress","operationId":"update_lesson_progress_api_progress_lesson_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProgressUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Update Lesson Progress Api Progress Lesson Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/gamification/player/{user_id}":{"get":{"tags":["gamification"],"summary":"Player Stats","operationId":"player_stats_api_gamification_player__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerStatsRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/gamification/sync/{user_id}":{"post":{"tags":["gamification"],"summary":"Sync Player Stats","operationId":"sync_player_stats_api_gamification_sync__user_id__post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlayerStatsRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/gamification/leaderboard":{"get":{"tags":["gamification"],"summary":"Leaderboard","operationId":"leaderboard_api_gamification_leaderboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/LeaderboardRow"},"type":"array","title":"Response Leaderboard Api Gamification Leaderboard Get"}}}}}}},"/api/ai/chat":{"post":{"tags":["ai"],"summary":"Ai Chat","operationId":"ai_chat_api_ai_chat_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiChatRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiChatResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/images/generate":{"post":{"tags":["ai"],"summary":"Ai Image Generate","operationId":"ai_image_generate_api_ai_images_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiImageGenerateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiImageGenerateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/admin/settings":{"get":{"tags":["ai"],"summary":"Ai Admin Settings","operationId":"ai_admin_settings_api_ai_admin_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiSettingsRead"}}}}}},"patch":{"tags":["ai"],"summary":"Ai Admin Settings Update","operationId":"ai_admin_settings_update_api_ai_admin_settings_patch","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiSettingsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiSettingsRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/admin/usage":{"get":{"tags":["ai"],"summary":"Ai Admin Usage","operationId":"ai_admin_usage_api_ai_admin_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiUsageSummary"}}}}}}},"/api/ai/images":{"get":{"tags":["ai"],"summary":"Ai Images","operationId":"ai_images_api_ai_images_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":12,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AiGeneratedImageRead"},"title":"Response Ai Images Api Ai Images Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/generated/tasks":{"get":{"tags":["ai"],"summary":"Ai Generated Tasks","operationId":"ai_generated_tasks_api_ai_generated_tasks_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AiGeneratedTaskRead"},"title":"Response Ai Generated Tasks Api Ai Generated Tasks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ai/generated/quizzes":{"get":{"tags":["ai"],"summary":"Ai Generated Quizzes","operationId":"ai_generated_quizzes_api_ai_generated_quizzes_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AiGeneratedQuizRead"},"title":"Response Ai Generated Quizzes Api Ai Generated Quizzes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}}},"components":{"schemas":{"AchievementRead":{"properties":{"id":{"type":"integer","title":"Id"},"code":{"type":"string","title":"Code"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"icon":{"type":"string","title":"Icon"},"category":{"type":"string","title":"Category"},"xpReward":{"type":"integer","title":"Xpreward"},"unlocked":{"type":"boolean","title":"Unlocked","default":false},"unlockedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Unlockedat"}},"type":"object","required":["id","code","title","description","icon","category","xpReward"],"title":"AchievementRead"},"AdminProgressRow":{"properties":{"user_id":{"type":"integer","title":"User Id"},"email":{"type":"string","title":"Email"},"lesson_id":{"type":"integer","title":"Lesson Id"},"lesson_title":{"type":"string","title":"Lesson Title"},"opened":{"type":"boolean","title":"Opened"},"completed":{"type":"boolean","title":"Completed"},"quiz_completed":{"type":"boolean","title":"Quiz Completed"},"homework_submitted":{"type":"boolean","title":"Homework Submitted"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["user_id","email","lesson_id","lesson_title","opened","completed","quiz_completed","homework_submitted","updated_at"],"title":"AdminProgressRow"},"AdminUserCreateRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":128,"minLength":8,"title":"Password"},"fullName":{"type":"string","maxLength":255,"title":"Fullname","default":""},"goal":{"type":"string","maxLength":255,"title":"Goal","default":"Become a job-ready QA engineer"},"role":{"type":"string","pattern":"^(student|admin)$","title":"Role","default":"student"}},"type":"object","required":["email","password"],"title":"AdminUserCreateRequest"},"AdminUserUpdateRequest":{"properties":{"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"password":{"anyOf":[{"type":"string","maxLength":128,"minLength":8},{"type":"null"}],"title":"Password"},"fullName":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Fullname"},"goal":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Goal"},"role":{"anyOf":[{"type":"string","pattern":"^(student|admin)$"},{"type":"null"}],"title":"Role"}},"type":"object","title":"AdminUserUpdateRequest"},"AiChatRequest":{"properties":{"message":{"type":"string","maxLength":4000,"minLength":1,"title":"Message"},"lessonId":{"type":"string","title":"Lessonid"},"mode":{"type":"string","enum":["explain","generate_task","generate_quiz","check_homework","automation_help"],"title":"Mode"}},"type":"object","required":["message","lessonId","mode"],"title":"AiChatRequest"},"AiChatResponse":{"properties":{"answer":{"type":"string","title":"Answer"},"type":{"type":"string","enum":["explanation","task","quiz","feedback","code_help"],"title":"Type"}},"type":"object","required":["answer","type"],"title":"AiChatResponse"},"AiGeneratedImageRead":{"properties":{"id":{"type":"integer","title":"Id"},"lessonId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lessonid"},"prompt":{"type":"string","title":"Prompt"},"enhancedPrompt":{"type":"string","title":"Enhancedprompt"},"imageUrl":{"type":"string","title":"Imageurl"},"targetType":{"type":"string","title":"Targettype"},"style":{"type":"string","title":"Style"},"provider":{"type":"string","title":"Provider"},"model":{"type":"string","title":"Model"},"createdAt":{"type":"string","title":"Createdat"}},"type":"object","required":["id","lessonId","prompt","enhancedPrompt","imageUrl","targetType","style","provider","model","createdAt"],"title":"AiGeneratedImageRead"},"AiGeneratedQuizRead":{"properties":{"id":{"type":"integer","title":"Id"},"lessonId":{"type":"integer","title":"Lessonid"},"userId":{"type":"integer","title":"Userid"},"quizJson":{"type":"string","title":"Quizjson"}},"type":"object","required":["id","lessonId","userId","quizJson"],"title":"AiGeneratedQuizRead"},"AiGeneratedTaskRead":{"properties":{"id":{"type":"integer","title":"Id"},"lessonId":{"type":"integer","title":"Lessonid"},"userId":{"type":"integer","title":"Userid"},"content":{"type":"string","title":"Content"}},"type":"object","required":["id","lessonId","userId","content"],"title":"AiGeneratedTaskRead"},"AiImageGenerateRequest":{"properties":{"prompt":{"type":"string","maxLength":1200,"minLength":1,"title":"Prompt"},"lessonId":{"type":"string","title":"Lessonid"},"targetType":{"type":"string","enum":["lesson_cover","slide_image","diagram","workflow","bug_example","ui_mockup","quiz_image","homework_image","interactive_task_image"],"title":"Targettype"},"style":{"type":"string","enum":["clean_educational","modern_flat","minimal_diagram","isometric","realistic_ui_mockup","dark_tech","friendly_learning"],"title":"Style"},"size":{"type":"string","enum":["1024x1024","1024x1536","1536x1024"],"title":"Size"}},"type":"object","required":["prompt","lessonId","targetType","style","size"],"title":"AiImageGenerateRequest"},"AiImageGenerateResponse":{"properties":{"imageUrl":{"type":"string","title":"Imageurl"},"imageId":{"type":"string","title":"Imageid"},"prompt":{"type":"string","title":"Prompt"},"targetType":{"type":"string","title":"Targettype"},"style":{"type":"string","title":"Style"}},"type":"object","required":["imageUrl","imageId","prompt","targetType","style"],"title":"AiImageGenerateResponse"},"AiSettingsRead":{"properties":{"provider":{"type":"string","title":"Provider"},"textModel":{"type":"string","title":"Textmodel"},"imageModel":{"type":"string","title":"Imagemodel"},"temperature":{"type":"number","title":"Temperature"},"maxTokens":{"type":"integer","title":"Maxtokens"},"dailyTextLimitPerUser":{"type":"integer","title":"Dailytextlimitperuser"},"dailyImageLimitPerUser":{"type":"integer","title":"Dailyimagelimitperuser"},"dailyImageLimitAdmin":{"type":"integer","title":"Dailyimagelimitadmin"},"openaiConfigured":{"type":"boolean","title":"Openaiconfigured"},"openrouterConfigured":{"type":"boolean","title":"Openrouterconfigured"}},"type":"object","required":["provider","textModel","imageModel","temperature","maxTokens","dailyTextLimitPerUser","dailyImageLimitPerUser","dailyImageLimitAdmin","openaiConfigured","openrouterConfigured"],"title":"AiSettingsRead"},"AiSettingsUpdate":{"properties":{"provider":{"anyOf":[{"type":"string","enum":["openai","openrouter"]},{"type":"null"}],"title":"Provider"},"textModel":{"anyOf":[{"type":"string","maxLength":120,"minLength":1},{"type":"null"}],"title":"Textmodel"},"imageModel":{"anyOf":[{"type":"string","maxLength":120,"minLength":1},{"type":"null"}],"title":"Imagemodel"},"temperature":{"anyOf":[{"type":"number","maximum":2.0,"minimum":0.0},{"type":"null"}],"title":"Temperature"},"maxTokens":{"anyOf":[{"type":"integer","maximum":8000.0,"minimum":100.0},{"type":"null"}],"title":"Maxtokens"},"dailyTextLimitPerUser":{"anyOf":[{"type":"integer","maximum":10000.0,"minimum":0.0},{"type":"null"}],"title":"Dailytextlimitperuser"},"dailyImageLimitPerUser":{"anyOf":[{"type":"integer","maximum":1000.0,"minimum":0.0},{"type":"null"}],"title":"Dailyimagelimitperuser"},"dailyImageLimitAdmin":{"anyOf":[{"type":"integer","maximum":10000.0,"minimum":0.0},{"type":"null"}],"title":"Dailyimagelimitadmin"},"openaiApiKey":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Openaiapikey"},"openrouterApiKey":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Openrouterapikey"}},"type":"object","title":"AiSettingsUpdate"},"AiUsageSummary":{"properties":{"textRequestsToday":{"type":"integer","title":"Textrequeststoday"},"imageRequestsToday":{"type":"integer","title":"Imagerequeststoday"},"totalRequestsToday":{"type":"integer","title":"Totalrequeststoday"},"dailyTextLimitPerUser":{"type":"integer","title":"Dailytextlimitperuser"},"dailyImageLimitAdmin":{"type":"integer","title":"Dailyimagelimitadmin"}},"type":"object","required":["textRequestsToday","imageRequestsToday","totalRequestsToday","dailyTextLimitPerUser","dailyImageLimitAdmin"],"title":"AiUsageSummary"},"AuthResponse":{"properties":{"accessToken":{"type":"string","title":"Accesstoken"},"tokenType":{"type":"string","title":"Tokentype","default":"bearer"},"user":{"$ref":"#/components/schemas/UserRead"}},"type":"object","required":["accessToken","user"],"title":"AuthResponse"},"CourseRead":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"type":"string","title":"Title"},"section":{"type":"string","title":"Section"},"description":{"type":"string","title":"Description"},"modules":{"items":{"$ref":"#/components/schemas/ModuleRead"},"type":"array","title":"Modules","default":[]}},"type":"object","required":["id","title","section","description"],"title":"CourseRead"},"ExampleCreateRequest":{"properties":{"lesson_id":{"type":"integer","title":"Lesson Id"},"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"}},"type":"object","required":["lesson_id","title","content"],"title":"ExampleCreateRequest"},"ExampleRead":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"}},"type":"object","required":["id","title","content"],"title":"ExampleRead"},"ExampleUpdateRequest":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"}},"type":"object","title":"ExampleUpdateRequest"},"FinalProjectRead":{"properties":{"id":{"type":"integer","title":"Id"},"course_id":{"type":"integer","title":"Course Id"},"title":{"type":"string","title":"Title"},"requirements":{"type":"string","title":"Requirements"}},"type":"object","required":["id","course_id","title","requirements"],"title":"FinalProjectRead"},"FinalProjectReviewRequest":{"properties":{"status":{"type":"string","title":"Status"}},"type":"object","required":["status"],"title":"FinalProjectReviewRequest"},"FinalProjectSubmissionRead":{"properties":{"id":{"type":"integer","title":"Id"},"final_project_id":{"type":"integer","title":"Final Project Id"},"user_id":{"type":"integer","title":"User Id"},"submission_text":{"type":"string","title":"Submission Text"},"file_url":{"type":"string","title":"File Url"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","final_project_id","user_id","submission_text","file_url","status","created_at"],"title":"FinalProjectSubmissionRead"},"FinalProjectSubmitRequest":{"properties":{"user_id":{"type":"integer","title":"User Id","default":1},"submission_text":{"type":"string","title":"Submission Text"},"file_url":{"type":"string","title":"File Url","default":""}},"type":"object","required":["submission_text"],"title":"FinalProjectSubmitRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HomeworkCreateRequest":{"properties":{"lesson_id":{"type":"integer","title":"Lesson Id"},"task_description":{"type":"string","title":"Task Description"},"expected_result":{"type":"string","title":"Expected Result"},"allow_file_upload":{"type":"boolean","title":"Allow File Upload","default":true}},"type":"object","required":["lesson_id","task_description","expected_result"],"title":"HomeworkCreateRequest"},"HomeworkRead":{"properties":{"id":{"type":"integer","title":"Id"},"lesson_id":{"type":"integer","title":"Lesson Id"},"task_description":{"type":"string","title":"Task Description"},"expected_result":{"type":"string","title":"Expected Result"},"allow_file_upload":{"type":"boolean","title":"Allow File Upload"}},"type":"object","required":["id","lesson_id","task_description","expected_result","allow_file_upload"],"title":"HomeworkRead"},"HomeworkReviewRequest":{"properties":{"status":{"type":"string","title":"Status"}},"type":"object","required":["status"],"title":"HomeworkReviewRequest"},"HomeworkSubmissionRead":{"properties":{"id":{"type":"integer","title":"Id"},"homework_id":{"type":"integer","title":"Homework Id"},"user_id":{"type":"integer","title":"User Id"},"answer_text":{"type":"string","title":"Answer Text"},"file_url":{"type":"string","title":"File Url"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","homework_id","user_id","answer_text","file_url","status","created_at"],"title":"HomeworkSubmissionRead"},"HomeworkSubmitRequest":{"properties":{"user_id":{"type":"integer","title":"User Id","default":1},"answer_text":{"type":"string","title":"Answer Text"}},"type":"object","required":["answer_text"],"title":"HomeworkSubmitRequest"},"HomeworkUpdateRequest":{"properties":{"task_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Description"},"expected_result":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Result"},"allow_file_upload":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Allow File Upload"}},"type":"object","title":"HomeworkUpdateRequest"},"InteractiveTaskCreateRequest":{"properties":{"lesson_id":{"type":"integer","title":"Lesson Id"},"task_type":{"type":"string","title":"Task Type","default":"analysis"},"prompt":{"type":"string","title":"Prompt"},"expected_answer":{"type":"string","title":"Expected Answer"}},"type":"object","required":["lesson_id","prompt","expected_answer"],"title":"InteractiveTaskCreateRequest"},"InteractiveTaskRead":{"properties":{"id":{"type":"integer","title":"Id"},"task_type":{"type":"string","title":"Task Type"},"prompt":{"type":"string","title":"Prompt"},"expected_answer":{"type":"string","title":"Expected Answer"}},"type":"object","required":["id","task_type","prompt","expected_answer"],"title":"InteractiveTaskRead"},"InteractiveTaskUpdateRequest":{"properties":{"task_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Type"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"expected_answer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Answer"}},"type":"object","title":"InteractiveTaskUpdateRequest"},"LeaderboardRow":{"properties":{"position":{"type":"integer","title":"Position"},"userId":{"type":"integer","title":"Userid"},"email":{"type":"string","title":"Email"},"fullName":{"type":"string","title":"Fullname"},"xp":{"type":"integer","title":"Xp"},"level":{"type":"integer","title":"Level"},"rank":{"type":"string","title":"Rank"},"achievementsUnlocked":{"type":"integer","title":"Achievementsunlocked"},"completedLessons":{"type":"integer","title":"Completedlessons"}},"type":"object","required":["position","userId","email","fullName","xp","level","rank","achievementsUnlocked","completedLessons"],"title":"LeaderboardRow"},"LessonCreateRequest":{"properties":{"module_id":{"type":"integer","title":"Module Id"},"title":{"type":"string","title":"Title"},"short_description":{"type":"string","title":"Short Description","default":""},"theory":{"type":"string","title":"Theory","default":""},"order_index":{"type":"integer","title":"Order Index","default":0}},"type":"object","required":["module_id","title"],"title":"LessonCreateRequest"},"LessonRead":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"type":"string","title":"Title"},"short_description":{"type":"string","title":"Short Description"},"learning_goals":{"type":"string","title":"Learning Goals"},"theory":{"type":"string","title":"Theory"},"key_terms":{"type":"string","title":"Key Terms"},"real_world_example":{"type":"string","title":"Real World Example"},"step_by_step":{"type":"string","title":"Step By Step"},"common_mistakes":{"type":"string","title":"Common Mistakes"},"practical_use_case":{"type":"string","title":"Practical Use Case"},"summary":{"type":"string","title":"Summary"},"order_index":{"type":"integer","title":"Order Index"},"slides":{"items":{"$ref":"#/components/schemas/SlideRead"},"type":"array","title":"Slides","default":[]},"examples":{"items":{"$ref":"#/components/schemas/ExampleRead"},"type":"array","title":"Examples","default":[]},"interactive_tasks":{"items":{"$ref":"#/components/schemas/InteractiveTaskRead"},"type":"array","title":"Interactive Tasks","default":[]}},"type":"object","required":["id","title","short_description","learning_goals","theory","key_terms","real_world_example","step_by_step","common_mistakes","practical_use_case","summary","order_index"],"title":"LessonRead"},"LessonUpdateRequest":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"short_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Short Description"},"learning_goals":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Learning Goals"},"theory":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Theory"},"key_terms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Terms"},"real_world_example":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Real World Example"},"step_by_step":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Step By Step"},"common_mistakes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Common Mistakes"},"practical_use_case":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Practical Use Case"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"order_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order Index"}},"type":"object","title":"LessonUpdateRequest"},"LoginRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":128,"minLength":1,"title":"Password"}},"type":"object","required":["email","password"],"title":"LoginRequest"},"ModuleCreateRequest":{"properties":{"course_id":{"type":"integer","title":"Course Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description","default":""},"order_index":{"type":"integer","title":"Order Index","default":0}},"type":"object","required":["course_id","title"],"title":"ModuleCreateRequest"},"ModuleRead":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"order_index":{"type":"integer","title":"Order Index"},"lessons":{"items":{"$ref":"#/components/schemas/LessonRead"},"type":"array","title":"Lessons","default":[]}},"type":"object","required":["id","title","description","order_index"],"title":"ModuleRead"},"ModuleUpdateRequest":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"order_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order Index"}},"type":"object","title":"ModuleUpdateRequest"},"PlayerStatsRead":{"properties":{"userId":{"type":"integer","title":"Userid"},"email":{"type":"string","title":"Email"},"fullName":{"type":"string","title":"Fullname"},"goal":{"type":"string","title":"Goal"},"xp":{"type":"integer","title":"Xp"},"level":{"type":"integer","title":"Level"},"rank":{"type":"string","title":"Rank"},"nextRank":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nextrank"},"nextRankXp":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Nextrankxp"},"xpToNextRank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Xptonextrank"},"streakDays":{"type":"integer","title":"Streakdays"},"completedLessons":{"type":"integer","title":"Completedlessons"},"openedLessons":{"type":"integer","title":"Openedlessons"},"quizCompleted":{"type":"integer","title":"Quizcompleted"},"homeworkSubmitted":{"type":"integer","title":"Homeworksubmitted"},"totalLessons":{"type":"integer","title":"Totallessons"},"completionPercent":{"type":"number","title":"Completionpercent"},"achievementsUnlocked":{"type":"integer","title":"Achievementsunlocked"},"achievementsTotal":{"type":"integer","title":"Achievementstotal"},"ranks":{"items":{"$ref":"#/components/schemas/RankRead"},"type":"array","title":"Ranks"},"achievements":{"items":{"$ref":"#/components/schemas/AchievementRead"},"type":"array","title":"Achievements"}},"type":"object","required":["userId","email","fullName","goal","xp","level","rank","nextRank","nextRankXp","xpToNextRank","streakDays","completedLessons","openedLessons","quizCompleted","homeworkSubmitted","totalLessons","completionPercent","achievementsUnlocked","achievementsTotal","ranks","achievements"],"title":"PlayerStatsRead"},"ProfileUpdateRequest":{"properties":{"fullName":{"type":"string","maxLength":255,"title":"Fullname","default":""},"goal":{"type":"string","maxLength":255,"title":"Goal","default":""}},"type":"object","title":"ProfileUpdateRequest"},"ProgressUpdate":{"properties":{"user_id":{"type":"integer","title":"User Id","default":1},"lesson_id":{"type":"integer","title":"Lesson Id"},"opened":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Opened"},"completed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Completed"},"quiz_completed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Quiz Completed"},"homework_submitted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Homework Submitted"}},"type":"object","required":["lesson_id"],"title":"ProgressUpdate"},"QuizAnswerCreate":{"properties":{"answer_text":{"type":"string","title":"Answer Text"},"is_correct":{"type":"boolean","title":"Is Correct","default":false}},"type":"object","required":["answer_text"],"title":"QuizAnswerCreate"},"QuizQuestionCreateRequest":{"properties":{"lesson_id":{"type":"integer","title":"Lesson Id"},"question":{"type":"string","title":"Question"},"question_type":{"type":"string","title":"Question Type","default":"single"},"explanation":{"type":"string","title":"Explanation"},"answers":{"items":{"$ref":"#/components/schemas/QuizAnswerCreate"},"type":"array","title":"Answers"}},"type":"object","required":["lesson_id","question","explanation","answers"],"title":"QuizQuestionCreateRequest"},"QuizQuestionCreateResponse":{"properties":{"quiz_id":{"type":"integer","title":"Quiz Id"},"question_id":{"type":"integer","title":"Question Id"},"answer_ids":{"items":{"type":"integer"},"type":"array","title":"Answer Ids"}},"type":"object","required":["quiz_id","question_id","answer_ids"],"title":"QuizQuestionCreateResponse"},"QuizQuestionRead":{"properties":{"id":{"type":"integer","title":"Id"},"question":{"type":"string","title":"Question"},"question_type":{"type":"string","title":"Question Type"},"explanation":{"type":"string","title":"Explanation"},"answer_ids":{"items":{"type":"integer"},"type":"array","title":"Answer Ids","default":[]}},"type":"object","required":["id","question","question_type","explanation"],"title":"QuizQuestionRead"},"QuizQuestionUpdateRequest":{"properties":{"question":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Question"},"question_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Question Type"},"explanation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Explanation"},"answers":{"anyOf":[{"items":{"$ref":"#/components/schemas/QuizAnswerCreate"},"type":"array"},{"type":"null"}],"title":"Answers"}},"type":"object","title":"QuizQuestionUpdateRequest"},"QuizSubmitRequest":{"properties":{"user_id":{"type":"integer","title":"User Id","default":1},"answers":{"additionalProperties":{"items":{"type":"integer"},"type":"array"},"type":"object","title":"Answers"}},"type":"object","required":["answers"],"title":"QuizSubmitRequest"},"QuizSubmitResponse":{"properties":{"score":{"type":"integer","title":"Score"},"total":{"type":"integer","title":"Total"},"wrong_answers":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array","title":"Wrong Answers"}},"type":"object","required":["score","total","wrong_answers"],"title":"QuizSubmitResponse"},"RankRead":{"properties":{"title":{"type":"string","title":"Title"},"threshold":{"type":"integer","title":"Threshold"},"reached":{"type":"boolean","title":"Reached"}},"type":"object","required":["title","threshold","reached"],"title":"RankRead"},"RegisterRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":128,"minLength":8,"title":"Password"},"full_name":{"type":"string","maxLength":255,"title":"Full Name","default":""}},"type":"object","required":["email","password"],"title":"RegisterRequest"},"SlideCreateRequest":{"properties":{"lesson_id":{"type":"integer","title":"Lesson Id"},"title":{"type":"string","title":"Title"},"body":{"type":"string","title":"Body"},"order_index":{"type":"integer","title":"Order Index","default":0},"image_url":{"type":"string","title":"Image Url","default":""}},"type":"object","required":["lesson_id","title","body"],"title":"SlideCreateRequest"},"SlideRead":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"type":"string","title":"Title"},"body":{"type":"string","title":"Body"},"order_index":{"type":"integer","title":"Order Index"},"image_url":{"type":"string","title":"Image Url"}},"type":"object","required":["id","title","body","order_index","image_url"],"title":"SlideRead"},"SlideUpdateRequest":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"order_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order Index"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"}},"type":"object","title":"SlideUpdateRequest"},"UserRead":{"properties":{"id":{"type":"integer","title":"Id"},"email":{"type":"string","title":"Email"},"role":{"type":"string","title":"Role"},"fullName":{"type":"string","title":"Fullname","default":""},"goal":{"type":"string","title":"Goal","default":""}},"type":"object","required":["id","email","role"],"title":"UserRead"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}