Created
December 4, 2025 07:10
-
-
Save facundopareja/7385dc40855260202fc8031b5bef04ed to your computer and use it in GitHub Desktop.
API specification 4/12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| {"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/me/inscriptions/template":{"get":{"tags":["spreadsheet"],"summary":"Get Inscriptions Spreadsheet","description":"Retrieve the inscriptions template.","operationId":"get_inscriptions_spreadsheet_me_inscriptions_template_get","responses":{"200":{"description":"Inscription template succesfully ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EncodedFile"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Failed to generate inscriptions spreadsheet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/me/inscriptions/spreadsheet-validation":{"post":{"tags":["spreadsheet"],"summary":"Validate Spreadsheet Route","description":"Validate the inscriptions spreadsheet.","operationId":"validate_spreadsheet_route_me_inscriptions_spreadsheet_validation_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EncodedFile"}}},"required":true},"responses":{"200":{"description":"Inscription template is valid","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SpreadsheetRow"},"type":"array","title":"Response Validate Spreadsheet Route Me Inscriptions Spreadsheet Validation Post"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Failed to process inscriptions spreadsheet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Invalid spreadsheet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/login":{"post":{"tags":["login"],"summary":"Login Route","description":"Return a JWT if login data is valid.","operationId":"login_route_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginData"}}},"required":true},"responses":{"200":{"description":"Login successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}},"401":{"description":"Invalid login data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/me":{"get":{"tags":["users"],"summary":"Get User Details Route","description":"Return user profile details based on JWT token in request header.","operationId":"get_user_details_route_me_get","responses":{"200":{"description":"Details retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDetails"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]},"patch":{"tags":["users"],"summary":"Update User Details Route","description":"Change user details based on JWT token in request header.","operationId":"update_user_details_route_me_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewUserDetails"}}},"required":true},"responses":{"200":{"description":"User details updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDetails"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/me/documents":{"get":{"tags":["users"],"summary":"Get User Documents Route","description":"Return user documents based on JWT token in request header.","operationId":"get_user_documents_route_me_documents_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":5,"title":"Limit"}}],"responses":{"200":{"description":"Documents retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Documents"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/me/password":{"patch":{"tags":["users"],"summary":"Update User Password Route","description":"Change user details based on JWT token in request header.","operationId":"update_user_password_route_me_password_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewPassword"}}},"required":true},"responses":{"200":{"description":"User password succesfully updated","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/me/image":{"patch":{"tags":["users"],"summary":"Update User Image Route","description":"Change user details based on JWT token in request header.","operationId":"update_user_image_route_me_image_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewImage"}}},"required":true},"responses":{"200":{"description":"User profile image succesfully updated","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/institutes":{"get":{"tags":["users"],"summary":"Get Institutes Route","description":"Return all active institutes with specifie course_id. Admin-only.","operationId":"get_institutes_route_institutes_get","responses":{"200":{"description":"Succesfully retrieved institutes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Institutes"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/institutes/{institute_id}":{"get":{"tags":["users"],"summary":"Get Institute Route","description":"Return details for specified institute_id. Admin-only.","operationId":"get_institute_route_institutes__institute_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"institute_id","in":"path","required":true,"schema":{"type":"integer","title":"Institute Id"}}],"responses":{"200":{"description":"Succesfully retrieved institutes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Institutes"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/discounts":{"get":{"tags":["courses"],"summary":"Get Discounts Route","description":"Return all discounts available in the system.","operationId":"get_discounts_route_discounts_get","responses":{"200":{"description":"Discounts retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscountsData"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/me/courses":{"get":{"tags":["courses"],"summary":"Get Courses Route","description":"Return all courses for a given user.","operationId":"get_courses_route_me_courses_get","responses":{"200":{"description":"Courses retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoursesData"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/periods/{period_id}/courses":{"get":{"tags":["courses"],"summary":"Get Courses Admin Route","description":"Return all courses. Admin-only.","operationId":"get_courses_admin_route_periods__period_id__courses_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}}],"responses":{"200":{"description":"Courses retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoursesData"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/institutes/{institute_id}/periods/{period_id}/courses":{"get":{"tags":["courses"],"summary":"Get Institute Courses Route","description":"Return all courses for a given user.","operationId":"get_institute_courses_route_institutes__institute_id__periods__period_id__courses_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"institute_id","in":"path","required":true,"schema":{"type":"integer","title":"Institute Id"}},{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}}],"responses":{"200":{"description":"Courses retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoursesData"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/me/courses/{course_id}/bibliography":{"get":{"tags":["courses"],"summary":"Get Bibliography Route","description":"Return bibliography for a given course.","operationId":"get_bibliography_route_me_courses__course_id__bibliography_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"course_id","in":"path","required":true,"schema":{"type":"integer","title":"Course Id"}}],"responses":{"200":{"description":"Bibliography retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoursebookData"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Course not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/exams/types":{"get":{"tags":["exams"],"summary":"Get Exam Types Route","description":"Return all exam types available in the system.","operationId":"get_exam_types_route_exams_types_get","responses":{"200":{"description":"Exam types retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExamTypesData"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/institutes/{institute_id}/periods/{period_id}/oral-exams-sheet":{"get":{"tags":["exams"],"summary":"Get Oral Examination Sheet Route","description":"Return all exam types available in the system.","operationId":"get_oral_examination_sheet_route_institutes__institute_id__periods__period_id__oral_exams_sheet_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"institute_id","in":"path","required":true,"schema":{"type":"integer","title":"Institute Id"}},{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}}],"responses":{"200":{"description":"Oral sheet successfully generated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExamTypesData"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/institutes/{institute_id}/periods/{period_id}/attendance-sheet":{"get":{"tags":["exams"],"summary":"Get Attendance Sheet Route","description":"Return all exam types available in the system.","operationId":"get_attendance_sheet_route_institutes__institute_id__periods__period_id__attendance_sheet_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"institute_id","in":"path","required":true,"schema":{"type":"integer","title":"Institute Id"}},{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}},{"name":"compact","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Compact"}}],"responses":{"200":{"description":"Oral sheet successfully generated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExamTypesData"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/institutes/{institute_id}/courses/{course_id}/periods/{period_id}/inscriptions/sheet":{"get":{"tags":["exams"],"summary":"Get Course Sheet Route","description":"Generate and return course sheet.","operationId":"get_course_sheet_route_institutes__institute_id__courses__course_id__periods__period_id__inscriptions_sheet_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"institute_id","in":"path","required":true,"schema":{"type":"integer","title":"Institute Id"}},{"name":"course_id","in":"path","required":true,"schema":{"type":"integer","title":"Course Id"}},{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}}],"responses":{"200":{"description":"Course sheet successfully generated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExamTypesData"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/institutes/{institute_id}/periods/{period_id}/exam-date":{"get":{"tags":["exams"],"summary":"Get Exam Date For Institute","description":"Return exam date for a specific institute.","operationId":"get_exam_date_for_institute_institutes__institute_id__periods__period_id__exam_date_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"institute_id","in":"path","required":true,"schema":{"type":"integer","title":"Institute Id"}},{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}}],"responses":{"200":{"description":"Exam date successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExamDate"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["exams"],"summary":"Update Exam Date Route","description":"Return exam date for a specific institute.","operationId":"update_exam_date_route_institutes__institute_id__periods__period_id__exam_date_put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"institute_id","in":"path","required":true,"schema":{"type":"integer","title":"Institute Id"}},{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExamDate"}}}},"responses":{"200":{"description":"Exam date successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExamDate"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/backgrounds":{"post":{"tags":["background"],"summary":"Post Background Route","description":"Store the background image. Admin-only.","operationId":"post_background_route_backgrounds_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Background"}}},"required":true},"responses":{"200":{"description":"Background image stored successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Background"}}}},"401":{"description":"Token has no admin privileges","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Failed to store background image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/backgrounds/latest":{"get":{"tags":["background"],"summary":"Get Background Route","description":"Retrieve the background image.","operationId":"get_background_route_backgrounds_latest_get","responses":{"200":{"description":"Background image stored successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Background"}}}},"401":{"description":"Token has no admin privileges.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Failed to retrieve background image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/me/inscriptions":{"get":{"tags":["inscriptions"],"summary":"Get User Inscriptions Route","description":"Return user inscriptions based on JWT token in request header.","operationId":"get_user_inscriptions_route_me_inscriptions_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"complete","in":"query","required":true,"schema":{"type":"boolean","title":"Complete"}}],"responses":{"200":{"description":"Inscriptions retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InscriptionsData"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/institutes/{institute_id}/periods/{period_id}/summary":{"get":{"tags":["inscriptions"],"summary":"Get Student Details For Institute Route","description":"Return student details for a specific institute (all courses). Admin-only.","operationId":"get_student_details_for_institute_route_institutes__institute_id__periods__period_id__summary_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"institute_id","in":"path","required":true,"schema":{"type":"integer","title":"Institute Id"}},{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}}],"responses":{"200":{"description":"Students data succesfully retrieved","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AllInscriptionData"},"title":"Response Get Student Details For Institute Route Institutes Institute Id Periods Period Id Summary Get","$ref":"#/components/schemas/StudentsData"}}}},"401":{"description":"Token has no admin privileges","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/periods/{period_id}/inscriptions":{"get":{"tags":["inscriptions"],"summary":"Get All Inscriptions Route","description":"Return user inscriptions based on JWT token in request header.","operationId":"get_all_inscriptions_route_periods__period_id__inscriptions_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}},{"name":"complete","in":"query","required":true,"schema":{"type":"boolean","title":"Complete"}}],"responses":{"200":{"description":"Inscriptions retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminInscriptionsData"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/me/courses/{course_id}/inscriptions":{"post":{"tags":["inscriptions"],"summary":"Post Student Signup Route","description":"Sign up user to specified course.","operationId":"post_student_signup_route_me_courses__course_id__inscriptions_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"course_id","in":"path","required":true,"schema":{"type":"integer","title":"Course Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultipleInstituteSignUp"}}}},"responses":{"200":{"description":"New student inscription successful","content":{"application/json":{"schema":{}}}},"401":{"description":"Token has no admin privileges.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Repeated DNI for student inscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Sign up in complete course","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["inscriptions"],"summary":"Get My Students Details Route","description":"Return student details for a specific token owner's course.","operationId":"get_my_students_details_route_me_courses__course_id__inscriptions_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"course_id","in":"path","required":true,"schema":{"type":"integer","title":"Course Id"}}],"responses":{"200":{"description":"Students data succesfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentsData"}}}},"404":{"description":"User or course not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/institutes/{institute_id}/periods/{period_id}/inscriptions":{"get":{"tags":["inscriptions"],"summary":"Get Institute Inscriptions Route","description":"Return user inscriptions based institute_id path parameter.","operationId":"get_institute_inscriptions_route_institutes__institute_id__periods__period_id__inscriptions_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"institute_id","in":"path","required":true,"schema":{"type":"integer","title":"Institute Id"}},{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}},{"name":"complete","in":"query","required":true,"schema":{"type":"boolean","title":"Complete"}}],"responses":{"200":{"description":"Inscriptions retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InscriptionsData"}}}},"401":{"description":"Token has no admin privileges.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/periods/{period_id}/inscriptions/{inscription_id}":{"get":{"tags":["inscriptions"],"summary":"Get Inscription Admin Route","description":"Return user inscriptions based institute_id path parameter.","operationId":"get_inscription_admin_route_periods__period_id__inscriptions__inscription_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}},{"name":"inscription_id","in":"path","required":true,"schema":{"type":"integer","title":"Inscription Id"}}],"responses":{"200":{"description":"Inscription retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentInscriptionData"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Inscription not found for this user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["inscriptions"],"summary":"Update Inscription Admin Route","description":"Update student inscription details.","operationId":"update_inscription_admin_route_periods__period_id__inscriptions__inscription_id__patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}},{"name":"inscription_id","in":"path","required":true,"schema":{"type":"integer","title":"Inscription Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentInscriptionUpdateData"}}}},"responses":{"200":{"description":"Inscription updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentInscriptionData"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Inscription not found for this user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Repeated DNI for student inscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["inscriptions"],"summary":"Delete Inscription Admin Route","description":"Delete student inscription from selected inscriptions table.","operationId":"delete_inscription_admin_route_periods__period_id__inscriptions__inscription_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}},{"name":"inscription_id","in":"path","required":true,"schema":{"type":"integer","title":"Inscription Id"}}],"responses":{"200":{"description":"Succesful deletion attempt","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/inscriptions/{inscription_id}":{"get":{"tags":["inscriptions"],"summary":"Get Inscription User Route","description":"Return user inscriptions based institute_id path parameter.","operationId":"get_inscription_user_route_inscriptions__inscription_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"inscription_id","in":"path","required":true,"schema":{"type":"integer","title":"Inscription Id"}}],"responses":{"200":{"description":"Inscription retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentInscriptionData"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Inscription not found for this user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["inscriptions"],"summary":"Update Inscription User Route","description":"Update student inscription details.","operationId":"update_inscription_user_route_inscriptions__inscription_id__patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"inscription_id","in":"path","required":true,"schema":{"type":"integer","title":"Inscription Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentInscriptionUpdateData"}}}},"responses":{"200":{"description":"Inscription updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentInscriptionData"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Inscription not found for this user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Repeated DNI for student inscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["inscriptions"],"summary":"Delete Inscription User Route","description":"Delete student inscription from selected inscriptions table.","operationId":"delete_inscription_user_route_inscriptions__inscription_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"inscription_id","in":"path","required":true,"schema":{"type":"integer","title":"Inscription Id"}}],"responses":{"200":{"description":"Succesful deletion attempt","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/me/courses/{course_id}/inscriptions/complete":{"post":{"tags":["inscriptions"],"summary":"Change My Inscription Status Route","description":"Change inscription status for token owner's course to complete.","operationId":"change_my_inscription_status_route_me_courses__course_id__inscriptions_complete_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"course_id","in":"path","required":true,"schema":{"type":"integer","title":"Course Id"}}],"responses":{"200":{"description":"Inscription successfully set as complete","content":{"application/json":{"schema":{}}}},"401":{"description":"Token has no admin privileges.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User or course not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/institutes/{institute_id}/courses/{course_id}/periods/{period_id}/inscriptions/complete":{"post":{"tags":["inscriptions"],"summary":"Change Institute Inscription Status Route","description":"Change inscription status for institute/course to complete. Admin-only.","operationId":"change_institute_inscription_status_route_institutes__institute_id__courses__course_id__periods__period_id__inscriptions_complete_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"institute_id","in":"path","required":true,"schema":{"type":"integer","title":"Institute Id"}},{"name":"course_id","in":"path","required":true,"schema":{"type":"integer","title":"Course Id"}},{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}}],"responses":{"200":{"description":"Inscription successfully set as complete","content":{"application/json":{"schema":{}}}},"401":{"description":"Token has no admin privileges.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User or course not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/institutes/{institute_id}/courses/{course_id}/periods/{period_id}/inscriptions":{"get":{"tags":["inscriptions"],"summary":"Get Students Details Route","description":"Return student details for a specific institute/course. Admin-only.","operationId":"get_students_details_route_institutes__institute_id__courses__course_id__periods__period_id__inscriptions_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"institute_id","in":"path","required":true,"schema":{"type":"integer","title":"Institute Id"}},{"name":"course_id","in":"path","required":true,"schema":{"type":"integer","title":"Course Id"}},{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}}],"responses":{"200":{"description":"Students data succesfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentsData"}}}},"401":{"description":"Token has no admin privileges.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["inscriptions"],"summary":"Post Student Signup Admin Route","description":"Sign up user to specified course in specified institute. Admin only.","operationId":"post_student_signup_admin_route_institutes__institute_id__courses__course_id__periods__period_id__inscriptions_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"institute_id","in":"path","required":true,"schema":{"type":"integer","title":"Institute Id"}},{"name":"course_id","in":"path","required":true,"schema":{"type":"integer","title":"Course Id"}},{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultipleInstituteSignUp"}}}},"responses":{"200":{"description":"New student inscription successful","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User, institute or course not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Repeated DNI for student inscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/periods":{"get":{"tags":["periods"],"summary":"Get Inscription Periods Route","description":"Return details for all inscription periods.","operationId":"get_inscription_periods_route_periods_get","responses":{"200":{"description":"Inscription period details successfully retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InscriptionPeriodsData"}}}},"401":{"description":"Invalid or non-admin token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]},"post":{"tags":["periods"],"summary":"Create Inscription Period Route","description":"Create inscription period and return all inscription periods.","operationId":"create_inscription_period_route_periods_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewPeriod"}}},"required":true},"responses":{"200":{"description":"Inscription period successfully created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InscriptionPeriodsData"}}}},"401":{"description":"Invalid or non-admin token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/periods/{period_id}":{"delete":{"tags":["periods"],"summary":"Delete Inscription Period Route","description":"Delete inscription period and return remaining inscription periods.","operationId":"delete_inscription_period_route_periods__period_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}}],"responses":{"200":{"description":"Inscription period successfully deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InscriptionPeriodsData"}}}},"401":{"description":"Invalid or non-admin token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/teachers":{"get":{"tags":["teachers"],"summary":"Get Teachers Route","description":"Return all teachers available in the system.","operationId":"get_teachers_route_teachers_get","responses":{"200":{"description":"Teachers retrieved successfully","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Teacher"},"type":"array","title":"Response 200 Get Teachers Route Teachers Get"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/institutes/{institute_id}/courses/{course_id}/periods/{period_id}/teacher-assignment":{"get":{"tags":["teachers"],"summary":"Get Assigned Teachers Route","description":"Return teachers assigned to that institute's course in a specific period.","operationId":"get_assigned_teachers_route_institutes__institute_id__courses__course_id__periods__period_id__teacher_assignment_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"institute_id","in":"path","required":true,"schema":{"type":"integer","title":"Institute Id"}},{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}},{"name":"course_id","in":"path","required":true,"schema":{"type":"integer","title":"Course Id"}}],"responses":{"200":{"description":"Teachers retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeacherAssignment"}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/institutes/{institute_id}/courses/{course_id}/periods/{period_id}/main-teacher":{"put":{"tags":["teachers"],"summary":"Set Main Teacher Route","description":"Assigned teachers to an institute's course in a specific period.","operationId":"set_main_teacher_route_institutes__institute_id__courses__course_id__periods__period_id__main_teacher_put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"institute_id","in":"path","required":true,"schema":{"type":"integer","title":"Institute Id"}},{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}},{"name":"course_id","in":"path","required":true,"schema":{"type":"integer","title":"Course Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Teacher"}}}},"responses":{"200":{"description":"Teachers successfully assigned","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/institutes/{institute_id}/courses/{course_id}/periods/{period_id}/auxiliary-teacher":{"put":{"tags":["teachers"],"summary":"Set Auxiliary Teacher Route","description":"Assigned teachers to an institute's course in a specific period.","operationId":"set_auxiliary_teacher_route_institutes__institute_id__courses__course_id__periods__period_id__auxiliary_teacher_put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"institute_id","in":"path","required":true,"schema":{"type":"integer","title":"Institute Id"}},{"name":"period_id","in":"path","required":true,"schema":{"type":"integer","title":"Period Id"}},{"name":"course_id","in":"path","required":true,"schema":{"type":"integer","title":"Course Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Teacher"}}}},"responses":{"200":{"description":"Teachers successfully assigned","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AdminInscriptionData":{"properties":{"institute_name":{"type":"string","title":"Institute Name"},"institute_id":{"type":"integer","title":"Institute Id"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["institute_name","institute_id","total"],"title":"AdminInscriptionData","description":"Inscription data for admin."},"AdminInscriptionsData":{"properties":{"current_inscription":{"type":"string","title":"Current Inscription"},"inscriptions":{"items":{"$ref":"#/components/schemas/AdminInscriptionData"},"type":"array","title":"Inscriptions"}},"type":"object","required":["current_inscription","inscriptions"],"title":"AdminInscriptionsData","description":"Inscriptions data for admin."},"AllInscriptionData":{"properties":{"course":{"$ref":"#/components/schemas/CourseData"},"students":{"$ref":"#/components/schemas/StudentsData"},"main_teacher":{"anyOf":[{"$ref":"#/components/schemas/Teacher"},{"type":"null"}]},"auxiliary_teacher":{"anyOf":[{"$ref":"#/components/schemas/Teacher"},{"type":"null"}]}},"type":"object","required":["course","students","main_teacher","auxiliary_teacher"],"title":"AllInscriptionData","description":"All inscription data for an institute."},"Background":{"properties":{"data_uri":{"type":"string","title":"Data Uri"}},"type":"object","required":["data_uri"],"title":"Background","description":"Background image schema."},"CourseData":{"properties":{"course_id":{"type":"integer","title":"Course Id"},"course_name":{"type":"string","title":"Course Name"},"course_complete":{"type":"boolean","title":"Course Complete"}},"type":"object","required":["course_id","course_name","course_complete"],"title":"CourseData","description":"Course data."},"CoursebookData":{"properties":{"bibliography_id":{"type":"integer","title":"Bibliography Id"},"bibliography_name":{"type":"string","title":"Bibliography Name"}},"type":"object","required":["bibliography_id","bibliography_name"],"title":"CoursebookData","description":"Coursebook data."},"CoursesData":{"properties":{"courses":{"items":{"$ref":"#/components/schemas/CourseData"},"type":"array","title":"Courses"}},"type":"object","required":["courses"],"title":"CoursesData","description":"Courses data."},"DiscountData":{"properties":{"discount_type":{"type":"integer","title":"Discount Type"},"discount_name":{"type":"string","title":"Discount Name"}},"type":"object","required":["discount_type","discount_name"],"title":"DiscountData","description":"Discount data."},"DiscountsData":{"properties":{"discounts":{"items":{"$ref":"#/components/schemas/DiscountData"},"type":"array","title":"Discounts"}},"type":"object","required":["discounts"],"title":"DiscountsData","description":"Discounts data."},"Document":{"properties":{"id":{"type":"integer","title":"Id"},"file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File"},"owner":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Owner"},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"},"read":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Read"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"}},"type":"object","required":["id"],"title":"Document","description":"User document model."},"Documents":{"properties":{"documents":{"items":{"$ref":"#/components/schemas/Document"},"type":"array","title":"Documents"}},"type":"object","required":["documents"],"title":"Documents","description":"User documents model."},"EncodedFile":{"properties":{"data_uri":{"type":"string","title":"Data Uri"}},"type":"object","required":["data_uri"],"title":"EncodedFile","description":"Base64 encoded class for general use."},"ErrorResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"ErrorResponse","description":"Response model for errors."},"ExamDate":{"properties":{"exam_date":{"type":"string","title":"Exam Date"}},"type":"object","required":["exam_date"],"title":"ExamDate","description":"Exam date."},"ExamTypeData":{"properties":{"exam_type":{"type":"integer","title":"Exam Type"},"exam_name":{"type":"string","title":"Exam Name"}},"type":"object","required":["exam_type","exam_name"],"title":"ExamTypeData","description":"Exam type data."},"ExamTypesData":{"properties":{"exam_types":{"items":{"$ref":"#/components/schemas/ExamTypeData"},"type":"array","title":"Exam Types"}},"type":"object","required":["exam_types"],"title":"ExamTypesData","description":"Exam types data."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IndividualInstituteSignUp":{"properties":{"student_name":{"type":"string","title":"Student Name"},"student_lastname":{"type":"string","title":"Student Lastname"},"student_dni":{"type":"string","title":"Student Dni"},"discount_type":{"type":"integer","title":"Discount Type"},"exam_type":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Exam Type"}},"type":"object","required":["student_name","student_lastname","student_dni","discount_type","exam_type"],"title":"IndividualInstituteSignUp","description":"Data form to sign up individual students to a specific course."},"Inscription":{"properties":{"student_name":{"type":"string","title":"Student Name"},"student_lastname":{"type":"string","title":"Student Lastname"},"student_dni":{"type":"string","title":"Student Dni"},"discount_type":{"type":"integer","title":"Discount Type"},"exam_type":{"type":"integer","title":"Exam Type"},"inscription_id":{"type":"integer","title":"Inscription Id"}},"type":"object","required":["student_name","student_lastname","student_dni","discount_type","exam_type","inscription_id"],"title":"Inscription","description":"Student inscription data."},"InscriptionData":{"properties":{"course_id":{"type":"integer","title":"Course Id"},"course_name":{"type":"string","title":"Course Name"},"bibliography":{"$ref":"#/components/schemas/CoursebookData"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["course_id","course_name","bibliography","total"],"title":"InscriptionData","description":"Inscription data."},"InscriptionPeriodData":{"properties":{"period_id":{"type":"integer","title":"Period Id"},"period_name":{"type":"string","title":"Period Name"}},"type":"object","required":["period_id","period_name"],"title":"InscriptionPeriodData","description":"Inscription period data."},"InscriptionPeriodsData":{"properties":{"periods":{"items":{"$ref":"#/components/schemas/InscriptionPeriodData"},"type":"array","title":"Periods"}},"type":"object","required":["periods"],"title":"InscriptionPeriodsData","description":"Inscription periods data."},"InscriptionsData":{"properties":{"current_inscription":{"type":"string","title":"Current Inscription"},"inscriptions":{"items":{"$ref":"#/components/schemas/InscriptionData"},"type":"array","title":"Inscriptions"}},"type":"object","required":["current_inscription","inscriptions"],"title":"InscriptionsData","description":"Inscriptions data."},"Institute":{"properties":{"institute_id":{"type":"integer","title":"Institute Id"},"institute_name":{"type":"string","title":"Institute Name"}},"type":"object","required":["institute_id","institute_name"],"title":"Institute","description":"Institute model."},"Institutes":{"properties":{"institutes":{"items":{"$ref":"#/components/schemas/Institute"},"type":"array","title":"Institutes"}},"type":"object","required":["institutes"],"title":"Institutes","description":"Institutes model."},"LoginData":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"LoginData","description":"Login data."},"LoginResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type"},"is_admin":{"type":"boolean","title":"Is Admin"}},"type":"object","required":["access_token","token_type","is_admin"],"title":"LoginResponse","description":"Login response."},"MultipleInstituteSignUp":{"properties":{"students":{"items":{"$ref":"#/components/schemas/IndividualInstituteSignUp"},"type":"array","title":"Students"}},"type":"object","required":["students"],"title":"MultipleInstituteSignUp","description":"Data form to sign up multiple students to a specific course."},"NewImage":{"properties":{"data_uri":{"type":"string","title":"Data Uri"}},"type":"object","required":["data_uri"],"title":"NewImage","description":"Profile image change model."},"NewPassword":{"properties":{"password":{"type":"string","title":"Password"}},"type":"object","required":["password"],"title":"NewPassword","description":"Password change model."},"NewPeriod":{"properties":{"period_type":{"type":"integer","title":"Period Type"}},"type":"object","required":["period_type"],"title":"NewPeriod","description":"Model for new period creation."},"NewUserDetails":{"properties":{"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"lastname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastname"},"cuil":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cuil"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},"type":"object","title":"NewUserDetails","description":"New user details."},"SpreadsheetRow":{"properties":{"errors":{"items":{"type":"string"},"type":"array","title":"Errors"},"student":{"anyOf":[{"$ref":"#/components/schemas/StudentData"},{"type":"null"}]},"course_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Course Id"}},"type":"object","required":["errors","student","course_id"],"title":"SpreadsheetRow","description":"Data returned after spreadsheet validation."},"StudentData":{"properties":{"student_name":{"type":"string","title":"Student Name"},"student_lastname":{"type":"string","title":"Student Lastname"},"student_dni":{"type":"string","title":"Student Dni"},"discount_type":{"type":"integer","title":"Discount Type"},"exam_type":{"type":"integer","title":"Exam Type"}},"type":"object","required":["student_name","student_lastname","student_dni","discount_type","exam_type"],"title":"StudentData","description":"Student data."},"StudentInscriptionData":{"properties":{"student_name":{"type":"string","title":"Student Name"},"student_lastname":{"type":"string","title":"Student Lastname"},"student_dni":{"type":"string","title":"Student Dni"},"discount_type":{"type":"integer","title":"Discount Type"},"exam_type":{"type":"integer","title":"Exam Type"},"inscription_id":{"type":"integer","title":"Inscription Id"},"bibliography_id":{"type":"integer","title":"Bibliography Id"},"course_id":{"type":"integer","title":"Course Id"},"complete":{"type":"boolean","title":"Complete"}},"type":"object","required":["student_name","student_lastname","student_dni","discount_type","exam_type","inscription_id","bibliography_id","course_id","complete"],"title":"StudentInscriptionData","description":"Student inscription data."},"StudentInscriptionUpdateData":{"properties":{"student_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Student Name"},"student_lastname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Student Lastname"},"student_dni":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Student Dni"},"discount_type":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Discount Type"},"exam_type":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Exam Type"},"bibliography_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bibliography Id"},"course_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Course Id"}},"type":"object","title":"StudentInscriptionUpdateData","description":"Student inscription update data."},"StudentsData":{"properties":{"students":{"items":{"$ref":"#/components/schemas/Inscription"},"type":"array","title":"Students"},"complete":{"type":"boolean","title":"Complete"}},"type":"object","required":["students","complete"],"title":"StudentsData","description":"Students data."},"Teacher":{"properties":{"teacher_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Teacher Id"},"teacher_full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Teacher Full Name"}},"type":"object","required":["teacher_id","teacher_full_name"],"title":"Teacher","description":"Teacher information."},"TeacherAssignment":{"properties":{"main_teacher":{"anyOf":[{"$ref":"#/components/schemas/Teacher"},{"type":"null"}]},"auxiliary_teacher":{"anyOf":[{"$ref":"#/components/schemas/Teacher"},{"type":"null"}]}},"type":"object","required":["main_teacher","auxiliary_teacher"],"title":"TeacherAssignment","description":"Teacher assignment information."},"UserDetails":{"properties":{"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"lastname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastname"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"timezone":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Timezone"},"cuil":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cuil"},"leg":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Leg"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},"type":"object","title":"UserDetails","description":"User details."},"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"}},"securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"/login"}}}}}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment