Every API here is available over the APIs.io API and to AI agents over MCP.
{"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":{"
# --- truncated at 32 KB (82 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kortext/refs/heads/main/openapi/kortext-labs-api-openapi.json