{"openapi":"3.1.0","info":{"title":"labsapi","version":"1.13.0.223565"},"paths":{"/health/live":{"get":{"tags":["Health Checks"],"summary":"Liveness","operationId":"liveness_health_live_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Liveness Health Live Get"}}}}}}},"/health/ready":{"get":{"tags":["Health Checks"],"summary":"Readiness","operationId":"readiness_health_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Readiness Health Ready Get"}}}}}}},"/v1/total-time":{"get":{"tags":["Labs"],"summary":"Get total time for all quiz sessions","description":"Calculates and retrieves the total time spent across all quiz sessions for the authenticated admin user. This endpoint provides insights into overall user engagement and time investment in quizzes. Total time is returned in seconds.","operationId":"get_total_time_for_all_sessions_v1_total_time_get","responses":{"200":{"description":"Successfully retrieved total time","content":{"application/json":{"schema":{"type":"object","title":"Response Get Total Time For All Sessions V1 Total Time Get"},"example":{"total_time":7200.5}}}},"403":{"description":"Unauthorized access"},"500":{"description":"Internal server error"}},"security":[{"HTTPBearer":[]}]}},"/tutor/v1/quiz/session":{"post":{"tags":["Quiz"],"summary":"Create a new quiz session","description":"Initializes a new quiz session for the specified content and generates the first question.","operationId":"tutor_create_session_tutor_v1_quiz_session_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"start_page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Start page for the quiz session","title":"Start Page"},"description":"Start page for the quiz session"},{"name":"end_page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"End page for the quiz session","title":"End Page"},"description":"End page for the quiz session"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateQuizSessionDto"}}}},"responses":{"200":{"description":"Successfully created quiz session","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","format":"uuid"},{"type":"boolean"}]},"title":"Response Tutor Create Session Tutor V1 Quiz Session Post"},"example":{"quizSessionId":"123e4567-e89b-12d3-a456-426614174000","hasContentParts":true}}}},"400":{"description":"Invalid request"},"403":{"description":"Unauthorized access"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tutor/v1/quiz/session/question":{"post":{"tags":["Quiz"],"summary":"Create a new question for an existing quiz session","description":"Generates and returns a new question for the specified quiz session. This endpoint is restricted to admin users.","operationId":"tutor_create_session_question_tutor_v1_quiz_session_question_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateQuizSessionQuestionDto"}}},"required":true},"responses":{"200":{"description":"Successfully created quiz session question","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicQuizSessionQuestionDto"},"example":{"quiz_session_id":"123e4567-e89b-12d3-a456-426614174000","question":{"id":"789e4567-e89b-12d3-a456-426614174001","question":"What is the capital of France?","answers":[{"id":"a1","text":"London","is_correct":false},{"id":"a2","text":"Paris","is_correct":true},{"id":"a3","text":"Berlin","is_correct":false},{"id":"a4","text":"Madrid","is_correct":false}]}}}}},"400":{"description":"Invalid request"},"403":{"description":"Unauthorized access"},"404":{"description":"Quiz session not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tutor/v1/quiz/session/answer":{"post":{"tags":["Quiz"],"summary":"Submit a session answer for a quiz question","description":"Allows a user to submit and answer for a quiz questions as part of a quiz session.","operationId":"tutor_create_session_answer_attempt_tutor_v1_quiz_session_answer_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetQuizAnswerAttemptDto"}}},"required":true},"responses":{"200":{"description":"Successfully submitted answer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuizAttemptDto"},"example":{"id":"123e4567-e89b-12d3-a456-426614174000","quiz_session_id":"123e4567-e89b-12d3-a456-426614174000","question_id":"123e4567-e89b-12d3-a456-426614174000","selected_answer_id":"123e4567-e89b-12d3-a456-426614174000","is_correct":true}}}},"400":{"description":"Invalid request"},"403":{"description":"Unauthorized access"},"404":{"description":"Question or answer not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tutor/v1/quiz/session/answer/{attempt_id}":{"patch":{"tags":["Quiz"],"summary":"Update a session answer for a quiz question","description":"Allows a user to update and answer for a quiz questions as part of a quiz session.","operationId":"tutor_create_session_answer_attempt_tutor_v1_quiz_session_answer__attempt_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"attempt_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The UUID of the quiz session to retrieve details for","title":"Attempt Id"},"description":"The UUID of the quiz session to retrieve details for"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuizAnswerAttemptDto"}}}},"responses":{"200":{"description":"Successfully updated answer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuizAttemptDto"},"example":{"id":"123e4567-e89b-12d3-a456-426614174000","quiz_session_id":"123e4567-e89b-12d3-a456-426614174000","question_id":"123e4567-e89b-12d3-a456-426614174000","selected_answer_id":"123e4567-e89b-12d3-a456-426614174000","is_correct":true}}}},"400":{"description":"Invalid request"},"403":{"description":"Unauthorized access"},"404":{"description":"Question or answer not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tutor/v1/quiz/sessions":{"get":{"tags":["Quiz"],"summary":"Get all quiz sessions for the current user","description":"Retrieves a list of all quiz sessions for the authenticated admin user. This endpoint provides a comprehensive overview of the user's quiz history. Total time is in seconds. Session start and last answered times are in ISO 8601 format.","operationId":"tutor_get_sessions_grouped_by_content_id_tutor_v1_quiz_sessions_get","responses":{"200":{"description":"Successfully retrieved quiz sessions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuizSessionsDto"},"example":{"quiz_sessions":[{"id":"123e4567-e89b-12d3-a456-426614174000","content_id":"789e4567-e89b-12d3-a456-426614174001","content_title":"Introduction to Python","question_count":10,"correct_answer_count":8,"incorrect_answer_count":2,"total_time":600,"session_start_time":"2024-08-07T10:00:00Z","last_answered_time":"2024-08-07T10:10:00Z"}]}}}},"403":{"description":"Unauthorized access"},"500":{"description":"Internal server error"}},"security":[{"HTTPBearer":[]}]}},"/tutor/v1/quiz/session/{session_id}/detail":{"get":{"tags":["Quiz"],"summary":"Get detailed information about a specific quiz session","description":"Retrieves comprehensive details about a specific quiz session for the authenticated admin user. This endpoint provides in-depth information about the session, including questions, answers, and performance metrics. Total time is in seconds. Session start and last answered times are in ISO 8601 format.","operationId":"tutor_get_session_detail_tutor_v1_quiz_session__session_id__detail_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The UUID of the quiz session to retrieve details for","title":"Session Id"},"description":"The UUID of the quiz session to retrieve details for"}],"responses":{"200":{"description":"Successfully retrieved quiz session details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuizSessionStatsDto"},"example":{"id":"123e4567-e89b-12d3-a456-426614174000","user_id":"user123","content_id":"789e4567-e89b-12d3-a456-426614174001","content_part_id":"abc12345-e89b-12d3-a456-426614174002","content_title":"Introduction to Python","question_count":10,"correct_answer_count":8,"incorrect_answer_count":2,"answered_question_count":10,"total_time":600,"covered_knowledge_items_count":5,"session_start_time":"2024-08-07T10:00:00Z","last_answered_time":"2024-08-07T10:10:00Z","knowledge_item_count":7,"knowledge_items":[{"id":"def12345-e89b-12d3-a456-426614174003","name":"Python Variables","description":"Understanding variable declaration and assignment in Python","content_part_id":"abc12345-e89b-12d3-a456-426614174002"}]}}}},"403":{"description":"Unauthorized access"},"404":{"description":"Quiz session not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tutor/v1/quiz/session/url":{"post":{"tags":["Quiz"],"summary":"Create a quiz session from a URL","description":"Initiates a new quiz session based on content scraped from a provided URL. This endpoint allows admins to create quizzes from web content, enabling dynamic and up-to-date assessments.","operationId":"tutor_create_session_from_url_tutor_v1_quiz_session_url_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateQuizSessionFromUrlDto"}}},"required":true},"responses":{"200":{"description":"Successfully created quiz session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuizSessionQuestionDto"},"example":{"quiz_session_id":"123e4567-e89b-12d3-a456-426614174000","question":{"id":"789e4567-e89b-12d3-a456-426614174001","text":"What is the main topic discussed in the web page?","answers":[{"id":"a1b2c3d4-e5f6-7890-abcd-1234567890ab","text":"Option A","is_correct":false},{"id":"b2c3d4e5-f6g7-8901-bcde-2345678901bc","text":"Option B","is_correct":true},{"id":"c3d4e5f6-g7h8-9012-cdef-3456789012cd","text":"Option C","is_correct":false},{"id":"d4e5f6g7-h8i9-0123-defg-4567890123de","text":"Option D","is_correct":false}]}}}}},"400":{"description":"Invalid URL or scraping failed"},"403":{"description":"Unauthorized access"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tutor/v1/quiz/session/text":{"post":{"tags":["Quiz"],"summary":"Create a quiz session from custom text","description":"Initiates a new quiz session based on provided text content. This endpoint allows admins to create quizzes from custom text input, enabling flexible content-based assessments.","operationId":"tutor_create_session_from_text_tutor_v1_quiz_session_text_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateQuizSessionFromTextDto"}}},"required":true},"responses":{"200":{"description":"Successfully created quiz session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuizSessionQuestionDto"},"example":{"quiz_session_id":"123e4567-e89b-12d3-a456-426614174000","question":{"id":"789e4567-e89b-12d3-a456-426614174001","text":"What is the main topic of the provided text?","answers":[{"id":"a1b2c3d4-e5f6-7890-abcd-1234567890ab","text":"Option A","is_correct":false},{"id":"b2c3d4e5-f6g7-8901-bcde-2345678901bc","text":"Option B","is_correct":true},{"id":"c3d4e5f6-g7h8-9012-cdef-3456789012cd","text":"Option C","is_correct":false},{"id":"d4e5f6g7-h8i9-0123-defg-4567890123de","text":"Option D","is_correct":false}]}}}}},"400":{"description":"Invalid request"},"403":{"description":"Unauthorized access"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tutor/v1/content/{content_id}/has-content-parts":{"get":{"tags":["Content"],"summary":"Check if content has parts","description":"Checks if the specified content has any content parts, optionally within a given page range.","operationId":"has_process_content_parts_tutor_v1_content__content_id__has_content_parts_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The UUID of the content to check","title":"Content Id"},"description":"The UUID of the content to check"},{"name":"start_page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Start page for the check","title":"Start Page"},"description":"Start page for the check"},{"name":"end_page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"End page for the check","title":"End Page"},"description":"End page for the check"}],"responses":{"200":{"description":"Successfully checked content parts","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Has Process Content Parts Tutor V1 Content Content Id Has Content Parts Get"},"example":{"hasContentParts":true}}}},"400":{"description":"Invalid request"},"403":{"description":"Unauthorized access"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tutor/v1/content/tasks":{"get":{"tags":["Content"],"summary":"Get All Task Statuses","operationId":"get_all_task_statuses_tutor_v1_content_tasks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TaskStatusDto"},"type":"array","title":"Response Get All Task Statuses Tutor V1 Content Tasks Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/tutor/v1/content/my-indexed-files":{"get":{"tags":["Content"],"summary":"Get My Indexed Files","operationId":"get_my_indexed_files_tutor_v1_content_my_indexed_files_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/IndexedFileDto"},"type":"array","title":"Response Get My Indexed Files Tutor V1 Content My Indexed Files Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/tutor/v1/content/{content_id}/index":{"post":{"tags":["Content"],"summary":"Index Content","operationId":"index_content_tutor_v1_content__content_id__index_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Index Content Tutor V1 Content Content Id Index Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tutor/v1/content/{content_id}/delete-index":{"post":{"tags":["Content"],"summary":"Delete Index","operationId":"delete_index_tutor_v1_content__content_id__delete_index_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Delete Index Tutor V1 Content Content Id Delete Index Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tutor/v1/content/ws/{content_id}":{"post":{"tags":["Content"],"summary":"Asynchronously process content for a given content ID","operationId":"process_content_for_content_id_async_tutor_v1_content_ws__content_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","title":"Content Id"}},{"name":"start_page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Start page for processing","title":"Start Page"},"description":"Start page for processing"},{"name":"end_page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"End page for processing","title":"End Page"},"description":"End page for processing"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentProcessingStatusDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tutor/v1/content/content/status/{task_id}":{"get":{"tags":["Content"],"summary":"Get Task Status","operationId":"get_task_status_tutor_v1_content_content_status__task_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Task Status Tutor V1 Content Content Status Task Id Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tutor/v1/content/chat-file":{"post":{"tags":["Content"],"summary":"Chat File","operationId":"chat_file_tutor_v1_content_chat_file_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_chat_file_tutor_v1_content_chat_file_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Chat File Tutor V1 Content Chat File Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tutor/v1/content/mnemonics":{"post":{"tags":["Content"],"summary":"Generate Mnemonics","operationId":"generate_mnemonics_tutor_v1_content_mnemonics_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tutor/v1/content/idea-compass":{"post":{"tags":["Content"],"summary":"Generate Idea Compass","operationId":"generate_idea_compass_tutor_v1_content_idea_compass_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tutor/v1/content/reading-plan":{"post":{"tags":["Content"],"summary":"Generate Reading Plan","operationId":"generate_reading_plan_tutor_v1_content_reading_plan_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tutor/v1/content/to-flashcards":{"post":{"tags":["Content"],"summary":"Generate Flashcards","operationId":"generate_flashcards_tutor_v1_content_to_flashcards_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tutor/v1/content/wisdom-ids":{"get":{"tags":["Content"],"summary":"Get wisdom IDs with content IDs for a user","description":"Retrieves a list of wisdom IDs with their respective content IDs for the current user.","operationId":"get_wisdom_ids_for_user_tutor_v1_content_wisdom_ids_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WisdomIdDto"},"type":"array","title":"Response Get Wisdom Ids For User Tutor V1 Content Wisdom Ids Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/tutor/v1/content/wisdom/{wisdom_id}":{"get":{"tags":["Content"],"summary":"Get wisdom JSON for a specific wisdom ID","description":"Retrieves the wisdom JSON for a given wisdom ID.","operationId":"get_wisdom_by_id_tutor_v1_content_wisdom__wisdom_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"wisdom_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Wisdom Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WisdomDto"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tutor/v1/content/{content_id}/wisdom":{"get":{"tags":["Content"],"summary":"Extract wisdom from specific content","description":"Extracts and retrieves comprehensive wisdom from the specified content using advanced natural language processing techniques. This endpoint provides deep insights, key takeaways, and structured information derived from the content.","operationId":"extract_wisdom_tutor_v1_content__content_id__wisdom_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The UUID of the content to extract wisdom from","title":"Content Id"},"description":"The UUID of the content to extract wisdom from"}],"responses":{"200":{"description":"Successfully extracted wisdom","content":{"application/json":{"schema":{"type":"object","title":"Response Extract Wisdom Tutor V1 Content Content Id Wisdom Get"},"example":{"wisdom":{"summary":["1. The content discusses Kubernetes and Azure Kubernetes Service (AKS), focusing on monitoring, management, and deployment strategies for containerized applications."],"ideas":["1. Monitoring is essential for ensuring application availability.","2. Understanding Kubernetes concepts like Ingress, Services, Pods, and Namespaces is crucial for success.","3. Hybrid and multi-cloud strategies require knowledge of different platforms."],"quotes":["1. 'If you want to ensure that your applications are available for your business you need some kind of monitoring!'","2. 'There is a lot to be learned but some key concepts like Services, Pods, Ingresses, and namespaces are vital to your success.'"],"habits":["1. Regularly update Kubernetes versions to ensure security.","2. Implement monitoring tools like Prometheus and Grafana.","3. Use Azure CLI for managing AKS clusters."],"facts":["1. Kubernetes is the platform to orchestrate containers.","2. AKS is a managed Kubernetes service in Azure.","3. Azure Defender checks for suspicious events at both host and cluster levels."],"references":["1. Azure Kubernetes Service (AKS) documentation.","2. Prometheus and Grafana for monitoring.","3. Azure Defender for Kubernetes."],"recommendations":["1. Always configure Azure Defender for both Host and Cluster level.","2. Use rolling updates to minimize downtime during deployments.","3. Research cloud platforms to understand their capabilities."]}}}}},"403":{"description":"Unauthorized access"},"404":{"description":"Content not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tutor/v1/content/{content_id}/quiz-sessions":{"get":{"tags":["Content"],"summary":"Get comprehensive quiz session statistics for specific content","description":"Retrieves detailed statistics about all quiz sessions related to a specific content item for the authenticated admin user. This endpoint provides a comprehensive overview of user performance and engagement with the content. Total time is in seconds. Session start time and last answered time are in ISO 8601 format.","operationId":"get_user_quiz_session_stats_for_content_tutor_v1_content__content_id__quiz_sessions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The UUID of the content to retrieve quiz session stats for","title":"Content Id"},"description":"The UUID of the content to retrieve quiz session stats for"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentQuizStatsDto"},"example":{"id":"579f1929-7b53-4957-b068-8ebde6606fea","contentId":"bed570ac-2079-47f4-84c9-168aa3d98758","contentTitle":"future-of-higher-education.pdf","userId":"830467","contentPartId":"ee77555e-f870-4de5-ac93-498845544101","questionCount":32,"correctAnswerCount":8,"incorrectAnswerCount":24,"answeredQuestionCount":32,"totalTime":172585.0,"correctPercentage":25.0,"coveredKnowledgeItemsCount":1,"sessionStartTime":"2024-08-04T13:17:03.363333+00:00","lastAnsweredTime":"2024-08-06T13:13:28.806666+00:00","knowledgeItemCount":8,"knowledgeItems":[{"id":"a1311ee1-0393-41e9-9b9c-388697a83e3d","name":"A Social Media Icon is mentioned in the document.","description":"A Social Media Icon is mentioned in the document.","contentPartId":"ee77555e-f870-4de5-ac93-498845544101"}]}}}},"403":{"description":"Unauthorized access"},"404":{"description":"Content not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tutor/v1/content/{content_id}/total-time":{"get":{"tags":["Content"],"summary":"Get total time spent on specific content","description":"Calculates and retrieves the total time spent by the user on the specified content across allquiz sessions. Total time is in seconds.","operationId":"get_total_time_for_content_tutor_v1_content__content_id__total_time_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The UUID of the content to calculate total time for","title":"Content Id"},"description":"The UUID of the content to calculate total time for"}],"responses":{"200":{"description":"Successfully retrieved total time","content":{"application/json":{"schema":{"type":"object","title":"Response Get Total Time For Content Tutor V1 Content Content Id Total Time Get"},"example":{"total_time":3600.5}}}},"403":{"description":"Unauthorized access"},"404":{"description":"Content not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tutor/v1/content/{content_id}/confidence-score":{"get":{"tags":["Content"],"summary":"Get confidence score for specific content","description":"Calculates and retrieves the confidence score for the specified content based on user performance in quiz sessions.","operationId":"get_confidence_score_tutor_v1_content__content_id__confidence_score_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The UUID of the content to calculate confidence score for","title":"Content Id"},"description":"The UUID of the content to calculate confidence score for"}],"responses":{"200":{"description":"Successfully retrieved confidence score","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentConfidenceScoreDto"},"example":{"confidenceScore":0.85}}}},"403":{"description":"Unauthorized access"},"404":{"description":"Content not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tutor/v1/content/{content_id}/knowledge-items":{"get":{"tags":["Content"],"summary":"Get knowledge items for specific content","description":"Retrieves a comprehensive list of knowledge items associated with the specified content, including details about questions and answers related to each item.","operationId":"get_knowledge_items_for_content_tutor_v1_content__content_id__knowledge_items_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The UUID of the content to retrieve knowledge items for","title":"Content Id"},"description":"The UUID of the content to retrieve knowledge items for"}],"responses":{"200":{"description":"Successfully retrieved knowledge items","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response Get Knowledge Items For Content Tutor V1 Content Content Id Knowledge Items Get"},"example":[{"id":"a1311ee1-0393-41e9-9b9c-388697a83e3d","name":"Python Variables","description":"Understanding variable declaration and assignment in Python","total_questions":5,"correct_answers":4,"incorrect_answers":1,"questions":[{"id":"b2422ff2-1404-52ea-ba0d-499798794112","text":"What is a variable in Python?","answers":["A container for storing data values","A function in Python","A loop construct"]}]}]}}},"403":{"description":"Unauthorized access"},"404":{"description":"Content not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tutor/v1/content/visualise":{"post":{"tags":["Content"],"summary":"Generate a Mermaid diagram visualization","description":"Generate a Mermaid diagram visualization based on content and diagram type.\n \n This endpoint analyzes the content and creates a visual representation using Mermaid markdown syntax.\n The visualization can be of different types:\n - document-structure: Shows the hierarchical structure of the document\n - concept-map: Shows relationships between main concepts and supporting ideas\n - learning-plan: Shows the learning journey with prerequisites and next steps\n - notes-organisation: Organizes lecture notes into structured categories\n \n Parameters:\n - **contentId**: UUID of the content to visualize (if found in database)\n - **type**: Type of diagram to generate\n - **prompt**: Additional context or instructions (will be used if contentId is not found)\n \n Returns:\n - A Mermaid markdown diagram that can be rendered by the client","operationId":"visualise_content_tutor_v1_content_visualise_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisualisationRequest"}}},"required":true},"responses":{"200":{"description":"Successfully generated visualization","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisualisationResponse"}}}},"404":{"description":"Content not found and no prompt provided"},"400":{"description":"Invalid diagram type"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/all":{"post":{"tags":["Chat","Chat"],"summary":"Chat All","operationId":"chat_all_chat_v1_all_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatAllRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/all/stream":{"post":{"tags":["Chat","Chat"],"summary":"Chat All Stream","operationId":"chat_all_stream_chat_v1_all_stream_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatAllRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/all/system-message":{"get":{"tags":["Chat","Chat"],"summary":"Chat All System Message","operationId":"chat_all_system_message_chat_v1_all_system_message_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/chat/v1/user/shelf":{"post":{"tags":["Chat"],"summary":"Chat User Shelf","operationId":"chat_user_shelf_chat_v1_user_shelf_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatAllRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/user/shelf/stream":{"post":{"tags":["Chat","Chat"],"summary":"Chat User Shelf Stream","operationId":"chat_user_shelf_stream_chat_v1_user_shelf_stream_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatAllRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true,"security":[{"HTTPBearer":[]}]}},"/chat/v1/user/shelf/system-message":{"get":{"tags":["Chat"],"summary":"User Shelf System Message","operationId":"user_shelf_system_message_chat_v1_user_shelf_system_message_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/chat/v1/content/{content_id}/has-content-parts":{"get":{"tags":["Chat"],"summary":"Check if content has parts","description":"Checks if the specified content has any content parts, optionally within a given page range.","operationId":"has_process_content_parts_chat_v1_content__content_id__has_content_parts_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The UUID of the content to check","title":"Content Id"},"description":"The UUID of the content to check"},{"name":"start_page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Start page for the check","title":"Start Page"},"description":"Start page for the check"},{"name":"end_page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"End page for the check","title":"End Page"},"description":"End page for the check"}],"responses":{"200":{"description":"Successfully checked content parts","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Has Process Content Parts Chat V1 Content Content Id Has Content Parts Get"},"example":{"hasContentParts":true}}}},"400":{"description":"Invalid request"},"403":{"description":"Unauthorized access"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/v1/content/tasks":{"get":{"tags":["Chat"],"summary":"Get All Task Statuses","operationId":"get_all_task_statuses_chat_v1_content_tasks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TaskStatusDto"},"type":"array","title":"Response Get All Task Statuses Chat V1 Content Tasks Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/content/my-indexed-files":{"get":{"tags":["Chat"],"summary":"Get My Indexed Files","operationId":"get_my_indexed_files_chat_v1_content_my_indexed_files_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/IndexedFileDto"},"type":"array","title":"Response Get My Indexed Files Chat V1 Content My Indexed Files Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/content/{content_id}/index":{"post":{"tags":["Chat"],"summary":"Index Content","operationId":"index_content_chat_v1_content__content_id__index_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Index Content Chat V1 Content Content Id Index Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/v1/content/{content_id}/delete-index":{"post":{"tags":["Chat"],"summary":"Delete Index","operationId":"delete_index_chat_v1_content__content_id__delete_index_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Delete Index Chat V1 Content Content Id Delete Index Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/v1/content/ws/{content_id}":{"post":{"tags":["Chat"],"summary":"Asynchronously process content for a given content ID","operationId":"process_content_for_content_id_async_chat_v1_content_ws__content_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","title":"Content Id"}},{"name":"start_page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Start page for processing","title":"Start Page"},"description":"Start page for processing"},{"name":"end_page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"End page for processing","title":"End Page"},"description":"End page for processing"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentProcessingStatusDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/v1/content/content/status/{task_id}":{"get":{"tags":["Chat"],"summary":"Get Task Status","operationId":"get_task_status_chat_v1_content_content_status__task_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Task Status Chat V1 Content Content Status Task Id Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/v1/content/chat-file":{"post":{"tags":["Chat"],"summary":"Chat File","operationId":"chat_file_chat_v1_content_chat_file_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_chat_file_chat_v1_content_chat_file_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Chat File Chat V1 Content Chat File Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/content/mnemonics":{"post":{"tags":["Chat"],"summary":"Generate Mnemonics","operationId":"generate_mnemonics_chat_v1_content_mnemonics_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/content/idea-compass":{"post":{"tags":["Chat"],"summary":"Generate Idea Compass","operationId":"generate_idea_compass_chat_v1_content_idea_compass_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/content/reading-plan":{"post":{"tags":["Chat"],"summary":"Generate Reading Plan","operationId":"generate_reading_plan_chat_v1_content_reading_plan_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/content/to-flashcards":{"post":{"tags":["Chat"],"summary":"Generate Flashcards","operationId":"generate_flashcards_chat_v1_content_to_flashcards_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/content/wisdom-ids":{"get":{"tags":["Chat"],"summary":"Get wisdom IDs with content IDs for a user","description":"Retrieves a list of wisdom IDs with their respective content IDs for the current user.","operationId":"get_wisdom_ids_for_user_chat_v1_content_wisdom_ids_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WisdomIdDto"},"type":"array","title":"Response Get Wisdom Ids For User Chat V1 Content Wisdom Ids Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/content/wisdom/{wisdom_id}":{"get":{"tags":["Chat"],"summary":"Get wisdom JSON for a specific wisdom ID","description":"Retrieves the wisdom JSON for a given wisdom ID.","operationId":"get_wisdom_by_id_chat_v1_content_wisdom__wisdom_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"wisdom_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Wisdom Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WisdomDto"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/v1/content/{content_id}/wisdom":{"get":{"tags":["Chat"],"summary":"Extract wisdom from specific content","description":"Extracts and retrieves comprehensive wisdom from the specified content using advanced natural language processing techniques. This endpoint provides deep insights, key takeaways, and structured information derived from the content.","operationId":"extract_wisdom_chat_v1_content__content_id__wisdom_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The UUID of the content to extract wisdom from","title":"Content Id"},"description":"The UUID of the content to extract wisdom from"}],"responses":{"200":{"description":"Successfully extracted wisdom","content":{"application/json":{"schema":{"type":"object","title":"Response Extract Wisdom Chat V1 Content Content Id Wisdom Get"},"example":{"wisdom":{"summary":["1. The content discusses Kubernetes and Azure Kubernetes Service (AKS), focusing on monitoring, management, and deployment strategies for containerized applications."],"ideas":["1. Monitoring is essential for ensuring application availability.","2. Understanding Kubernetes concepts like Ingress, Services, Pods, and Namespaces is crucial for success.","3. Hybrid and multi-cloud strategies require knowledge of different platforms."],"quotes":["1. 'If you want to ensure that your applications are available for your business you need some kind of monitoring!'","2. 'There is a lot to be learned but some key concepts like Services, Pods, Ingresses, and namespaces are vital to your success.'"],"habits":["1. Regularly update Kubernetes versions to ensure security.","2. Implement monitoring tools like Prometheus and Grafana.","3. Use Azure CLI for managing AKS clusters."],"facts":["1. Kubernetes is the platform to orchestrate containers.","2. AKS is a managed Kubernetes service in Azure.","3. Azure Defender checks for suspicious events at both host and cluster levels."],"references":["1. Azure Kubernetes Service (AKS) documentation.","2. Prometheus and Grafana for monitoring.","3. Azure Defender for Kubernetes."],"recommendations":["1. Always configure Azure Defender for both Host and Cluster level.","2. Use rolling updates to minimize downtime during deployments.","3. Research cloud platforms to understand their capabilities."]}}}}},"403":{"description":"Unauthorized access"},"404":{"description":"Content not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/v1/content/{content_id}/quiz-sessions":{"get":{"tags":["Chat"],"summary":"Get comprehensive quiz session statistics for specific content","description":"Retrieves detailed statistics about all quiz sessions related to a specific content item for the authenticated admin user. This endpoint provides a comprehensive overview of user performance and engagement with the content. Total time is in seconds. Session start time and last answered time are in ISO 8601 format.","operationId":"get_user_quiz_session_stats_for_content_chat_v1_content__content_id__quiz_sessions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The UUID of the content to retrieve quiz session stats for","title":"Content Id"},"description":"The UUID of the content to retrieve quiz session stats for"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentQuizStatsDto"},"example":{"id":"579f1929-7b53-4957-b068-8ebde6606fea","contentId":"bed570ac-2079-47f4-84c9-168aa3d98758","contentTitle":"future-of-higher-education.pdf","userId":"830467","contentPartId":"ee77555e-f870-4de5-ac93-498845544101","questionCount":32,"correctAnswerCount":8,"incorrectAnswerCount":24,"answeredQuestionCount":32,"totalTime":172585.0,"correctPercentage":25.0,"coveredKnowledgeItemsCount":1,"sessionStartTime":"2024-08-04T13:17:03.363333+00:00","lastAnsweredTime":"2024-08-06T13:13:28.806666+00:00","knowledgeItemCount":8,"knowledgeItems":[{"id":"a1311ee1-0393-41e9-9b9c-388697a83e3d","name":"A Social Media Icon is mentioned in the document.","description":"A Social Media Icon is mentioned in the document.","contentPartId":"ee77555e-f870-4de5-ac93-498845544101"}]}}}},"403":{"description":"Unauthorized access"},"404":{"description":"Content not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/v1/content/{content_id}/total-time":{"get":{"tags":["Chat"],"summary":"Get total time spent on specific content","description":"Calculates and retrieves the total time spent by the user on the specified content across allquiz sessions. Total time is in seconds.","operationId":"get_total_time_for_content_chat_v1_content__content_id__total_time_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The UUID of the content to calculate total time for","title":"Content Id"},"description":"The UUID of the content to calculate total time for"}],"responses":{"200":{"description":"Successfully retrieved total time","content":{"application/json":{"schema":{"type":"object","title":"Response Get Total Time For Content Chat V1 Content Content Id Total Time Get"},"example":{"total_time":3600.5}}}},"403":{"description":"Unauthorized access"},"404":{"description":"Content not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/v1/content/{content_id}/confidence-score":{"get":{"tags":["Chat"],"summary":"Get confidence score for specific content","description":"Calculates and retrieves the confidence score for the specified content based on user performance in quiz sessions.","operationId":"get_confidence_score_chat_v1_content__content_id__confidence_score_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The UUID of the content to calculate confidence score for","title":"Content Id"},"description":"The UUID of the content to calculate confidence score for"}],"responses":{"200":{"description":"Successfully retrieved confidence score","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentConfidenceScoreDto"},"example":{"confidenceScore":0.85}}}},"403":{"description":"Unauthorized access"},"404":{"description":"Content not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/v1/content/{content_id}/knowledge-items":{"get":{"tags":["Chat"],"summary":"Get knowledge items for specific content","description":"Retrieves a comprehensive list of knowledge items associated with the specified content, including details about questions and answers related to each item.","operationId":"get_knowledge_items_for_content_chat_v1_content__content_id__knowledge_items_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The UUID of the content to retrieve knowledge items for","title":"Content Id"},"description":"The UUID of the content to retrieve knowledge items for"}],"responses":{"200":{"description":"Successfully retrieved knowledge items","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response Get Knowledge Items For Content Chat V1 Content Content Id Knowledge Items Get"},"example":[{"id":"a1311ee1-0393-41e9-9b9c-388697a83e3d","name":"Python Variables","description":"Understanding variable declaration and assignment in Python","total_questions":5,"correct_answers":4,"incorrect_answers":1,"questions":[{"id":"b2422ff2-1404-52ea-ba0d-499798794112","text":"What is a variable in Python?","answers":["A container for storing data values","A function in Python","A loop construct"]}]}]}}},"403":{"description":"Unauthorized access"},"404":{"description":"Content not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/v1/content/visualise":{"post":{"tags":["Chat"],"summary":"Generate a Mermaid diagram visualization","description":"Generate a Mermaid diagram visualization based on content and diagram type.\n \n This endpoint analyzes the content and creates a visual representation using Mermaid markdown syntax.\n The visualization can be of different types:\n - document-structure: Shows the hierarchical structure of the document\n - concept-map: Shows relationships between main concepts and supporting ideas\n - learning-plan: Shows the learning journey with prerequisites and next steps\n - notes-organisation: Organizes lecture notes into structured categories\n \n Parameters:\n - **contentId**: UUID of the content to visualize (if found in database)\n - **type**: Type of diagram to generate\n - **prompt**: Additional context or instructions (will be used if contentId is not found)\n \n Returns:\n - A Mermaid markdown diagram that can be rendered by the client","operationId":"visualise_content_chat_v1_content_visualise_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisualisationRequest"}}},"required":true},"responses":{"200":{"description":"Successfully generated visualization","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisualisationResponse"}}}},"404":{"description":"Content not found and no prompt provided"},"400":{"description":"Invalid diagram type"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/files/stream":{"post":{"tags":["Chat","Chat"],"summary":"Chat Stream","operationId":"chat_stream_chat_v1_files_stream_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatUserFilesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/uploaded-file/stream":{"post":{"tags":["Chat","Chat"],"summary":"Chat Stream","operationId":"chat_stream_chat_v1_uploaded_file_stream_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatUploadedFileRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/test/hello":{"get":{"tags":["Chat"],"summary":"Hello","operationId":"hello_chat_v1_test_hello_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/chat/v1/test/":{"post":{"tags":["Chat","Test"],"summary":"Chat All Test","operationId":"chat_all_test_chat_v1_test__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatAllRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/test/stream":{"post":{"tags":["Chat","Test"],"summary":"Chat All Stream","operationId":"chat_all_stream_chat_v1_test_stream_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatAllRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/v1/reading-list/stream":{"post":{"tags":["Reading List","Reading List"],"summary":"Chat All Stream","operationId":"chat_all_stream_chat_v1_reading_list_stream_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatAllRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/podcast/v1/content/{content_id}/podcast":{"post":{"tags":["Podcast","podcast"],"summary":"Create Podcast","description":"Create a new podcast from content.\n\nArgs:\n content_id: ID of content to create podcast from\n title: Title for the podcast\n voice1: Voice to use for first speaker (default: Jenny)\n voice2: Voice to use for second speaker (default: Guy)\n current_user: Current authenticated user\n db: Database session\n\nReturns:\n Created podcast document","operationId":"create_podcast_podcast_v1_content__content_id__podcast_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","title":"Content Id"}}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_create_podcast_podcast_v1_content__content_id__podcast_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/podcast/v1/podcasts":{"get":{"tags":["Podcast","podcast"],"summary":"List Podcasts","description":"List all podcasts accessible by current user with pagination.\n\nArgs:\n page: Page number\n page_size: Items per page\n current_user: Current authenticated user\n\nReturns:\n Paginated list of podcasts","operationId":"list_podcasts_podcast_v1_podcasts_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":10,"title":"Pagesize"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedPodcastResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/podcast/v1/podcasts/{podcast_id}":{"get":{"tags":["Podcast","podcast"],"summary":"Get Podcast","description":"Get podcast details by ID if user has access.\n\nArgs:\n podcast_id: ID of the podcast to retrieve\n current_user: Current authenticated user\n\nReturns:\n Podcast details including audio URL and script\n \nRaises:\n HTTPException: If podcast not found or user lacks access","operationId":"get_podcast_podcast_v1_podcasts__podcast_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"podcast_id","in":"path","required":true,"schema":{"type":"string","title":"Podcast Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PodcastResponseDto"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Podcast","podcast"],"summary":"Delete Podcast","description":"Delete a podcast.\n\nArgs:\n podcast_id: ID of the podcast to delete\n current_user: Current authenticated user\n \nRaises:\n HTTPException: \n - 404: If podcast not found\n - 500: If there's an error deleting the podcast or its audio file","operationId":"delete_podcast_podcast_v1_podcasts__podcast_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"podcast_id","in":"path","required":true,"schema":{"type":"string","title":"Podcast Id"}}],"responses":{"204":{"description":"Podcast successfully deleted"},"404":{"description":"Podcast not found"},"500":{"description":"Internal server error during deletion"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_chat_file_chat_v1_content_chat_file_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_chat_file_chat_v1_content_chat_file_post"},"Body_chat_file_tutor_v1_content_chat_file_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_chat_file_tutor_v1_content_chat_file_post"},"Body_create_podcast_podcast_v1_content__content_id__podcast_post":{"properties":{"title":{"type":"string","title":"Title"},"voice1":{"type":"string","title":"Voice1","default":"Jenny"},"voice2":{"type":"string","title":"Voice2","default":"Guy"}},"type":"object","required":["title"],"title":"Body_create_podcast_podcast_v1_content__content_id__podcast_post"},"ChatAllRequest":{"properties":{"sessionId":{"anyOf":[{"type":"integer"},{"type":"string","format":"uuid"},{"type":"null"}],"title":"Session ID","description":"Session ID for the chat"},"message":{"type":"string","maxLength":300,"minLength":2,"title":"Message","description":"Message or question"},"systemMessage":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"System Message","description":"System message"},"swirlSearch":{"type":"boolean","title":"Swirl Search","description":"Enable searching with Swirl","default":false},"canvasCourseId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Canvas Course ID","description":"Canvas course ID"},"includeMyfiles":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"With MyFiles","description":"Include user files to the response","default":false}},"type":"object","required":["message"],"title":"ChatAllRequest"},"ChatUploadedFileRequest":{"properties":{"sessionId":{"anyOf":[{"type":"integer"},{"type":"string","format":"uuid"},{"type":"null"}],"title":"Session ID","description":"Session ID for the chat"},"message":{"type":"string","maxLength":300,"minLength":3,"title":"Message","description":"Message or question"},"fileContent":{"type":"string","maxLength":1000000,"title":"File Content","description":"File content","default":""},"fileName":{"type":"string","maxLength":100,"title":"File Name","description":"File name","default":""},"fileContentType":{"type":"string","maxLength":100,"title":"File Content Type","description":"File content type","default":""}},"type":"object","required":["message"],"title":"ChatUploadedFileRequest"},"ChatUserFilesRequest":{"properties":{"sessionId":{"anyOf":[{"type":"integer"},{"type":"string","format":"uuid"},{"type":"null"}],"title":"Session ID","description":"Session ID for the chat"},"message":{"type":"string","maxLength":300,"minLength":5,"title":"Message","description":"Message or question"}},"type":"object","required":["message"],"title":"ChatUserFilesRequest"},"ContentConfidenceScoreDto":{"properties":{"contentId":{"type":"string","format":"uuid","title":"Contentid","description":"Content ID this score is for"},"confidenceScore":{"type":"number","title":"Confidencescore","description":"Confidence score"}},"type":"object","required":["contentId","confidenceScore"],"title":"ContentConfidenceScoreDto"},"ContentGroupDto":{"properties":{"contentId":{"type":"string","title":"Contentid"},"contentTitle":{"type":"string","title":"Contenttitle"},"contentAuthor":{"type":"string","title":"Contentauthor"},"totalKnowledgeItems":{"type":"integer","title":"Totalknowledgeitems","default":0},"totalCoveredKnowledgeItems":{"type":"integer","title":"Totalcoveredknowledgeitems"},"totalQuestions":{"type":"integer","title":"Totalquestions"},"totalCorrectAnswers":{"type":"integer","title":"Totalcorrectanswers"},"confidenceScore":{"type":"number","title":"Confidencescore"},"sessions":{"items":{"$ref":"#/components/schemas/QuizSessionStatsDto"},"type":"array","title":"Sessions"}},"type":"object","required":["contentId","contentTitle","contentAuthor","totalCoveredKnowledgeItems","totalQuestions","totalCorrectAnswers","confidenceScore","sessions"],"title":"ContentGroupDto"},"ContentPartDto":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Id","description":"Unique identifier for the content part"},"contentId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Contentid","description":"ID of the content this part belongs to"},"pageNumber":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pagenumber","description":"Page number of the content part"},"pageId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pageid","description":"Page ID of the content part"},"contentType":{"$ref":"#/components/schemas/ContentType","description":"Type of the content"},"contentText":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contenttext","description":"Text of the content part"}},"type":"object","required":["id","contentId","contentType"],"title":"ContentPartDto"},"ContentProcessingStatusDTO":{"properties":{"status":{"type":"string","title":"Status","description":"Status of the content processing task"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Error message if the task failed"},"contentId":{"type":"string","title":"Contentid","description":"Unique identifier for the content"},"taskId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Taskid","description":"Unique identifier for the task"},"processedParts":{"type":"integer","title":"Processedparts","description":"Number of processed content parts"},"totalParts":{"type":"integer","title":"Totalparts","description":"Total number of content parts"}},"type":"object","required":["status","contentId","processedParts","totalParts"],"title":"ContentProcessingStatusDTO"},"ContentQuizStatsDto":{"properties":{"contentId":{"type":"string","format":"uuid","title":"Contentid","description":"ID of the content"},"contentTitle":{"type":"string","title":"Contenttitle","description":"Title of the content"},"contentAuthor":{"type":"string","title":"Contentauthor","description":"Author of the content"},"confidenceScore":{"type":"number","title":"Confidencescore","description":"Confidence score for the content"},"totalQuestionsAttempted":{"type":"integer","title":"Totalquestionsattempted","description":"Total number of questions attempted"},"totalCorrectAnswers":{"type":"integer","title":"Totalcorrectanswers","description":"Total number of correct answers"},"totalKnowledgeItems":{"type":"integer","title":"Totalknowledgeitems","description":"Total number of knowledge items"},"knowledgeItemsWithCorrectAnswers":{"type":"integer","title":"Knowledgeitemswithcorrectanswers","description":"Number of knowledge items with correct answers"},"totalTime":{"type":"number","title":"Totaltime","description":"Total time spent on quizzes for this content"},"totalContentParts":{"type":"integer","title":"Totalcontentparts","description":"Total number of content parts for the content"},"totalContentKnowledgeItems":{"type":"integer","title":"Totalcontentknowledgeitems","description":"Total number of knowledge items for the content"},"sessions":{"items":{"$ref":"#/components/schemas/QuizSessionStatsDto"},"type":"array","title":"Sessions","description":"List of quiz session statistics"}},"type":"object","required":["contentId","contentTitle","contentAuthor","confidenceScore","totalQuestionsAttempted","totalCorrectAnswers","totalKnowledgeItems","knowledgeItemsWithCorrectAnswers","totalTime","totalContentParts","totalContentKnowledgeItems","sessions"],"title":"ContentQuizStatsDto"},"ContentType":{"type":"string","enum":["K","U"],"title":"ContentType"},"CreateQuizSessionDto":{"properties":{"contentId":{"type":"string","maxLength":40,"minLength":1,"title":"Content ID","description":"Content ID for the quiz session"},"pageId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page ID","description":"Page ID for the quiz session"},"pageNumber":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Number","description":"Page Number for the quiz session"},"contentType":{"$ref":"#/components/schemas/ContentType","title":"Content Type","description":"Content Type for the quiz session"}},"type":"object","required":["contentId","contentType"],"title":"CreateQuizSessionDto"},"CreateQuizSessionFromTextDto":{"properties":{"contentId":{"type":"string","format":"uuid","title":"Contentid","description":"Content ID this session is for"},"text":{"type":"string","title":"Text","description":"Text content to generate quiz from"},"title":{"type":"string","title":"Title","description":"Title of the quiz session"},"numQuestions":{"type":"integer","title":"Numquestions","description":"Number of questions to generate","default":5}},"type":"object","required":["contentId","text","title"],"title":"CreateQuizSessionFromTextDto"},"CreateQuizSessionFromUrlDto":{"properties":{"contentId":{"type":"string","format":"uuid","title":"Contentid","description":"Content ID this session is for"},"url":{"type":"string","title":"Url","description":"URL to generate quiz from"},"title":{"type":"string","title":"Title","description":"Title of the quiz session"},"numQuestions":{"type":"integer","title":"Numquestions","description":"Number of questions to generate","default":5}},"type":"object","required":["contentId","url","title"],"title":"CreateQuizSessionFromUrlDto"},"CreateQuizSessionQuestionDto":{"properties":{"quizSessionId":{"type":"string","format":"uuid","title":"Session ID","description":"UUID of the quiz session"}},"type":"object","required":["quizSessionId"],"title":"CreateQuizSessionQuestionDto"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IndexedFileDto":{"properties":{"contentId":{"type":"string","title":"Contentid","description":"Unique identifier for the content"},"format":{"type":"string","title":"Format","description":"Format of the file"},"title":{"type":"string","title":"Title","description":"Title of the file"}},"type":"object","required":["contentId","format","title"],"title":"IndexedFileDto"},"KnowledgeItemDto":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique identifier for the knowledge item"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Name of the knowledge item"},"description":{"type":"string","title":"Description","description":"Description of the knowledge item"},"contentPartId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Contentpartid","description":"ID of the content part this knowledge item belongs to"},"contentId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Contentid","description":"ID of the content this knowledge item belongs to"}},"type":"object","required":["id","description","contentPartId","contentId"],"title":"KnowledgeItemDto"},"PaginatedPodcastResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PodcastResponseDto"},"type":"array","title":"Items","description":"List of podcast documents"},"total":{"type":"integer","title":"Total","description":"Total number of documents"},"page":{"type":"integer","title":"Page","description":"Current page number"},"pageSize":{"type":"integer","title":"Pagesize","description":"Number of items per page"},"totalPages":{"type":"integer","title":"Totalpages","description":"Total number of pages"}},"type":"object","required":["items","total","page","pageSize","totalPages"],"title":"PaginatedPodcastResponse","description":"Paginated response for podcasts."},"PodcastResponseDto":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique identifier for the document"},"podcastMetadata":{"type":"object","title":"Podcastmetadata","description":"Podcast metadata"},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"Creation timestamp"},"script":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Script","description":"Generated podcast script"},"audioBlobUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audiobloburl","description":"URL to audio blob"},"status":{"type":"string","title":"Status","description":"Document status"},"title":{"type":"string","title":"Title","description":"Get title from podcast_metadata.","readOnly":true}},"type":"object","required":["id","createdAt","status","title"],"title":"PodcastResponseDto","description":"Schema for document response."},"PublicQuizAnswerDto":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique identifier for the answer"},"text":{"type":"string","title":"Text","description":"The text of the answer"}},"type":"object","required":["id","text"],"title":"PublicQuizAnswerDto"},"PublicQuizQuestionDto":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique identifier for the question"},"question":{"type":"string","title":"Question","description":"The text of the question"},"answers":{"items":{"$ref":"#/components/schemas/PublicQuizAnswerDto"},"type":"array","title":"Answers","description":"List of possible answers"}},"type":"object","required":["id","question","answers"],"title":"PublicQuizQuestionDto"},"PublicQuizSessionQuestionDto":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique identifier for the question"},"quizSessionId":{"type":"string","format":"uuid","title":"Quizsessionid","description":"Unique identifier for the quiz session"},"question":{"$ref":"#/components/schemas/PublicQuizQuestionDto","description":"The question for this session"},"contentPart":{"$ref":"#/components/schemas/ContentPartDto","description":"The content part for this question"},"knowledgeItem":{"$ref":"#/components/schemas/KnowledgeItemDto","description":"The knowledge item for this question"}},"type":"object","required":["id","quizSessionId","question","contentPart","knowledgeItem"],"title":"PublicQuizSessionQuestionDto"},"QuizAnswerDto":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique identifier for the answer"},"questionId":{"type":"string","format":"uuid","title":"Questionid","description":"The question this answer belongs to"},"text":{"type":"string","title":"Text","description":"The answer text"},"isCorrect":{"type":"boolean","title":"Iscorrect","description":"Whether this is the correct answer"}},"type":"object","required":["id","questionId","text","isCorrect"],"title":"QuizAnswerDto"},"QuizAttemptDto":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique identifier for the attempt"},"sessionId":{"type":"string","format":"uuid","title":"Sessionid","description":"The session in which the attempt was made"},"questionId":{"type":"string","format":"uuid","title":"Questionid","description":"The question that was attempted"},"answerId":{"type":"string","format":"uuid","title":"Answerid","description":"The answer that was selected"},"isCorrect":{"type":"boolean","title":"Iscorrect","description":"Indicates whether this answer is correct"}},"type":"object","required":["id","sessionId","questionId","answerId","isCorrect"],"title":"QuizAttemptDto"},"QuizQuestionDto":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique identifier for the question"},"question":{"type":"string","title":"Question","description":"The text of the question"},"answers":{"items":{"$ref":"#/components/schemas/QuizAnswerDto"},"type":"array","title":"Answers","description":"List of possible answers"}},"type":"object","required":["id","question","answers"],"title":"QuizQuestionDto"},"QuizSessionQuestionDto":{"properties":{"quizSessionId":{"type":"string","format":"uuid","title":"Quizsessionid","description":"Unique identifier for the quiz session"},"question":{"$ref":"#/components/schemas/QuizQuestionDto"}},"type":"object","required":["quizSessionId","question"],"title":"QuizSessionQuestionDto"},"QuizSessionStatsDto":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique identifier for the quiz session"},"userId":{"type":"string","title":"Userid","description":"ID of the user"},"contentId":{"type":"string","format":"uuid","title":"Contentid","description":"ID of the content"},"contentTitle":{"type":"string","title":"Contenttitle","description":"Title of the content"},"contentAuthor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contentauthor","description":"Author of the content"},"questionCount":{"type":"integer","title":"Questioncount","description":"Total number of questions"},"correctAnswerCount":{"type":"integer","title":"Correctanswercount","description":"Number of correct answers"},"incorrectAnswerCount":{"type":"integer","title":"Incorrectanswercount","description":"Number of incorrect answers"},"answeredQuestionCount":{"type":"integer","title":"Answeredquestioncount","description":"Total number of answered questions"},"totalTime":{"anyOf":[{"type":"number"},{"type":"string","format":"duration"},{"type":"null"}],"title":"Totaltime","description":"Total time spent on the quiz in seconds"},"knowledgeItemCount":{"type":"integer","title":"Knowledgeitemcount","description":"Total number of knowledge items"},"coveredKnowledgeItemsCount":{"type":"integer","title":"Coveredknowledgeitemscount","description":"Number of knowledge items covered"},"sessionStartTime":{"type":"string","format":"date-time","title":"Sessionstarttime","description":"Start time of the quiz session"},"lastAnsweredTime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Lastansweredtime","description":"Time of the last answered question"},"knowledgeItems":{"items":{"$ref":"#/components/schemas/KnowledgeItemDto"},"type":"array","title":"Knowledgeitems","description":"List of knowledge items"},"correctPercentage":{"type":"number","title":"Correctpercentage","readOnly":true}},"type":"object","required":["id","userId","contentId","contentTitle","contentAuthor","questionCount","correctAnswerCount","incorrectAnswerCount","answeredQuestionCount","knowledgeItemCount","coveredKnowledgeItemsCount","sessionStartTime","knowledgeItems","correctPercentage"],"title":"QuizSessionStatsDto"},"QuizSessionsDto":{"properties":{"quizSessions":{"items":{"$ref":"#/components/schemas/ContentGroupDto"},"type":"array","title":"Quizsessions"}},"type":"object","required":["quizSessions"],"title":"QuizSessionsDto"},"SetQuizAnswerAttemptDto":{"properties":{"sessionId":{"type":"string","format":"uuid","title":"Session ID","description":"UUID of the quiz session"},"questionId":{"type":"string","format":"uuid","title":"Question ID","description":"UUID of the quiz question"},"answerId":{"type":"string","format":"uuid","title":"Answer ID","description":"UUID of the quiz answer"}},"type":"object","required":["sessionId","questionId","answerId"],"title":"SetQuizAnswerAttemptDto"},"TaskStatusDto":{"properties":{"task_id":{"type":"string","title":"Task Id","description":"UUID of the task"},"content_id":{"type":"string","title":"Content Id","description":"UUID of the associated content"},"status":{"type":"string","title":"Status","description":"Current status of the task"},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"Timestamp of task creation"},"updatedAt":{"type":"string","format":"date-time","title":"Updatedat","description":"Timestamp of last task update"}},"type":"object","required":["task_id","content_id","status","createdAt","updatedAt"],"title":"TaskStatusDto"},"TextRequest":{"properties":{"text":{"type":"string","title":"Text"}},"type":"object","required":["text"],"title":"TextRequest"},"UpdateQuizAnswerAttemptDto":{"properties":{"answerId":{"type":"string","format":"uuid","title":"Answer ID","description":"UUID of the quiz answer"}},"type":"object","required":["answerId"],"title":"UpdateQuizAnswerAttemptDto"},"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"},"VisualisationRequest":{"properties":{"content_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Content Id"},"type":{"type":"string","title":"Type"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"}},"type":"object","required":["type"],"title":"VisualisationRequest"},"VisualisationResponse":{"properties":{"mermaidMarkdown":{"type":"string","title":"Mermaidmarkdown","description":"Generated Mermaid markdown diagram"}},"type":"object","required":["mermaidMarkdown"],"title":"VisualisationResponse"},"WisdomDto":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique identifier for the wisdom"},"contentId":{"type":"string","format":"uuid","title":"Contentid","description":"ID of the content this wisdom belongs to"},"contentTitle":{"type":"string","title":"Contenttitle","description":"Title of the content"},"wisdom":{"type":"object","title":"Wisdom","description":"The extracted wisdom in JSON format"},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"Timestamp when the wisdom was created"}},"type":"object","required":["id","contentId","contentTitle","wisdom","createdAt"],"title":"WisdomDto"},"WisdomIdDto":{"properties":{"wisdomId":{"type":"string","format":"uuid","title":"Wisdomid","description":"Unique identifier for the wisdom"},"contentId":{"type":"string","format":"uuid","title":"Contentid","description":"ID of the content this wisdom belongs to"},"contentTitle":{"type":"string","title":"Contenttitle","description":"Title of the content"},"createdAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Createdat","description":"Timestamp when the wisdom was created"}},"type":"object","required":["wisdomId","contentId","contentTitle"],"title":"WisdomIdDto"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}}}