Kortext Labs AI Study Tools API

FastAPI-generated service ("labsapi") behind Kortext's AI study features — quiz sessions generated from a book, a URL or pasted text; content indexing and retrieval-augmented chat over a student's Kortext bookshelf and uploaded files; flashcards, mnemonics, idea compass, reading plans, Mermaid visualisations and "extract wisdom" summarisation; podcast generation from content; and per-content study analytics (total time, confidence score, knowledge items, quiz session stats). 67 operations across Quiz, Content, Chat, Reading List, Podcast, Labs and Health Checks tags, secured with HTTP bearer tokens. The OpenAPI 3.1.0 description is served unauthenticated from Kortext's own labs demo and QA hosts; the operations themselves are bearer-gated.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kortext-labs-ai-study-tools-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kortext-labs-api-openapi.json Raw ↑
{"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