{"components":{"schemas":{"ActivityBody":{"additionalProperties":false,"properties":{"attempts":{"format":"int64","type":"integer"},"minutes":{"format":"int64","type":"integer"},"type_attempt":{"type":"string"}},"required":["type_attempt","attempts","minutes"],"type":"object"},"AddBatchBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"member_ids":{"items":{"format":"int64","type":"integer"},"type":["array","null"]},"role_id":{"format":"int64","type":"integer"},"target_school_id":{"format":"int64","type":"integer"}},"required":["target_school_id","member_ids"],"type":"object"},"AddBatchBodyOut":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"added":{"items":{"format":"int64","type":"integer"},"type":["array","null"]},"skipped":{"items":{"format":"int64","type":"integer"},"type":["array","null"]},"to_school_id":{"format":"int64","type":"integer"}},"required":["to_school_id","added","skipped"],"type":"object"},"AtRiskStudentBody":{"additionalProperties":false,"properties":{"absent":{"format":"int64","type":"integer"},"avatar":{"$ref":"#/components/schemas/Image"},"class_id":{"format":"int64","type":"integer"},"class_name":{"type":"string"},"excused":{"format":"int64","type":"integer"},"late":{"format":"int64","type":"integer"},"learner_profile_id":{"format":"int64","type":"integer"},"marked_count":{"format":"int64","type":"integer"},"name":{"type":"string"},"present":{"format":"int64","type":"integer"},"rate":{"format":"double","type":"number"}},"required":["learner_profile_id","name","avatar","class_id","class_name","rate","present","absent","late","excused","marked_count"],"type":"object"},"AttendanceOverviewBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"absent":{"format":"int64","type":"integer"},"attention_below_rate":{"format":"double","type":"number"},"average_rate":{"format":"double","type":["number","null"]},"class_id":{"format":"int64","type":"integer"},"class_name":{"type":"string"},"excused":{"format":"int64","type":"integer"},"late":{"format":"int64","type":"integer"},"marked_count":{"format":"int64","type":"integer"},"needs_attention_total":{"format":"int64","type":"integer"},"present":{"format":"int64","type":"integer"},"sessions":{"items":{"$ref":"#/components/schemas/OverviewSessionBody"},"type":["array","null"]},"students":{"$ref":"#/components/schemas/ListAttendanceStudentBody"}},"required":["class_id","class_name","sessions","needs_attention_total","average_rate","present","absent","late","excused","marked_count","attention_below_rate","students"],"type":"object"},"AttendanceReportBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"absent":{"format":"int64","type":"integer"},"all_classes":{"type":"boolean"},"attention_below_rate":{"format":"double","type":"number"},"average_rate":{"format":"double","type":["number","null"]},"classes":{"$ref":"#/components/schemas/ListClassReportBody"},"classes_below_rate":{"format":"int64","type":"integer"},"classes_total":{"format":"int64","type":"integer"},"excused":{"format":"int64","type":"integer"},"late":{"format":"int64","type":"integer"},"marked_count":{"format":"int64","type":"integer"},"present":{"format":"int64","type":"integer"},"school_students":{"format":"int32","type":"integer"},"students_below_rate":{"format":"int64","type":"integer"}},"required":["all_classes","school_students","classes_total","average_rate","present","absent","late","excused","marked_count","classes_below_rate","students_below_rate","attention_below_rate","classes"],"type":"object"},"AttendanceStudentBody":{"additionalProperties":false,"properties":{"absent":{"format":"int64","type":"integer"},"avatar":{"$ref":"#/components/schemas/Image"},"cells":{"items":{"$ref":"#/components/schemas/CellBody"},"type":["array","null"]},"custom_name":{"type":["string","null"]},"enrolled_from":{"type":"string"},"excused":{"format":"int64","type":"integer"},"late":{"format":"int64","type":"integer"},"learner_profile_id":{"format":"int64","type":"integer"},"marked_count":{"format":"int64","type":"integer"},"name":{"type":"string"},"needs_attention":{"type":"boolean"},"present":{"format":"int64","type":"integer"},"rate":{"format":"double","type":["number","null"]}},"required":["learner_profile_id","name","custom_name","avatar","enrolled_from","cells","present","absent","late","excused","marked_count","rate","needs_attention"],"type":"object"},"BatchResultBody":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"},"id":{"type":"string"},"message":{"type":"string"},"success":{"type":"boolean"}},"required":["id","success"],"type":"object"},"BatchReviewInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"approve":{"type":"boolean"},"ids":{"items":{"type":"string"},"maxItems":250,"minItems":1,"type":["array","null"]},"reason":{"maxLength":500,"type":"string"}},"required":["ids","approve"],"type":"object"},"BatchReviewOutputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"results":{"items":{"$ref":"#/components/schemas/BatchResultBody"},"type":["array","null"]}},"required":["results"],"type":"object"},"BingoAlternativesBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"band":{"items":{"type":"string"},"type":["array","null"]},"class_id":{"format":"int64","type":"integer"},"items":{"items":{"$ref":"#/components/schemas/BingoExerciseBody"},"type":["array","null"]},"learner_profile_id":{"format":"int64","type":"integer"},"level":{"enum":["prea1","a1","a2","b1","b2","c1","c2"],"type":"string"},"level_source":{"enum":["PASSED","LOWEST_ATTEMPTED","NOT_ENOUGH_SKILLS","NO_HISTORY","REMEMBERED"],"type":"string"},"reason_code":{"enum":["WEAK_SKILL","NO_DATA_FOR_SKILL"],"type":"string"},"student_name":{"type":"string"},"target_skill":{"enum":["listening","reading","writing","speaking"],"type":"string"},"target_skill_tied":{"type":"boolean"},"window_from":{"type":"string"},"window_to":{"type":"string"}},"required":["class_id","learner_profile_id","student_name","target_skill","target_skill_tied","reason_code","level","level_source","band","items","window_from","window_to"],"type":"object"},"BingoDecideBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"results":{"items":{"$ref":"#/components/schemas/BingoDecideResultBody"},"type":["array","null"]}},"required":["results"],"type":"object"},"BingoDecideInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"all":{"type":"boolean"},"class_id":{"format":"int64","minimum":1,"type":"integer"},"from":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"items":{"items":{"$ref":"#/components/schemas/BingoDecideItem"},"maxItems":200,"type":["array","null"]},"list_version":{"type":"string"},"to":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},"required":["class_id"],"type":"object"},"BingoDecideItem":{"additionalProperties":false,"properties":{"check_point_id":{"format":"uuid","type":"string"},"learner_profile_id":{"format":"int64","minimum":1,"type":"integer"},"reason_code":{"enum":["WEAK_SKILL","NO_DATA_FOR_SKILL"],"type":"string"},"target_skill":{"enum":["listening","reading","writing","speaking"],"type":"string"}},"required":["learner_profile_id","check_point_id","target_skill","reason_code"],"type":"object"},"BingoDecideResultBody":{"additionalProperties":false,"properties":{"assign_at":{"format":"date-time","type":"string"},"assign_test_id":{"format":"int64","type":"integer"},"check_point_id":{"type":"string"},"learner_profile_id":{"format":"int64","type":"integer"},"status":{"enum":["RECORDED","ALREADY_DECIDED"],"type":"string"}},"required":["learner_profile_id","check_point_id","status"],"type":"object"},"BingoExerciseBody":{"additionalProperties":false,"properties":{"check_point_id":{"type":"string"},"duration_seconds":{"format":"int64","type":"integer"},"image":{"$ref":"#/components/schemas/Image"},"levels":{"items":{"type":"string"},"type":["array","null"]},"name":{"type":"string"},"name_en":{"type":"string"},"type":{"type":"string"}},"required":["check_point_id","name","name_en","type","levels","duration_seconds","image"],"type":"object"},"BingoSelectBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"card":{"$ref":"#/components/schemas/BingoSuggestionBody"}},"required":["card"],"type":"object"},"BingoSelectInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"class_id":{"format":"int64","minimum":1,"type":"integer"},"from":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"from_check_point_id":{"format":"uuid","type":"string"},"learner_profile_id":{"format":"int64","minimum":1,"type":"integer"},"to":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"to_check_point_id":{"format":"uuid","type":"string"}},"required":["class_id","learner_profile_id","from_check_point_id","to_check_point_id","from","to"],"type":"object"},"BingoSettingsBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"assign_at":{"pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","type":"string"},"assign_weekdays":{"items":{"format":"int64","type":"integer"},"maxItems":7,"minItems":1,"type":["array","null"]},"class_id":{"format":"int64","type":"integer"},"configured":{"type":"boolean"},"level_band":{"format":"int64","maximum":6,"minimum":0,"type":"integer"},"max_duration_minutes":{"format":"int64","maximum":600,"minimum":1,"type":"integer"},"mode":{"enum":["SUGGEST","AUTO"],"type":"string"},"skip_when_unfinished":{"format":"int64","minimum":1,"type":["integer","null"]},"source_school":{"enum":["ALL","FLYER","DOMAIN","COMMUNITY","ONLY_ME"],"type":"string"},"updated_at":{"format":"date-time","type":["string","null"]},"weekly_target":{"format":"int64","maximum":20,"minimum":1,"type":"integer"}},"required":["class_id","mode","weekly_target","assign_weekdays","assign_at","skip_when_unfinished","source_school","max_duration_minutes","level_band","configured","updated_at"],"type":"object"},"BingoStudentBody":{"additionalProperties":false,"properties":{"avatar":{"$ref":"#/components/schemas/Image"},"best_score":{"format":"double","type":["number","null"]},"best_score_level":{"enum":["prea1","a1","a2","b1","b2","c1","c2"],"type":"string"},"current_score":{"format":"double","type":["number","null"]},"exercises":{"items":{"$ref":"#/components/schemas/BingoSuggestionBody"},"type":["array","null"]},"learner_profile_id":{"format":"int64","type":"integer"},"level":{"enum":["prea1","a1","a2","b1","b2","c1","c2"],"type":"string"},"level_name":{"type":"string"},"level_plus":{"type":"boolean"},"level_source":{"enum":["PASSED","LOWEST_ATTEMPTED","NOT_ENOUGH_SKILLS","NO_HISTORY","REMEMBERED"],"type":"string"},"skipped_for_unfinished":{"type":"boolean"},"student_name":{"type":"string"}},"required":["learner_profile_id","student_name","avatar","level","level_name","level_plus","level_source","current_score","best_score","best_score_level","skipped_for_unfinished","exercises"],"type":"object"},"BingoSuggestionBody":{"additionalProperties":false,"properties":{"approved_at":{"format":"date-time","type":["string","null"]},"assign_at":{"format":"date-time","type":["string","null"]},"assign_test_id":{"format":"int64","type":["integer","null"]},"best_score":{"format":"double","type":["number","null"]},"best_score_level":{"enum":["prea1","a1","a2","b1","b2","c1","c2"],"type":"string"},"card_source":{"enum":["SUGGESTED","SELECTED","QUEUED","RETRY","ASSIGNED"],"type":"string"},"current_score":{"format":"double","type":["number","null"]},"exercise":{"$ref":"#/components/schemas/BingoExerciseBody"},"learner_profile_id":{"format":"int64","type":"integer"},"level_source":{"enum":["PASSED","LOWEST_ATTEMPTED","NOT_ENOUGH_SKILLS","NO_HISTORY","REMEMBERED"],"type":"string"},"reason_code":{"enum":["WEAK_SKILL","NO_DATA_FOR_SKILL"],"type":"string"},"target_skill":{"enum":["listening","reading","writing","speaking"],"type":"string"},"target_skill_tied":{"type":"boolean"}},"required":["learner_profile_id","exercise","target_skill","target_skill_tied","reason_code","level_source","current_score","best_score","best_score_level","card_source","approved_at","assign_at","assign_test_id"],"type":"object"},"BingoSuggestionsBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"class_id":{"format":"int64","type":"integer"},"class_name":{"type":"string"},"list_version":{"type":"string"},"settings":{"$ref":"#/components/schemas/BingoSettingsBody"},"students":{"items":{"$ref":"#/components/schemas/BingoStudentBody"},"type":["array","null"]},"week_start":{"format":"date-time","type":"string"},"window_from":{"type":"string"},"window_to":{"type":"string"}},"required":["class_id","class_name","settings","students","week_start","window_from","window_to","list_version"],"type":"object"},"CellBody":{"additionalProperties":false,"properties":{"note":{"type":["string","null"]},"session_date":{"type":"string"},"session_seq":{"format":"int32","type":"integer"},"state":{"enum":["MARKED","NOT_ENROLLED"],"type":"string"},"status":{"enum":["PRESENT","ABSENT","LATE","EXCUSED"],"type":["string","null"]}},"required":["session_date","session_seq","state","status","note"],"type":"object"},"ChangeMembersInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"add":{"items":{"format":"int64","type":"integer"},"maxItems":500,"type":["array","null"]},"remove":{"items":{"format":"int64","type":"integer"},"maxItems":500,"type":["array","null"]}},"type":"object"},"ClassBody":{"additionalProperties":false,"properties":{"class_id":{"format":"int64","type":"integer"},"class_name":{"type":"string"}},"required":["class_id","class_name"],"type":"object"},"ClassReportBody":{"additionalProperties":false,"properties":{"absent":{"format":"int64","type":"integer"},"class_id":{"format":"int64","type":"integer"},"class_name":{"type":"string"},"excused":{"format":"int64","type":"integer"},"late":{"format":"int64","type":"integer"},"marked_count":{"format":"int64","type":"integer"},"needs_attention":{"format":"int64","type":"integer"},"present":{"format":"int64","type":"integer"},"rate":{"format":"double","type":["number","null"]},"roster_count":{"format":"int32","type":"integer"},"session_count":{"format":"int32","type":"integer"},"students":{"items":{"$ref":"#/components/schemas/ReportPersonBody"},"type":["array","null"]},"teachers":{"items":{"$ref":"#/components/schemas/ReportPersonBody"},"type":["array","null"]}},"required":["class_id","class_name","teachers","students","session_count","roster_count","rate","needs_attention","present","absent","late","excused","marked_count"],"type":"object"},"CommunityRequestBody":{"additionalProperties":false,"properties":{"id":{"type":"string"},"rejection_reason":{"type":["string","null"]},"status":{"type":"string"}},"required":["id","status","rejection_reason"],"type":"object"},"ConnectionBody":{"additionalProperties":false,"properties":{"access_expires_at":{"type":["string","null"]},"client_id":{"type":"string"},"connected_at":{"type":"string"},"display_name":{"type":"string"},"last_issued_at":{"type":"string"},"name_source":{"type":"string"},"provider":{"type":"string"},"redirect_uris":{"items":{"type":"string"},"type":["array","null"]},"refresh_expires_at":{"type":["string","null"]},"schools":{"items":{"$ref":"#/components/schemas/SchoolBody"},"type":["array","null"]},"scopes":{"items":{"type":"string"},"type":["array","null"]}},"required":["client_id","provider","display_name","name_source","redirect_uris","scopes","schools","connected_at","last_issued_at","access_expires_at","refresh_expires_at"],"type":"object"},"CreateDomainBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"domain_name":{"type":"string"},"feature_description":{"type":"string"},"feature_image_id":{"type":"string"},"login_title":{"type":"string"},"login_title_en":{"type":"string"},"logo_image_id":{"type":"string"}},"required":["domain_name"],"type":"object"},"CreateInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"class_id":{"format":"int64","minimum":1,"type":"integer"},"learner_profile_ids":{"items":{"format":"int64","type":"integer"},"type":["array","null"]},"name":{"maxLength":255,"minLength":1,"type":"string"}},"required":["class_id","name"],"type":"object"},"CreateInputBody1":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"amount":{"format":"int32","maximum":999,"minimum":1,"type":"integer"},"icon":{"maxLength":64,"minLength":1,"type":"string"},"icon_text":{"maxLength":64,"type":["string","null"]},"name":{"maxLength":255,"minLength":1,"type":"string"}},"required":["name","icon","amount"],"type":"object"},"CreateItemInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"class_id":{"format":"int64","type":"integer"},"icon":{"maxLength":64,"minLength":1,"type":"string"},"icon_text":{"maxLength":64,"type":"string"},"image_id":{"maxLength":255,"type":"string"},"name":{"maxLength":255,"minLength":1,"type":"string"},"per_student_limit":{"format":"int32","maximum":999,"minimum":1,"type":"integer"},"price":{"format":"int32","maximum":99999,"minimum":1,"type":"integer"},"scope":{"enum":["SCHOOL","CLASS"],"type":"string"},"status":{"enum":["ACTIVE","HIDDEN"],"type":"string"},"stock":{"format":"int32","maximum":99999,"minimum":0,"type":"integer"},"type":{"enum":["VIRTUAL","PHYSICAL"],"type":"string"}},"required":["scope","name","type","price"],"type":"object"},"DailyReportBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"active":{"items":{"$ref":"#/components/schemas/StudentRefBody"},"type":["array","null"]},"active_count":{"format":"int64","type":"integer"},"classes":{"items":{"$ref":"#/components/schemas/ClassBody"},"type":["array","null"]},"declining":{"items":{"$ref":"#/components/schemas/DecliningStudentBody"},"type":["array","null"]},"hero_completed":{"format":"int64","type":"integer"},"hero_delta":{"format":"int64","type":["integer","null"]},"hero_minutes":{"format":"int64","type":"integer"},"hero_minutes_prior":{"format":"int64","type":["integer","null"]},"inactive":{"items":{"$ref":"#/components/schemas/StudentRefBody"},"type":["array","null"]},"report_date":{"type":"string"},"silent":{"items":{"$ref":"#/components/schemas/SilentStudentBody"},"type":["array","null"]},"students":{"items":{"$ref":"#/components/schemas/StudentDetailBody"},"type":["array","null"]}},"required":["report_date","hero_minutes","hero_completed","hero_minutes_prior","hero_delta","active_count","active","inactive","silent","declining","classes","students"],"type":"object"},"DecliningStudentBody":{"additionalProperties":false,"properties":{"display_name":{"type":"string"},"learner_profile_id":{"format":"int64","type":"integer"},"minutes":{"format":"int64","type":"integer"},"prior_minutes":{"format":"int64","type":"integer"}},"required":["learner_profile_id","display_name","minutes","prior_minutes"],"type":"object"},"DisconnectInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"client_id":{"minLength":1,"type":"string"}},"required":["client_id"],"type":"object"},"ErrorBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"code":{"type":"string"},"detail":{"type":"string"},"errors":{"items":{"$ref":"#/components/schemas/ErrorDetail"},"type":["array","null"]},"instance":{"format":"uri","type":"string"},"message":{"type":"string"},"status":{"format":"int64","type":"integer"},"title":{"type":"string"},"type":{"default":"about:blank","format":"uri","type":"string"}},"required":["code","message"],"type":"object"},"ErrorDetail":{"additionalProperties":false,"properties":{"location":{"type":"string"},"message":{"type":"string"},"value":{}},"type":"object"},"GrantBody":{"additionalProperties":false,"properties":{"amount":{"format":"int32","type":"integer"},"class_id":{"format":"int64","type":"integer"},"class_name":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"group_id":{"type":["string","null"]},"group_name":{"type":["string","null"]},"id":{"type":"string"},"reason":{"type":["string","null"]},"skill_icon":{"type":["string","null"]},"skill_icon_text":{"type":["string","null"]},"skill_id":{"type":["string","null"]},"skill_name":{"type":["string","null"]},"student_count":{"format":"int32","type":"integer"},"students":{"items":{"$ref":"#/components/schemas/GrantStudentBody"},"type":["array","null"]},"target_type":{"enum":["STUDENT","GROUP"],"type":"string"},"teacher_profile_id":{"format":"int64","type":"integer"}},"required":["id","class_id","class_name","teacher_profile_id","target_type","group_id","group_name","skill_id","skill_name","skill_icon","skill_icon_text","amount","student_count","students","reason","created_at"],"type":"object"},"GrantDetailBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"grant":{"$ref":"#/components/schemas/GrantBody"},"transactions":{"items":{"$ref":"#/components/schemas/TransactionBody"},"type":["array","null"]}},"required":["grant","transactions"],"type":"object"},"GrantInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"amount":{"format":"int32","maximum":-1,"type":"integer"},"class_id":{"format":"int64","minimum":1,"type":"integer"},"group_id":{"type":"string"},"learner_profile_id":{"format":"int64","type":"integer"},"reason":{"maxLength":500,"type":"string"},"skill_id":{"minLength":1,"type":"string"},"target_type":{"enum":["STUDENT","GROUP"],"type":"string"}},"required":["class_id","target_type"],"type":"object"},"GrantStudentBody":{"additionalProperties":false,"properties":{"learner_profile_id":{"format":"int64","type":"integer"},"student_name":{"type":"string"}},"required":["learner_profile_id","student_name"],"type":"object"},"GroupBody":{"additionalProperties":false,"properties":{"class_id":{"format":"int64","type":"integer"},"created_at":{"format":"date-time","type":"string"},"id":{"type":"string"},"member_count":{"format":"int64","type":"integer"},"members":{"items":{"$ref":"#/components/schemas/MemberPreviewBody"},"type":["array","null"]},"name":{"type":"string"},"total_stones":{"format":"int32","type":"integer"},"updated_at":{"format":"date-time","type":"string"}},"required":["id","class_id","name","member_count","total_stones","members","created_at","updated_at"],"type":"object"},"GroupDetailBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"group":{"$ref":"#/components/schemas/GroupBody"},"members":{"items":{"$ref":"#/components/schemas/MemberBody"},"type":["array","null"]}},"required":["group","members"],"type":"object"},"HistoryEntryBody":{"additionalProperties":false,"properties":{"class_id":{"format":"int64","type":"integer"},"class_name":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"grant":{"$ref":"#/components/schemas/GrantBody"},"id":{"type":"string"},"kind":{"enum":["GRANTED","REVOKED","REDEEMED"],"type":"string"},"redemption":{"$ref":"#/components/schemas/RedemptionBody"}},"required":["id","kind","class_id","class_name","created_at","grant","redemption"],"type":"object"},"Image":{"additionalProperties":false,"properties":{"id":{"type":"string"},"url":{"type":"string"}},"required":["id","url"],"type":"object"},"InternalMarkAllBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"status":{"enum":["PRESENT","ABSENT","LATE","EXCUSED"],"type":"string"}},"required":["status"],"type":"object"},"InternalSaveBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"students":{"items":{"$ref":"#/components/schemas/MarkBody"},"maxItems":500,"minItems":1,"type":["array","null"]}},"required":["students"],"type":"object"},"ItemBody":{"additionalProperties":false,"properties":{"community_request":{"$ref":"#/components/schemas/CommunityRequestBody"},"created_at":{"format":"date-time","type":"string"},"description_en":{"type":["string","null"]},"domain_ids":{},"id":{"type":"string"},"image":{"$ref":"#/components/schemas/Image"},"level":{},"max_grade":{"format":"double","type":["number","null"]},"max_score":{"format":"double","type":["number","null"]},"name":{"type":"string"},"name_en":{"type":"string"},"public_status":{"type":["string","null"]},"school_ids":{},"skills":{},"status":{"enum":["PUBLISHED","DRAFT","ARCHIVED"],"type":"string"},"test_count":{"format":"int64","type":"integer"},"time":{"type":"string"},"type":{"enum":["IELTS","PRACTICE","BINGO_SUBJECT"],"type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["id","name","name_en","type","level","status","public_status","created_at","updated_at","time","description","description_en","image","skills","test_count","max_score","max_grade","school_ids","domain_ids","community_request"],"type":"object"},"LedgerEntryBody":{"additionalProperties":false,"properties":{"amount":{"format":"int32","type":"integer"},"balance_after":{"format":"int32","type":"integer"},"class_id":{"format":"int64","type":["integer","null"]},"class_name":{"type":["string","null"]},"created_at":{"format":"date-time","type":"string"},"grant":{"$ref":"#/components/schemas/LedgerGrantBody"},"id":{"type":"string"},"kind":{"enum":["GRANTED","REVOKED","REDEEMED","REFUNDED"],"type":"string"},"redemption":{"$ref":"#/components/schemas/LedgerRedemptionBody"},"student_name":{"type":"string"}},"required":["id","kind","amount","balance_after","class_id","class_name","student_name","created_at","grant","redemption"],"type":"object"},"LedgerGrantBody":{"additionalProperties":false,"properties":{"group_id":{"type":["string","null"]},"group_name":{"type":["string","null"]},"id":{"type":"string"},"reason":{"type":["string","null"]},"skill_icon":{"type":["string","null"]},"skill_icon_text":{"type":["string","null"]},"skill_id":{"type":["string","null"]},"skill_name":{"type":["string","null"]},"target_type":{"enum":["STUDENT","GROUP"],"type":"string"},"teacher_profile_id":{"format":"int64","type":"integer"}},"required":["id","teacher_profile_id","target_type","group_id","group_name","skill_id","skill_name","skill_icon","skill_icon_text","reason"],"type":"object"},"LedgerRedemptionBody":{"additionalProperties":false,"properties":{"id":{"type":"string"},"item_icon":{"type":["string","null"]},"item_icon_text":{"type":["string","null"]},"item_id":{"type":["string","null"]},"item_image":{"$ref":"#/components/schemas/Image"},"item_name":{"type":"string"},"item_scope":{"enum":["FLYER","SCHOOL","CLASS"],"type":"string"},"item_type":{"enum":["VIRTUAL","PHYSICAL"],"type":"string"},"price":{"format":"int32","type":"integer"},"reject_reason":{"type":["string","null"]},"requested_by":{"enum":["STUDENT","TEACHER"],"type":"string"},"requested_by_teacher_profile_id":{"format":"int64","type":["integer","null"]},"reviewed_at":{"format":"date-time","type":["string","null"]},"status":{"enum":["PENDING","APPROVED","REJECTED","CANCELLED"],"type":"string"}},"required":["id","item_id","item_name","item_scope","item_type","item_icon","item_icon_text","item_image","price","status","requested_by","requested_by_teacher_profile_id","reviewed_at","reject_reason"],"type":"object"},"LibraryListBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"data":{"items":{"$ref":"#/components/schemas/ItemBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"},"summary":{"$ref":"#/components/schemas/SummaryBody"}},"required":["data","pagination","summary"],"type":"object"},"ListAtRiskStudentBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"data":{"items":{"$ref":"#/components/schemas/AtRiskStudentBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"type":"object"},"ListAttendanceStudentBody":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/AttendanceStudentBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"type":"object"},"ListClassReportBody":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/ClassReportBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"type":"object"},"ListConnectionBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"data":{"items":{"$ref":"#/components/schemas/ConnectionBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"type":"object"},"ListGroupBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"data":{"items":{"$ref":"#/components/schemas/GroupBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"type":"object"},"ListHistoryEntryBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"data":{"items":{"$ref":"#/components/schemas/HistoryEntryBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"type":"object"},"ListLedgerEntryBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"data":{"items":{"$ref":"#/components/schemas/LedgerEntryBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"type":"object"},"ListProficiencyAttemptBody":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/ProficiencyAttemptBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"type":"object"},"ListProficiencyStudentRowBody":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/ProficiencyStudentRowBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"type":"object"},"ListRedemptionBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"data":{"items":{"$ref":"#/components/schemas/RedemptionBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"type":"object"},"ListRewardBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"data":{"items":{"$ref":"#/components/schemas/RewardBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"type":"object"},"ListSessionBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"data":{"items":{"$ref":"#/components/schemas/SessionBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"type":"object"},"ListSkillBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"data":{"items":{"$ref":"#/components/schemas/SkillBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"type":"object"},"ListStudentBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"data":{"items":{"$ref":"#/components/schemas/StudentBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"type":"object"},"ListStudentRewardBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"data":{"items":{"$ref":"#/components/schemas/StudentRewardBody"},"type":["array","null"]},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"],"type":"object"},"MarkAllBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"calendar_event_time_id":{"type":["string","null"]},"session_seq":{"format":"int32","maximum":8,"minimum":1,"type":"integer"},"start_at":{"format":"date-time","type":["string","null"]},"status":{"enum":["PRESENT","ABSENT","LATE","EXCUSED"],"type":"string"}},"required":["status"],"type":"object"},"MarkBody":{"additionalProperties":false,"properties":{"learner_profile_id":{"format":"int64","minimum":1,"type":"integer"},"note":{"maxLength":500,"type":"string"},"status":{"enum":["PRESENT","ABSENT","LATE","EXCUSED"],"type":"string"}},"required":["learner_profile_id","status"],"type":"object"},"MemberBody":{"additionalProperties":false,"properties":{"avatar":{"$ref":"#/components/schemas/Image"},"balance":{"format":"int32","type":"integer"},"learner_profile_id":{"format":"int64","type":"integer"},"still_in_class":{"type":"boolean"},"student_name":{"type":"string"}},"required":["learner_profile_id","student_name","avatar","balance","still_in_class"],"type":"object"},"MemberPreviewBody":{"additionalProperties":false,"properties":{"avatar":{"$ref":"#/components/schemas/Image"},"learner_profile_id":{"format":"int64","type":"integer"},"student_name":{"type":"string"}},"required":["learner_profile_id","student_name","avatar"],"type":"object"},"NudgeBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"status":{"type":"string"}},"required":["status"],"type":"object"},"NudgeStudentBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"report_date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},"required":["report_date"],"type":"object"},"OverviewBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"items_in_store":{"format":"int64","type":"integer"},"pending_redemptions":{"format":"int64","type":"integer"},"points_redeemed_30d":{"format":"int64","type":"integer"}},"required":["items_in_store","pending_redemptions","points_redeemed_30d"],"type":"object"},"OverviewSessionBody":{"additionalProperties":false,"properties":{"calendar_event_time_id":{"type":["string","null"]},"session_date":{"type":"string"},"session_no":{"format":"int32","type":"integer"},"session_seq":{"format":"int32","type":"integer"}},"required":["session_date","session_seq","session_no","calendar_event_time_id"],"type":"object"},"Pagination":{"additionalProperties":false,"properties":{"limit":{"format":"int32","type":"integer"},"next_page":{"format":"int32","type":["integer","null"]},"page":{"format":"int32","type":"integer"},"prev_page":{"format":"int32","type":["integer","null"]},"total_count":{"format":"int64","type":"integer"},"total_pages":{"format":"int64","type":"integer"}},"required":["limit","page","prev_page","next_page","total_pages","total_count"],"type":"object"},"PrefBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"key":{"type":"string"},"updated_at":{"format":"date-time","type":["string","null"]},"value":{}},"required":["key","value","updated_at"],"type":"object"},"PrefsBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"cadence":{"enum":["DAILY","WEEKLY","MONTHLY"],"type":"string"},"daily_enabled":{"type":"boolean"},"extra_emails":{"items":{"type":"string"},"type":["array","null"]},"include_inactive":{"type":"boolean"},"include_summary":{"type":"boolean"},"include_trend":{"type":"boolean"},"send_hour":{"format":"int64","type":"integer"}},"required":["daily_enabled","cadence","send_hour","extra_emails","include_summary","include_inactive","include_trend"],"type":"object"},"PrefsPostInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"action":{"enum":["reduce","stop","all"],"type":"string"},"token":{"type":"string"}},"required":["token","action"],"type":"object"},"ProficiencyAttemptBody":{"additionalProperties":false,"properties":{"accuracy":{"format":"double","type":"number"},"check_point_id":{"type":"string"},"check_point_name":{"type":"string"},"check_point_type":{"type":"string"},"duration_seconds":{"format":"int64","type":"integer"},"levels":{"items":{"enum":["prea1","a1","a2","b1","b2","c1","c2"],"type":"string"},"type":["array","null"]},"skills":{"items":{"type":"string"},"type":["array","null"]},"submitted_at":{"format":"date-time","type":"string"},"user_attempt_id":{"type":"string"}},"required":["user_attempt_id","check_point_id","check_point_name","check_point_type","submitted_at","accuracy","skills","levels","duration_seconds"],"type":"object"},"ProficiencyClassBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"attention_below_score":{"format":"double","type":"number"},"average_score":{"format":"double","type":["number","null"]},"average_trend":{"$ref":"#/components/schemas/ProficiencyTrendBody"},"class_id":{"format":"int64","type":"integer"},"class_level_name":{"type":"string"},"class_name":{"type":"string"},"last_submitted_at":{"format":"date-time","type":["string","null"]},"needs_support_count":{"format":"int64","type":"integer"},"pass_level_score":{"format":"double","type":"number"},"promote_at_score":{"format":"double","type":"number"},"scored_students":{"format":"int64","type":"integer"},"students":{"$ref":"#/components/schemas/ListProficiencyStudentRowBody"},"students_total":{"format":"int64","type":"integer"},"weakest_skill":{"enum":["listening","reading","writing","speaking"],"type":["string","null"]},"weakest_skill_score":{"format":"double","type":["number","null"]},"weakest_skill_tied":{"type":"boolean"},"window_from":{"type":"string"},"window_to":{"type":"string"}},"required":["class_id","class_name","class_level_name","average_score","average_trend","weakest_skill","weakest_skill_score","weakest_skill_tied","needs_support_count","attention_below_score","promote_at_score","pass_level_score","students_total","scored_students","last_submitted_at","students","window_from","window_to"],"type":"object"},"ProficiencySkillBody":{"additionalProperties":false,"properties":{"attempt_count":{"format":"int64","type":"integer"},"level_score":{"format":"double","type":["number","null"]},"score":{"format":"double","type":["number","null"]},"skill":{"enum":["listening","reading","writing","speaking"],"type":"string"},"trend":{"$ref":"#/components/schemas/ProficiencyTrendBody"}},"required":["skill","score","level_score","attempt_count","trend"],"type":"object"},"ProficiencyStudentBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"attention_below_score":{"format":"double","type":"number"},"class_id":{"format":"int64","type":"integer"},"class_level_name":{"type":"string"},"class_name":{"type":"string"},"pass_level_score":{"format":"double","type":"number"},"promote_at_score":{"format":"double","type":"number"},"recent_attempts":{"$ref":"#/components/schemas/ListProficiencyAttemptBody"},"student":{"$ref":"#/components/schemas/ProficiencyStudentRowBody"},"window_from":{"type":"string"},"window_to":{"type":"string"}},"required":["student","class_id","class_name","class_level_name","attention_below_score","pass_level_score","promote_at_score","recent_attempts","window_from","window_to"],"type":"object"},"ProficiencyStudentRowBody":{"additionalProperties":false,"properties":{"attempt_count":{"format":"int64","type":"integer"},"avatar":{"$ref":"#/components/schemas/Image"},"best_score":{"format":"double","type":["number","null"]},"best_score_level":{"enum":["prea1","a1","a2","b1","b2","c1","c2"],"type":"string"},"current_score":{"format":"double","type":["number","null"]},"last_submitted_at":{"format":"date-time","type":["string","null"]},"learner_profile_id":{"format":"int64","type":"integer"},"level":{"enum":["prea1","a1","a2","b1","b2","c1","c2"],"type":"string"},"level_at":{"format":"date-time","type":["string","null"]},"level_name":{"type":"string"},"level_plus":{"type":"boolean"},"level_source":{"enum":["PASSED","LOWEST_ATTEMPTED","NOT_ENOUGH_SKILLS","NO_HISTORY","REMEMBERED"],"type":"string"},"name":{"type":"string"},"overall_score":{"format":"double","type":["number","null"]},"score_level":{"enum":["prea1","a1","a2","b1","b2","c1","c2"],"type":"string"},"skills":{"items":{"$ref":"#/components/schemas/ProficiencySkillBody"},"type":["array","null"]},"trend":{"$ref":"#/components/schemas/ProficiencyTrendBody"}},"required":["learner_profile_id","name","avatar","skills","overall_score","level","level_source","current_score","best_score","best_score_level","level_name","level_plus","score_level","level_at","attempt_count","last_submitted_at","trend"],"type":"object"},"ProficiencyTrendBody":{"additionalProperties":false,"properties":{"delta_points":{"format":"double","type":["number","null"]},"direction":{"enum":["UP","DOWN","FLAT"],"type":"string"},"window_days":{"format":"int64","type":"integer"}},"required":["direction","delta_points","window_days"],"type":"object"},"PutInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"value":{}},"required":["value"],"type":"object"},"RedeemInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"class_id":{"format":"int64","type":"integer"},"item_id":{"maxLength":64,"type":"string"},"learner_profile_id":{"format":"int64","minimum":1,"type":"integer"}},"required":["item_id","learner_profile_id"],"type":"object"},"RedemptionBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"class_id":{"format":"int64","type":["integer","null"]},"class_name":{"type":["string","null"]},"created_at":{"format":"date-time","type":"string"},"id":{"type":"string"},"item_icon":{"type":["string","null"]},"item_icon_text":{"type":["string","null"]},"item_id":{"type":["string","null"]},"item_image":{"$ref":"#/components/schemas/Image"},"item_name":{"type":"string"},"item_scope":{"enum":["FLYER","SCHOOL","CLASS"],"type":"string"},"item_type":{"enum":["VIRTUAL","PHYSICAL"],"type":"string"},"learner_profile_id":{"format":"int64","type":"integer"},"price":{"format":"int32","type":"integer"},"reject_reason":{"type":["string","null"]},"requested_by":{"enum":["STUDENT","TEACHER"],"type":"string"},"requested_by_teacher_profile_id":{"format":"int64","type":["integer","null"]},"reviewed_at":{"format":"date-time","type":["string","null"]},"reviewed_by_teacher_profile_id":{"format":"int64","type":["integer","null"]},"status":{"enum":["PENDING","APPROVED","REJECTED","CANCELLED"],"type":"string"},"student_name":{"type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["id","class_id","class_name","learner_profile_id","student_name","item_id","item_name","item_scope","item_type","item_icon","item_icon_text","item_image","price","status","requested_by","requested_by_teacher_profile_id","reviewed_by_teacher_profile_id","reviewed_at","reject_reason","created_at","updated_at"],"type":"object"},"RejectInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"reason":{"maxLength":500,"minLength":1,"type":"string"}},"required":["reason"],"type":"object"},"RenameInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"name":{"maxLength":255,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"ReportBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"by_reward":{"items":{"$ref":"#/components/schemas/RewardReportBody"},"type":["array","null"]},"by_skill":{"items":{"$ref":"#/components/schemas/SkillReportBody"},"type":["array","null"]},"top_reward":{"$ref":"#/components/schemas/RewardReportBody"},"top_skill":{"$ref":"#/components/schemas/SkillReportBody"},"totals":{"$ref":"#/components/schemas/ReportTotalsBody"}},"required":["totals","top_skill","by_skill","top_reward","by_reward"],"type":"object"},"ReportPersonBody":{"additionalProperties":false,"properties":{"avatar":{"$ref":"#/components/schemas/Image"},"id":{"format":"int64","type":"integer"},"name":{"type":"string"}},"required":["id","name","avatar"],"type":"object"},"ReportTotalsBody":{"additionalProperties":false,"properties":{"current_stones":{"format":"int32","type":"integer"},"grant_count":{"format":"int64","type":"integer"},"redemption_count":{"format":"int64","type":"integer"},"refund_count":{"format":"int64","type":"integer"},"revoke_count":{"format":"int64","type":"integer"},"stones_granted":{"format":"int32","type":"integer"},"stones_redeemed":{"format":"int32","type":"integer"},"stones_refunded":{"format":"int32","type":"integer"},"stones_revoked":{"format":"int32","type":"integer"},"students_awarded":{"format":"int64","type":"integer"},"students_redeemed":{"format":"int64","type":"integer"}},"required":["current_stones","stones_granted","stones_revoked","grant_count","revoke_count","students_awarded","stones_redeemed","stones_refunded","redemption_count","refund_count","students_redeemed"],"type":"object"},"RewardBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"class_id":{"format":"int64","type":["integer","null"]},"created_at":{"format":"date-time","type":"string"},"icon":{"type":["string","null"]},"icon_text":{"type":["string","null"]},"id":{"type":"string"},"image":{"$ref":"#/components/schemas/Image"},"name":{"type":"string"},"out_of_stock":{"type":"boolean"},"per_student_limit":{"format":"int32","type":["integer","null"]},"price":{"format":"int32","type":"integer"},"redeemed_count":{"format":"int32","type":"integer"},"scope":{"enum":["FLYER","SCHOOL","CLASS"],"type":"string"},"status":{"enum":["ACTIVE","HIDDEN"],"type":"string"},"stock":{"format":"int32","type":["integer","null"]},"type":{"enum":["VIRTUAL","PHYSICAL"],"type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["id","scope","class_id","name","description","type","icon","icon_text","image","price","stock","per_student_limit","status","redeemed_count","out_of_stock","created_at","updated_at"],"type":"object"},"RewardReportBody":{"additionalProperties":false,"properties":{"item_icon":{"type":["string","null"]},"item_icon_text":{"type":["string","null"]},"item_id":{"type":["string","null"]},"item_image":{"$ref":"#/components/schemas/Image"},"item_name":{"type":"string"},"item_type":{"enum":["VIRTUAL","PHYSICAL"],"type":"string"},"redemption_count":{"format":"int64","type":"integer"},"stones":{"format":"int32","type":"integer"},"students_redeemed":{"format":"int64","type":"integer"}},"required":["item_id","item_name","item_type","item_icon","item_icon_text","item_image","redemption_count","stones","students_redeemed"],"type":"object"},"SaveSheetBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"calendar_event_time_id":{"type":["string","null"]},"session_seq":{"format":"int32","maximum":8,"minimum":1,"type":"integer"},"start_at":{"format":"date-time","type":["string","null"]},"students":{"items":{"$ref":"#/components/schemas/MarkBody"},"maxItems":500,"minItems":1,"type":["array","null"]}},"required":["students"],"type":"object"},"SchoolBody":{"additionalProperties":false,"properties":{"id":{"format":"int64","type":["integer","null"]},"name":{"type":"string"}},"required":["id","name"],"type":"object"},"SessionBody":{"additionalProperties":false,"properties":{"calendar_event_time_id":{"type":["string","null"]},"end_at":{"format":"date-time","type":["string","null"]},"marked_count":{"format":"int32","type":"integer"},"roster_count":{"format":"int32","type":"integer"},"session_date":{"type":"string"},"session_no":{"format":"int32","type":"integer"},"session_seq":{"format":"int32","type":"integer"},"start_at":{"format":"date-time","type":["string","null"]}},"required":["session_date","session_seq","session_no","start_at","end_at","calendar_event_time_id","marked_count","roster_count"],"type":"object"},"SetMembersInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"learner_profile_ids":{"items":{"format":"int64","type":"integer"},"type":["array","null"]}},"type":"object"},"SettingsBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"approved_at":{"format":"date-time","type":["string","null"]},"created_at":{"format":"date-time","type":["string","null"]},"domain_id":{"format":"int64","type":["integer","null"]},"domain_name":{"type":["string","null"]},"exam_logo_image":{"$ref":"#/components/schemas/Image"},"feature_description":{"type":"string"},"feature_image":{"$ref":"#/components/schemas/Image"},"feature_title":{"type":"string"},"full_domain_name":{"type":["string","null"]},"login_title":{"type":"string"},"login_title_en":{"type":"string"},"logo_image":{"$ref":"#/components/schemas/Image"},"status":{"type":["string","null"]},"updated_at":{"format":"date-time","type":["string","null"]}},"required":["domain_id","domain_name","full_domain_name","status","approved_at","created_at","updated_at","login_title","login_title_en","feature_title","logo_image","exam_logo_image","feature_image"],"type":"object"},"SheetBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"class_id":{"format":"int64","type":"integer"},"class_name":{"type":"string"},"next_start_at":{"format":"date-time","type":["string","null"]},"prev_start_at":{"format":"date-time","type":["string","null"]},"session":{"$ref":"#/components/schemas/SessionBody"},"students":{"items":{"$ref":"#/components/schemas/StudentAttendanceBody"},"type":["array","null"]},"summary":{"$ref":"#/components/schemas/SheetSummaryBody"},"total_sessions":{"format":"int32","type":"integer"}},"required":["class_id","class_name","session","total_sessions","prev_start_at","next_start_at","summary","students"],"type":"object"},"SheetSummaryBody":{"additionalProperties":false,"properties":{"absent":{"format":"int64","type":"integer"},"excused":{"format":"int64","type":"integer"},"late":{"format":"int64","type":"integer"},"present":{"format":"int64","type":"integer"},"rate":{"format":"double","type":["number","null"]},"total":{"format":"int64","type":"integer"},"unmarked":{"format":"int64","type":"integer"}},"required":["present","absent","late","excused","unmarked","total","rate"],"type":"object"},"SilentStudentBody":{"additionalProperties":false,"properties":{"days_since":{"format":"int64","type":"integer"},"display_name":{"type":"string"},"has_active_day":{"type":"boolean"},"learner_profile_id":{"format":"int64","type":"integer"},"minutes":{"format":"int64","type":"integer"}},"required":["learner_profile_id","display_name","minutes","days_since","has_active_day"],"type":"object"},"SkillBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"amount":{"format":"int32","type":"integer"},"created_at":{"format":"date-time","type":"string"},"icon":{"type":"string"},"icon_text":{"type":["string","null"]},"id":{"type":"string"},"is_default":{"type":"boolean"},"name":{"type":"string"},"teacher_profile":{"$ref":"#/components/schemas/TeacherProfileBody"},"updated_at":{"format":"date-time","type":"string"}},"required":["id","teacher_profile","name","icon","icon_text","amount","is_default","created_at","updated_at"],"type":"object"},"SkillReportBody":{"additionalProperties":false,"properties":{"grant_count":{"format":"int64","type":"integer"},"skill_icon":{"type":"string"},"skill_icon_text":{"type":["string","null"]},"skill_id":{"type":["string","null"]},"skill_name":{"type":"string"},"stones":{"format":"int32","type":"integer"},"students_awarded":{"format":"int64","type":"integer"}},"required":["skill_id","skill_name","skill_icon","skill_icon_text","grant_count","stones","students_awarded"],"type":"object"},"StudentAttendanceBody":{"additionalProperties":false,"properties":{"avatar":{"$ref":"#/components/schemas/Image"},"custom_name":{"type":["string","null"]},"learner_profile_id":{"format":"int64","type":"integer"},"marked":{"type":"boolean"},"name":{"type":"string"},"note":{"type":["string","null"]},"status":{"enum":["PRESENT","ABSENT","LATE","EXCUSED"],"type":["string","null"]}},"required":["learner_profile_id","name","custom_name","avatar","marked","status","note"],"type":"object"},"StudentBody":{"additionalProperties":false,"properties":{"avatar":{"$ref":"#/components/schemas/Image"},"balance":{"format":"int32","type":"integer"},"custom_name":{"type":["string","null"]},"learner_profile_id":{"format":"int64","type":"integer"},"name":{"type":"string"}},"required":["learner_profile_id","name","custom_name","avatar","balance"],"type":"object"},"StudentDetailBody":{"additionalProperties":false,"properties":{"activities":{"items":{"$ref":"#/components/schemas/ActivityBody"},"type":["array","null"]},"can_nudge_zalo":{"type":"boolean"},"classes":{"items":{"$ref":"#/components/schemas/ClassBody"},"type":["array","null"]},"completed":{"format":"int64","type":"integer"},"display_name":{"type":"string"},"last_seen_at":{"format":"date-time","type":["string","null"]},"learner_profile_id":{"format":"int64","type":"integer"},"minutes":{"format":"int64","type":"integer"},"overdue_count":{"format":"int64","type":"integer"},"phone":{"type":"string"},"phone_number":{"type":["string","null"]},"week":{"items":{"$ref":"#/components/schemas/WeekDayBody"},"type":["array","null"]}},"required":["learner_profile_id","display_name","minutes","completed","classes","activities","last_seen_at","overdue_count","week","can_nudge_zalo","phone_number"],"type":"object"},"StudentRefBody":{"additionalProperties":false,"properties":{"activity_detail":{"type":"string"},"completed":{"format":"int64","type":"integer"},"display_name":{"type":"string"},"learner_profile_id":{"format":"int64","type":"integer"},"minutes":{"format":"int64","type":"integer"}},"required":["learner_profile_id","display_name","minutes"],"type":"object"},"StudentRewardBody":{"additionalProperties":false,"properties":{"affordable":{"type":"boolean"},"balance":{"format":"int32","type":"integer"},"class_id":{"format":"int64","type":["integer","null"]},"created_at":{"format":"date-time","type":"string"},"icon":{"type":["string","null"]},"icon_text":{"type":["string","null"]},"id":{"type":"string"},"image":{"$ref":"#/components/schemas/Image"},"name":{"type":"string"},"out_of_stock":{"type":"boolean"},"owned":{"type":"boolean"},"per_student_limit":{"format":"int32","type":["integer","null"]},"price":{"format":"int32","type":"integer"},"redeemable":{"type":"boolean"},"redeemed_count":{"format":"int32","type":"integer"},"scope":{"enum":["FLYER","SCHOOL","CLASS"],"type":"string"},"status":{"enum":["ACTIVE","HIDDEN"],"type":"string"},"stock":{"format":"int32","type":["integer","null"]},"stones_needed":{"format":"int32","type":"integer"},"type":{"enum":["VIRTUAL","PHYSICAL"],"type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["balance","owned","affordable","stones_needed","redeemable","id","scope","class_id","name","description","type","icon","icon_text","image","price","stock","per_student_limit","status","redeemed_count","out_of_stock","created_at","updated_at"],"type":"object"},"SummaryBody":{"additionalProperties":false,"properties":{"archived_check_point_count":{"format":"int32","type":"integer"},"bingo_subject_count":{"format":"int32","type":"integer"},"check_point_count":{"format":"int32","type":"integer"},"published_check_point_count":{"format":"int32","type":"integer"}},"required":["check_point_count","published_check_point_count","archived_check_point_count","bingo_subject_count"],"type":"object"},"TeacherProfileBody":{"additionalProperties":false,"properties":{"avatar":{"$ref":"#/components/schemas/Image"},"id":{"format":"int64","type":"integer"},"name":{"type":"string"}},"required":["id","name","avatar"],"type":"object"},"TransactionBody":{"additionalProperties":false,"properties":{"amount":{"format":"int32","type":"integer"},"balance_after":{"format":"int32","type":"integer"},"created_at":{"format":"date-time","type":"string"},"id":{"type":"string"},"learner_profile_id":{"format":"int64","type":"integer"},"still_in_class":{"type":"boolean"},"student_name":{"type":"string"}},"required":["id","learner_profile_id","student_name","amount","balance_after","still_in_class","created_at"],"type":"object"},"TransferBatchBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"handovers":{"additionalProperties":{"format":"int64","type":"integer"},"type":"object"},"member_ids":{"items":{"format":"int64","type":"integer"},"type":["array","null"]},"role_id":{"format":"int64","type":"integer"},"target_school_id":{"format":"int64","type":"integer"}},"required":["target_school_id","member_ids"],"type":"object"},"TransferBatchBodyOut":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"handed_over_assign_tests":{"format":"int64","type":"integer"},"handed_over_classes":{"format":"int64","type":"integer"},"moved":{"items":{"$ref":"#/components/schemas/TransferBatchMovedOut"},"type":["array","null"]},"skipped":{"items":{"format":"int64","type":"integer"},"type":["array","null"]},"to_school_id":{"format":"int64","type":"integer"}},"required":["to_school_id","moved","skipped","handed_over_classes","handed_over_assign_tests"],"type":"object"},"TransferBatchMovedOut":{"additionalProperties":false,"properties":{"handed_over_assign_tests":{"format":"int64","type":"integer"},"handed_over_classes":{"format":"int64","type":"integer"},"member_id":{"format":"int64","type":"integer"}},"required":["member_id","handed_over_classes","handed_over_assign_tests"],"type":"object"},"TransferBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"handover_teacher_profile_id":{"format":"int64","type":"integer"},"role_id":{"format":"int64","type":"integer"},"target_school_id":{"format":"int64","type":"integer"}},"required":["target_school_id"],"type":"object"},"TransferBodyOut":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"from_school_id":{"format":"int64","type":"integer"},"handed_over_assign_tests":{"format":"int64","type":"integer"},"handed_over_classes":{"format":"int64","type":"integer"},"member_id":{"format":"int64","type":"integer"},"to_school_id":{"format":"int64","type":"integer"}},"required":["member_id","from_school_id","to_school_id","handed_over_classes","handed_over_assign_tests"],"type":"object"},"UpdateInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"amount":{"format":"int32","maximum":999,"minimum":1,"type":"integer"},"icon":{"maxLength":64,"minLength":1,"type":"string"},"icon_text":{"maxLength":64,"type":"string"},"name":{"maxLength":255,"minLength":1,"type":"string"}},"type":"object"},"UpdateItemInputBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"clear_per_student_limit":{"type":"boolean"},"clear_stock":{"type":"boolean"},"icon":{"maxLength":64,"type":"string"},"icon_text":{"maxLength":64,"type":"string"},"image_id":{"maxLength":255,"type":"string"},"name":{"maxLength":255,"minLength":1,"type":"string"},"per_student_limit":{"format":"int32","maximum":999,"minimum":1,"type":"integer"},"price":{"format":"int32","maximum":99999,"minimum":1,"type":"integer"},"status":{"enum":["ACTIVE","HIDDEN"],"type":"string"},"stock":{"format":"int32","maximum":99999,"minimum":0,"type":"integer"},"type":{"enum":["VIRTUAL","PHYSICAL"],"type":"string"}},"type":"object"},"UpdatePrefsBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"cadence":{"enum":["DAILY","WEEKLY","MONTHLY"],"type":"string"},"daily_enabled":{"type":"boolean"},"extra_emails":{"items":{"type":"string"},"maxItems":5,"type":"array"},"include_inactive":{"type":"boolean"},"include_summary":{"type":"boolean"},"include_trend":{"type":"boolean"},"send_hour":{"format":"int64","maximum":23,"minimum":0,"type":"integer"}},"type":"object"},"UpdateSettingsBody":{"additionalProperties":false,"properties":{"$schema":{"format":"uri","readOnly":true,"type":"string"},"domain_name":{"type":"string"},"feature_description":{"type":"string"},"feature_image_id":{"type":"string"},"login_title":{"type":"string"},"login_title_en":{"type":"string"},"logo_image_id":{"type":"string"}},"type":"object"},"WeekDayBody":{"additionalProperties":false,"properties":{"completed":{"format":"int64","type":"integer"},"date":{"type":"string"},"minutes":{"format":"int64","type":"integer"}},"required":["date","minutes","completed"],"type":"object"}}},"info":{"title":"Flyer Teacher API","version":"0.1.0"},"openapi":"3.1.0","paths":{"/v4/teacher/attendance/overview":{"get":{"operationId":"teacher-get-attendance-overview","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"from","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"to","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttendanceOverviewBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Attendance class overview","tags":["teacher-attendance"]}},"/v4/teacher/attendance/report":{"get":{"operationId":"teacher-get-attendance-report","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"from","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"to","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttendanceReportBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Attendance school report","tags":["teacher-attendance"]}},"/v4/teacher/attendance/report/at-risk":{"get":{"operationId":"teacher-list-attendance-at-risk","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"from","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"to","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAtRiskStudentBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Attendance school report \u2014 students needing attention","tags":["teacher-attendance"]}},"/v4/teacher/attendance/sessions":{"get":{"operationId":"teacher-list-attendance-sessions","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSessionBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Attendance session list","tags":["teacher-attendance"]}},"/v4/teacher/attendance/sessions/{session_date}":{"get":{"operationId":"teacher-get-attendance-sheet","parameters":[{"in":"path","name":"session_date","required":true,"schema":{"pattern":"^(current|\\d{4}-\\d{2}-\\d{2})$","type":"string"}},{"explode":false,"in":"query","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"session_seq","schema":{"format":"int32","maximum":8,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"start_at","schema":{"type":"string"}},{"explode":false,"in":"query","name":"calendar_event_time_id","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SheetBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Attendance sheet \u2014 one session","tags":["teacher-attendance"]},"put":{"operationId":"teacher-save-attendance-sheet","parameters":[{"in":"path","name":"session_date","required":true,"schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveSheetBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SheetBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Attendance sheet \u2014 save","tags":["teacher-attendance"]}},"/v4/teacher/attendance/sessions/{session_date}/mark-all":{"post":{"operationId":"teacher-mark-all-attendance","parameters":[{"in":"path","name":"session_date","required":true,"schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkAllBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SheetBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Attendance sheet \u2014 quick attendance","tags":["teacher-attendance"]}},"/v4/teacher/bingo/proficiency/class":{"get":{"operationId":"teacher-get-proficiency-class","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"from","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"to","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"q","schema":{"maxLength":255,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProficiencyClassBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Class skill map","tags":["teacher-bingo"]}},"/v4/teacher/bingo/proficiency/students/{learner_profile_id}":{"get":{"operationId":"teacher-get-proficiency-student","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"in":"path","name":"learner_profile_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"from","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"to","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProficiencyStudentBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Student proficiency profile","tags":["teacher-bingo"]}},"/v4/teacher/bingo/settings":{"get":{"operationId":"teacher-get-bingo-settings","parameters":[{"explode":false,"in":"query","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BingoSettingsBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Bingo AI settings for one class","tags":["teacher-bingo"]},"put":{"operationId":"teacher-save-bingo-settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BingoSettingsBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BingoSettingsBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Save Bingo AI settings for one class","tags":["teacher-bingo"]}},"/v4/teacher/bingo/suggestions":{"get":{"operationId":"teacher-get-bingo-suggestions","parameters":[{"explode":false,"in":"query","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"from","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"to","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"q","schema":{"maxLength":255,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BingoSuggestionsBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Bingo AI suggestions waiting for approval","tags":["teacher-bingo"]}},"/v4/teacher/bingo/suggestions/alternatives":{"get":{"operationId":"teacher-get-bingo-alternatives","parameters":[{"explode":false,"in":"query","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"learner_profile_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"limit","schema":{"format":"int64","maximum":50,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"from","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"to","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BingoAlternativesBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Exercises one student's card can be swapped for","tags":["teacher-bingo"]}},"/v4/teacher/bingo/suggestions/approve":{"post":{"operationId":"teacher-approve-bingo-suggestions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BingoDecideInputBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BingoDecideBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Approve Bingo suggestions","tags":["teacher-bingo"]}},"/v4/teacher/bingo/suggestions/dismiss":{"post":{"operationId":"teacher-dismiss-bingo-suggestions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BingoDecideInputBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BingoDecideBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Dismiss Bingo suggestions","tags":["teacher-bingo"]}},"/v4/teacher/bingo/suggestions/select":{"post":{"operationId":"teacher-select-bingo-suggestion","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BingoSelectInputBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BingoSelectBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Swap one card for an exercise the teacher picked","tags":["teacher-bingo"]}},"/v4/teacher/internal/attendance/classes/{class_id}/overview":{"get":{"operationId":"teacher-internal-get-attendance-overview","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"in":"path","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"school_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"from","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"to","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttendanceOverviewBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Attendance class overview (server call)","tags":["teacher-attendance-internal"]}},"/v4/teacher/internal/attendance/classes/{class_id}/sessions":{"get":{"operationId":"teacher-internal-list-attendance-sessions","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"in":"path","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"school_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSessionBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Attendance session list (server call)","tags":["teacher-attendance-internal"]}},"/v4/teacher/internal/attendance/classes/{class_id}/sessions/{calendar_event_time_id}":{"get":{"operationId":"teacher-internal-get-attendance-sheet","parameters":[{"in":"path","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"in":"path","name":"calendar_event_time_id","required":true,"schema":{"minLength":1,"type":"string"}},{"explode":false,"in":"query","name":"school_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SheetBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Attendance sheet (server call)","tags":["teacher-attendance-internal"]},"put":{"operationId":"teacher-internal-save-attendance-sheet","parameters":[{"in":"path","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"in":"path","name":"calendar_event_time_id","required":true,"schema":{"minLength":1,"type":"string"}},{"explode":false,"in":"query","name":"school_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"teacher_profile_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalSaveBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SheetBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Attendance sheet save (server call)","tags":["teacher-attendance-internal"]}},"/v4/teacher/internal/attendance/classes/{class_id}/sessions/{calendar_event_time_id}/mark-all":{"post":{"operationId":"teacher-internal-mark-all-attendance","parameters":[{"in":"path","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"in":"path","name":"calendar_event_time_id","required":true,"schema":{"minLength":1,"type":"string"}},{"explode":false,"in":"query","name":"school_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"teacher_profile_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalMarkAllBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SheetBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Attendance quick mark (server call)","tags":["teacher-attendance-internal"]}},"/v4/teacher/library/list":{"get":{"operationId":"teacher-library-list","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"q","schema":{"type":"string"}},{"explode":false,"in":"query","name":"levels","schema":{"items":{"enum":["prea1","a1","a2","b1","b2","c1","c2"],"type":"string"},"type":["array","null"]}},{"explode":false,"in":"query","name":"types","schema":{"items":{"enum":["IELTS","PRACTICE","BINGO_SUBJECT"],"type":"string"},"type":["array","null"]}},{"explode":false,"in":"query","name":"skills","schema":{"items":{"enum":["listening","reading","writing","speaking"],"type":"string"},"type":["array","null"]}},{"explode":false,"in":"query","name":"status","schema":{"enum":["DRAFT","PUBLISHED","ARCHIVED"],"type":"string"}},{"explode":false,"in":"query","name":"topic_id","schema":{"format":"int64","type":"integer"}},{"explode":false,"in":"query","name":"practice_part_types","schema":{"items":{"enum":["MULTICHOICE","DROPDOWN","GAPFILL","REORDER","MATCH","DRAG_DROP","WORD_ORDERING","OPEN_ENDED","FLASHCARD","TRACING","PASSAGE","AUDIO_RESPONSE","INTERACTIVE_VIDEO","AUDIO_RESPONSE_PAGE","CONTENT"],"type":"string"},"type":["array","null"]}},{"explode":false,"in":"query","name":"order_by","schema":{"enum":["CREATED_AT","UPDATED_AT","NAME","NAME_EN","MAX_SCORE","DURATION","LEVELS_ORDER","TEST_COUNT"],"type":"string"}},{"explode":false,"in":"query","name":"order","schema":{"enum":["ASC","DESC"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LibraryListBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Unified library list (check_points + bingo_subjects)","tags":["teacher-library"]}},"/v4/teacher/mcp/connections":{"get":{"operationId":"teacher-mcp-connections","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectionBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Live third-party connections (ChatGPT, Claude)","tags":["teacher-mcp"]}},"/v4/teacher/mcp/connections/disconnect":{"post":{"operationId":"teacher-mcp-disconnect","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisconnectInputBody"}}},"required":true},"responses":{"204":{},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Disconnect one third-party client (ChatGPT, Claude)","tags":["teacher-mcp"]}},"/v4/teacher/onboarding-emails/go":{"get":{"operationId":"onboarding-email-go","parameters":[{"explode":false,"in":"query","name":"token","schema":{"type":"string"}}],"responses":{"302":{"headers":{"Location":{"schema":{"type":"string"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Open an onboarding email's call to action"}},"/v4/teacher/onboarding-emails/img/{name}":{"get":{"operationId":"onboarding-email-image","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"contentEncoding":"base64","type":"string"}}},"headers":{"Cache-Control":{"schema":{"type":"string"}},"Content-Type":{"schema":{"type":"string"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Onboarding email image"}},"/v4/teacher/onboarding-emails/preferences":{"get":{"operationId":"onboarding-email-preferences","parameters":[{"explode":false,"in":"query","name":"token","schema":{"type":"string"}}],"responses":{"200":{"content":{"text/html; charset=utf-8":{"schema":{"type":"string"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Onboarding email preferences page"},"post":{"operationId":"onboarding-email-preferences-apply","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrefsPostInputBody"}}},"required":true},"responses":{"200":{"content":{"text/html; charset=utf-8":{"schema":{"type":"string"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Apply an onboarding email preference"}},"/v4/teacher/school/domain":{"post":{"operationId":"teacher-create-domain","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDomainBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Create custom domain for current school","tags":["teacher-school"]}},"/v4/teacher/school/domain/resend":{"post":{"operationId":"teacher-resend-domain","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Resend custom domain approval request","tags":["teacher-school"]}},"/v4/teacher/school/members/batch":{"post":{"operationId":"teacher-add-school-members-batch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddBatchBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddBatchBodyOut"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Add several teachers to another school at once","tags":["teacher-school"]}},"/v4/teacher/school/members/transfers/batch":{"post":{"operationId":"teacher-transfer-school-members-batch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferBatchBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferBatchBodyOut"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Move several teachers to another school at once","tags":["teacher-school"]}},"/v4/teacher/school/members/{member_id}/transfer":{"post":{"operationId":"teacher-transfer-school-member","parameters":[{"in":"path","name":"member_id","required":true,"schema":{"format":"int64","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferBodyOut"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Move a teacher to another school","tags":["teacher-school"]}},"/v4/teacher/school/settings":{"get":{"operationId":"teacher-get-school-settings","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Get school branding and custom domain settings","tags":["teacher-school"]},"put":{"operationId":"teacher-update-school-settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSettingsBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Update school branding and custom domain settings","tags":["teacher-school"]}},"/v4/teacher/study-time/daily":{"get":{"operationId":"teacher-get-daily-study-report","parameters":[{"explode":false,"in":"query","name":"date","required":true,"schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"class_id","schema":{"format":"int64","minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DailyReportBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Get daily study report","tags":["teacher-study-report"]}},"/v4/teacher/study-time/prefs":{"get":{"operationId":"teacher-get-study-time-prefs","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrefsBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Get study time preferences","tags":["teacher-study-report"]},"put":{"operationId":"teacher-update-study-time-prefs","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePrefsBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrefsBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Update study time preferences","tags":["teacher-study-report"]}},"/v4/teacher/study-time/students/{learner_profile_id}/nudge":{"post":{"operationId":"teacher-nudge-student-zalo","parameters":[{"in":"path","name":"learner_profile_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NudgeStudentBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NudgeBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Send a Zalo nudge to an inactive student","tags":["teacher-study-report"]}},"/v4/teacher/ui-prefs/{key}":{"get":{"operationId":"teacher-ui-prefs-get","parameters":[{"in":"path","name":"key","required":true,"schema":{"maxLength":100,"pattern":"^[a-z0-9][a-z0-9_.-]{0,99}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrefBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Read one UI preference","tags":["teacher-ui-prefs"]},"put":{"operationId":"teacher-ui-prefs-put","parameters":[{"in":"path","name":"key","required":true,"schema":{"maxLength":100,"pattern":"^[a-z0-9][a-z0-9_.-]{0,99}$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutInputBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrefBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Replace one UI preference","tags":["teacher-ui-prefs"]}},"/v4/teacher/wisdom-stones/grants":{"post":{"operationId":"teacher-grant-wisdom-stones","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantDetailBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Give or take back wisdom stones","tags":["teacher-wisdom-stones"]}},"/v4/teacher/wisdom-stones/groups":{"get":{"operationId":"teacher-list-class-groups","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"q","schema":{"maxLength":255,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListGroupBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"List a class's groups","tags":["teacher-wisdom-stones"]},"post":{"operationId":"teacher-create-class-group","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupDetailBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Create a group in a class","tags":["teacher-wisdom-stones"]}},"/v4/teacher/wisdom-stones/groups/{group_id}":{"delete":{"operationId":"teacher-delete-class-group","parameters":[{"in":"path","name":"group_id","required":true,"schema":{"maxLength":64,"type":"string"}}],"responses":{"204":{},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Delete a group","tags":["teacher-wisdom-stones"]},"get":{"operationId":"teacher-get-class-group","parameters":[{"in":"path","name":"group_id","required":true,"schema":{"maxLength":64,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupDetailBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Get a group and its members","tags":["teacher-wisdom-stones"]},"patch":{"operationId":"teacher-rename-class-group","parameters":[{"in":"path","name":"group_id","required":true,"schema":{"maxLength":64,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenameInputBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupDetailBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Rename a group","tags":["teacher-wisdom-stones"]}},"/v4/teacher/wisdom-stones/groups/{group_id}/members":{"patch":{"operationId":"teacher-change-class-group-members","parameters":[{"in":"path","name":"group_id","required":true,"schema":{"maxLength":64,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeMembersInputBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupDetailBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Add and remove members","tags":["teacher-wisdom-stones"]},"put":{"operationId":"teacher-set-class-group-members","parameters":[{"in":"path","name":"group_id","required":true,"schema":{"maxLength":64,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetMembersInputBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupDetailBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Replace a group's members","tags":["teacher-wisdom-stones"]}},"/v4/teacher/wisdom-stones/histories":{"get":{"operationId":"teacher-list-wisdom-stone-history","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"learner_profile_id","schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"kind","schema":{"enum":["GRANTED","REVOKED","REDEEMED"],"type":"string"}},{"explode":false,"in":"query","name":"target_type","schema":{"enum":["STUDENT","GROUP"],"type":"string"}},{"explode":false,"in":"query","name":"group_id","schema":{"maxLength":64,"type":"string"}},{"explode":false,"in":"query","name":"from","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"to","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"q","schema":{"maxLength":255,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListHistoryEntryBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Wisdom stone history for a class","tags":["teacher-wisdom-stones"]}},"/v4/teacher/wisdom-stones/histories/{history_id}":{"get":{"operationId":"teacher-get-wisdom-stone-history","parameters":[{"in":"path","name":"history_id","required":true,"schema":{"maxLength":64,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantDetailBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"One history entry, with who received what","tags":["teacher-wisdom-stones"]}},"/v4/teacher/wisdom-stones/reports":{"get":{"operationId":"teacher-wisdom-stone-report","parameters":[{"explode":false,"in":"query","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"learner_profile_id","schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"from","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"to","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Points report for a class","tags":["teacher-wisdom-stones"]}},"/v4/teacher/wisdom-stones/skills":{"get":{"operationId":"teacher-list-wisdom-stone-skills","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSkillBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"List the wisdom stone skills you can grant","tags":["teacher-wisdom-stones"]},"post":{"operationId":"teacher-create-wisdom-stone-skill","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInputBody1"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Create a wisdom stone skill","tags":["teacher-wisdom-stones"]}},"/v4/teacher/wisdom-stones/skills/{skill_id}":{"delete":{"operationId":"teacher-delete-wisdom-stone-skill","parameters":[{"in":"path","name":"skill_id","required":true,"schema":{"maxLength":64,"type":"string"}}],"responses":{"204":{},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Delete one of your own wisdom stone skills","tags":["teacher-wisdom-stones"]},"patch":{"operationId":"teacher-update-wisdom-stone-skill","parameters":[{"in":"path","name":"skill_id","required":true,"schema":{"maxLength":64,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateInputBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Edit one of your own wisdom stone skills","tags":["teacher-wisdom-stones"]}},"/v4/teacher/wisdom-stones/store/items":{"get":{"operationId":"teacher-list-gift-store-items","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"class_id","schema":{"format":"int64","type":"integer"}},{"explode":false,"in":"query","name":"scope","schema":{"enum":["SCHOOL","CLASS"],"type":"string"}},{"explode":false,"in":"query","name":"status","schema":{"enum":["ACTIVE","HIDDEN"],"type":"string"}},{"explode":false,"in":"query","name":"item_type","schema":{"enum":["VIRTUAL","PHYSICAL"],"type":"string"}},{"explode":false,"in":"query","name":"q","schema":{"maxLength":255,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRewardBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"List your centre's rewards","tags":["teacher-gift-store"]},"post":{"operationId":"teacher-create-gift-store-item","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateItemInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Add a reward to your centre's store","tags":["teacher-gift-store"]}},"/v4/teacher/wisdom-stones/store/items/{item_id}":{"delete":{"operationId":"teacher-delete-gift-store-item","parameters":[{"in":"path","name":"item_id","required":true,"schema":{"maxLength":64,"type":"string"}}],"responses":{"204":{},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Delete one of your centre's rewards","tags":["teacher-gift-store"]},"patch":{"operationId":"teacher-update-gift-store-item","parameters":[{"in":"path","name":"item_id","required":true,"schema":{"maxLength":64,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateItemInputBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Edit one of your centre's rewards","tags":["teacher-gift-store"]}},"/v4/teacher/wisdom-stones/store/overview":{"get":{"operationId":"teacher-gift-store-overview","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverviewBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"The gift store's headline numbers","tags":["teacher-gift-store"]}},"/v4/teacher/wisdom-stones/store/redemptions":{"get":{"operationId":"teacher-list-gift-store-redemptions","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"status","schema":{"enum":["PENDING","APPROVED","REJECTED","CANCELLED"],"type":"string"}},{"explode":false,"in":"query","name":"class_id","schema":{"format":"int64","type":"integer"}},{"explode":false,"in":"query","name":"item_type","schema":{"enum":["VIRTUAL","PHYSICAL"],"type":"string"}},{"explode":false,"in":"query","name":"q","schema":{"maxLength":255,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRedemptionBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"List redemptions","tags":["teacher-gift-store"]},"post":{"operationId":"teacher-redeem-gift-store-item","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedeemInputBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedemptionBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Redeem a reward for a student","tags":["teacher-gift-store"]}},"/v4/teacher/wisdom-stones/store/redemptions/batch":{"post":{"operationId":"teacher-review-gift-store-redemptions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchReviewInputBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchReviewOutputBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Approve or refuse several requests at once","tags":["teacher-gift-store"]}},"/v4/teacher/wisdom-stones/store/redemptions/{redemption_id}/approve":{"post":{"operationId":"teacher-approve-gift-store-redemption","parameters":[{"in":"path","name":"redemption_id","required":true,"schema":{"maxLength":64,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedemptionBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Approve a pending request","tags":["teacher-gift-store"]}},"/v4/teacher/wisdom-stones/store/redemptions/{redemption_id}/reject":{"post":{"operationId":"teacher-reject-gift-store-redemption","parameters":[{"in":"path","name":"redemption_id","required":true,"schema":{"maxLength":64,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectInputBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedemptionBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"Refuse a pending request and return the stones","tags":["teacher-gift-store"]}},"/v4/teacher/wisdom-stones/students":{"get":{"operationId":"teacher-list-class-students","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"class_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"q","schema":{"maxLength":255,"type":"string"}},{"explode":false,"in":"query","name":"unassign_group_id","schema":{"maxLength":64,"type":"string"}},{"explode":false,"in":"query","name":"order_by","schema":{"enum":["NAME","BALANCE"],"type":"string"}},{"explode":false,"in":"query","name":"order","schema":{"enum":["ASC","DESC"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListStudentBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"List a class's students","tags":["teacher-wisdom-stones"]}},"/v4/teacher/wisdom-stones/students/{learner_profile_id}/ledger":{"get":{"operationId":"teacher-list-student-wisdom-stone-ledger","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"in":"path","name":"learner_profile_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"kind","schema":{"enum":["GRANTED","REVOKED","REDEEMED","REFUNDED"],"type":"string"}},{"explode":false,"in":"query","name":"from","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"explode":false,"in":"query","name":"to","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListLedgerEntryBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"One student's stone ledger: earned, spent and refunded","tags":["teacher-wisdom-stones"]}},"/v4/teacher/wisdom-stones/students/{learner_profile_id}/store-items":{"get":{"operationId":"teacher-list-student-gift-store-items","parameters":[{"explode":false,"in":"query","name":"limit","schema":{"default":20,"format":"int32","maximum":250,"minimum":1,"type":"integer"}},{"explode":false,"in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"in":"path","name":"learner_profile_id","required":true,"schema":{"format":"int64","minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListStudentRewardBody"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"summary":"What one student can spend their stones on","tags":["teacher-gift-store"]}}}}