본문 바로가기
KLASSLAB API / V1

제공 기능 · 요금

필요한 기능을 선택하고 사용한 만큼 이용하세요.

제공하는 기능

API 구독 요금제

요금제API 단독 월 요금유료 웹 구독자 월 요금월 API 호출월 OMR 이미지재원생
베이직99,000원69,000원50,000회1,500장200명
프로199,000원149,000원150,000회4,000장500명
비즈니스349,000원289,000원500,000회9,000장2,000명

금액은 부가세 포함입니다. 웹 구독자 가격은 같은 계정의 유료 웹 구독이 활성 상태일 때 적용되며, 무료 웹 계정은 제외됩니다. 신규 결제·다음 갱신 시점의 웹 구독 상태에 따라 적용 요금이 달라집니다.

호출 횟수와 OMR 이미지 장수로 집계하며, 별도 크레딧 차감·추가 구매·한도 리셋은 없습니다. 미사용량은 다음 기간으로 이월되지 않습니다. 월 이용량과 별개로 분당 호출·동시 작업·파일 크기 등 서버 안전 제한은 유지합니다.

관리자가 요금과 한도를 조정하면 신규 신청 및 다음 갱신부터 적용하며, 현재 결제한 기간의 조건은 유지합니다. 일반 웹 구독료와 별도로 결제하며, 유료 웹 구독을 함께 이용하면 요금제별 웹 구독자 가격이 적용됩니다. 현재 조건은 API 콘솔에서 확인하세요.

구독 결제 취소·환불 안내

API는 월 구독으로 이용하며 크레딧 구매·한도 리셋·현금 출금을 지원하지 않습니다. 미사용량은 이월되지 않습니다.

결제 취소·청약철회·환불은 이용 내역과 관계 법령에 따라 처리합니다. 과오금·중복 결제·서비스 하자는 고객지원에 결제 내역과 사유를 알려 주세요. 이전 구매 잔여량과 결제 기록은 임의로 삭제하지 않으며 고객지원에서 별도 확인합니다.

구독과 이용량 집계

API와 MCP는 선택한 요금제의 월 호출량·OMR 이미지 한도를 함께 사용합니다. 접수된 호출은 업무 오류가 나도 집계되지만 같은 중복 방지 키로 반환한 기존 응답은 중복 집계하지 않습니다. OMR은 시도한 이미지 장수로 집계하며 인식 실패도 포함됩니다. 월 구독료 외에 호출별 금액을 청구하거나 크레딧을 차감하지 않습니다.

요금제 변경은 다음 갱신부터 적용합니다. 타인 양도·외부 결제·현금 출금은 불가능하며 결제 취소·환불은 별도 정책을 따릅니다.

API 구독 확인 →

페이지

API 구독 · 크레딧API 키 관리API 사용량 · 호출 로그문의 · 증액 신청

문서

MCP 연결KlassLab API · v1선생님 개발 가이드KlassLab API · v1KlassLab API 소개KlassLab API · v1빠른 시작KlassLab API · v1API 키KlassLab API · v1API 레퍼런스KlassLab API · v1제공 기능 · 요금KlassLab API · v1API ExplorerKlassLab API · v1

API 레퍼런스

등록된 온라인 과제·재시험 조회(온라인 번호·구분·진행 상태)온라인 과제·재시험 · GET /grading/online-exams온라인 시험 구분·응시대상 설정 현황온라인 과제·재시험 · GET /grading/online-exams/{onlineExamId}온라인 시험 구분 변경(연결된 재시험은 먼저 연결 해제)온라인 과제·재시험 · PATCH /grading/online-exams/{onlineExamId}/kind과제장 재시험 연결·해제할 등록 번호 조회과제장 재시험 연결 · GET /teaching/lessons/{lessonId}/retest재시험 연결·선택한 과제장 학생 응시 등록·재시험 대상 체크(원자적 저장)과제장 재시험 연결 · PUT /teaching/lessons/{lessonId}/retest조회한 연결 해제·개별 응시 등록 제거(공유 학생·반 등록·성적·출결 보존)과제장 재시험 연결 · DELETE /teaching/lessons/{lessonId}/retest미제출 명단 조회(재시험은 지정 응시대상, 통합은 두 시험 모두 성적 없음)미제출 명단 · GET /grading/exams/{examId}/missing-submissions직원 기본정보 상세(비밀번호·급여 제외)직원 출퇴근 · GET /attendance/staff/{staffId}직원 기본정보 등록(로그인 비밀번호 발급 없음)직원 출퇴근 · POST /attendance/staff직원 기본정보·입퇴사일 수정직원 출퇴근 · PUT /attendance/staff/{staffId}직원 퇴사 처리(근무 이력 보존)직원 출퇴근 · DELETE /attendance/staff/{staffId}전반 취소(새 반 수강번호 지정·이전 반 복원·취소 이력 보존)수강생관리 · POST /students/{id}/enrollments/{enrollmentId}/cancel-transfer수강 등록일 수정수강생관리 · PATCH /students/{id}/enrollments/{enrollmentId}수강 등록 삭제(출결·과제 기록이 있으면 거절)수강생관리 · DELETE /students/{id}/enrollments/{enrollmentId}학생 단일 필드 수정수강생관리 · PATCH /students/{id}퇴원 취소수강생관리 · POST /students/{id}/enrollments/{enrollmentId}/restore수강반 전반(원 수강 종료와 신규 등록을 함께 저장)수강생관리 · POST /students/{id}/enrollments/{enrollmentId}/moveTeaching teacher names and IDs, including teachers without classes; shared by classes, lessons and exams. Not employee time-clock staff.수강반관리 · GET /teams/teachers상담 담당자 선택 목록상담예약관리 · GET /consultations/staff생활기록 분류 목록학생생활기록 · GET /life-records/categories수강반·담당·시간표 목록. status=open 미종강(미래 개강·종강 포함), closed 종강, all 전체. 한국 오늘 기준. sort=id_desc 최신 등록번호순, begin_date_asc/desc 개강일순. appliedSort/appliedStatus 확인수강반관리 · GET /teams예정 수업·담당자·시각·고유 재원 인원. date의 하루 조회; lookAheadDays>0이면 그날부터 범위 안 첫 수업일 조회. 개강·종강·시간표 기간 적용, 저장 출석부 아님수강반관리 · GET /teams/daily-plan수강반 상세수강반관리 · GET /teams/{id}수강반 등록수강반관리 · POST /teams새 수강반과 시간표를 함께 등록(원자적 저장·하나라도 실패하면 전체 취소)수강반관리 · POST /teams/with-schedules수강반 수정 · 종강/종강 취소수강반관리 · PUT /teams/{id}수강반 삭제(재원생이 있으면 거절)수강반관리 · DELETE /teams/{id}수강반의 시간표 목록(id는 teamId이며 scheduleId 아님)수강반관리 · GET /teams/{id}/schedules시간표 등록수강반관리 · POST /teams/{id}/schedules시간표 수정수강반관리 · PUT /teams/{id}/schedules/{scheduleId}시간표 삭제(수업·재원생이 있으면 거절)수강반관리 · DELETE /teams/{id}/schedules/{scheduleId}학생 검색 · 목록(공백으로 구분한 이름·학생번호·연락처 중 하나라도 일치)수강생관리 · GET /students학생 기본정보수강생관리 · GET /students/{id}학생 기본정보 등록(수강 등록은 별도)수강생관리 · POST /students학생 기본정보 수정(전체 필드 교체)수강생관리 · PUT /students/{id}학생 삭제(재원 중이면 거절)수강생관리 · DELETE /students/{id}학생 수강 이력수강생관리 · GET /students/{id}/enrollments기존 학생 수강 등록수강생관리 · POST /enrollments퇴원 처리수강생관리 · PUT /students/{id}/enrollments/{enrollmentId}/end기간별 상담 예약상담예약관리 · GET /consultations상담 예약 상세상담예약관리 · GET /consultations/{id}상담 예약 등록상담예약관리 · POST /consultations상담 예약 변경 · 완료 · 취소상담예약관리 · PUT /consultations/{id}상담 예약 삭제상담예약관리 · DELETE /consultations/{id}생활기록 항목 정의학생생활기록 · GET /life-records/fields생활기록 항목 설정학생생활기록 · PUT /life-records/fields수강 시간표별 학생 생활기록학생생활기록 · GET /life-records학생 생활기록 저장(항목 값 병합)학생생활기록 · PUT /life-records학생 생활기록 삭제학생생활기록 · DELETE /life-records/{id}채점 과목 목록채점 과목 · GET /grading/subjects과목별 대분류 목록채점 과목 · GET /grading/subjects/{subject}/sections과목·대분류 등록채점 과목 · POST /grading/sections과목 내 대분류 수정채점 과목 · PUT /grading/sections/{sectionId}대분류 삭제(사용 중이면 거절)채점 과목 · DELETE /grading/sections/{sectionId}대분류의 소분류 목록채점 과목 · GET /grading/sections/{sectionId}/patterns소분류 등록채점 과목 · POST /grading/sections/{sectionId}/patterns소분류 수정채점 과목 · PUT /grading/sections/{sectionId}/patterns/{patternId}소분류 삭제(사용 중이면 거절)채점 과목 · DELETE /grading/sections/{sectionId}/patterns/{patternId}공식 OMR 양식별 총 칸 수·종류 목록·PDF/이미지 제공 정보. 개별 문항 번호·답안 종류·정답 입력 틀은 grading.answer-template.get에 있음. answerTypes는 필요한 종류 교집합 필터(0 객관식, 1 단답형 정답 비교, 2 서술형 획득점수). 미지정 필터는 생략. 양식 코드는 학원 시험 이름이 아님OMR 양식 정보 · GET /grading/omr-templates공식 빈 OMR PDF·이미지 원본 다운로드OMR 양식 정보 · GET /grading/omr-templates/{code}/files/{format}지정한 OMR 양식의 문항별 번호(number)·답안 종류(answerType)·정답·배점 입력 틀 배열. 특정 문항 범위의 종류 확인에도 사용. 0 객관식, 1 단답형 정답 비교, 2 서술형 획득점수. 실제 시험·채점 점수 조회가 아님정답지 등록 · GET /grading/omr-templates/{code}/answers시험·정답지 검색·목록(제목·회차·연도·학년으로 구별, 수강반 목록과 다름)정답지 등록 · GET /grading/exams시험과 전체 문항별 정답 상세정답지 등록 · GET /grading/exams/{examId}새 시험·정답지 등록(학생 답안 채점 아님)정답지 등록 · POST /grading/exams정답지 전체 교체(성적표 설정·문항 이미지 연결 보존)정답지 등록 · PUT /grading/exams/{examId}시험 삭제(채점 자료가 있으면 거절)정답지 등록 · DELETE /grading/exams/{examId}채점 점수·답안·코멘트 조회. 오답·보충·만점 대비 비율 분석은 includeAnalysis=true로 서버 판정을 사용. 빈 답안은 실제 무응답으로 단정하지 않고 미식별 학생은 추측하지 않음채점 자료 수정 · GET /grading/exams/{examId}/scores기존 시험에 학생 수기·엑셀 답안 채점·저장(결과는 학생별 번호 배열)채점 자료 수정 · POST /grading/exams/{examId}/scores개별·일괄 기존 채점 답안 수정 및 재채점. 기존 미식별 답안은 행 id와 빈 studentId로 학생 연결·인식 이름을 보존하며 수정. 정답지와 원본 marks 전체를 조회해 요청하지 않은 답안은 유지채점 자료 수정 · PUT /grading/exams/{examId}/scores채점 행 삭제채점 자료 수정 · DELETE /grading/exams/{examId}/scores/{scoreId}학생별 성적 개별 코멘트 저장채점 자료 수정 · PATCH /grading/exams/{examId}/scores/{scoreId}/commentOMR PDF 원본 업로드(최대 50MB·100쪽 / 페이지 자동 변환)작업 파일 · POST /grading/pdf-uploads채팅 첨부 OMR PDF 업로드(최대 50MB·100쪽 / 이미지·XLSX도 지원)작업 파일 · POST /grading/attachments보조 업로드: PNG·JPG 스캔 이미지·XLSX 답안 파일(파일당 5MB)작업 파일 · POST /grading/uploads단일·두 회차 OMR 채점 작업 등록(구독 OMR 장수 집계)OMR 채점 · POST /grading/omr-jobsXLSX 답안 등록 작업 생성엑셀 채점 등록 · POST /grading/exams/{examId}/excel-imports데이터 작업 진행 상태·인식 결과 조회작업 상태 · GET /grading/jobs/{jobId}정답 변경 후 점수·통계 재계산 작업 생성채점 자료 수정 · POST /grading/recalculation-jobs현재 API 호출·OMR 장수의 사용량과 구독 한도 확인OMR 채점 · GET /grading/usage날짜·반별 수업 기록·과제장 목록(수강반 목록 아님)수업·과제장 · GET /teaching/lessons과제장 수업과 항목 상세수업·과제장 · GET /teaching/lessons/{lessonId}수업·과제장 내용과 숙제 정의 등록(학생별 출석·과제완료는 학생별 결과 변경으로 별도 처리)수업·과제장 · POST /teaching/lessons수업·과제장 전체 수정수업·과제장 · PUT /teaching/lessons/{lessonId}수업·과제장 삭제와 연결 출석 정리수업·과제장 · DELETE /teaching/lessons/{lessonId}수업 목록의 lessonId로 저장된 출석·검사 조회(반·시간표 번호 아님, 빈 명단은 roster.add 후 기록)수업·과제장 · GET /teaching/lessons/{lessonId}/students수강 등록에서 선택한 일반 학생을 출석부에 추가수업·과제장 · POST /teaching/lessons/{lessonId}/students수업 학생 출석·결석·검사결과 부분 수정(입퇴실·수강등록 아님). 학생 코멘트는 rows[].values.comment에 전달하고 생략 항목은 보존수업·과제장 · PATCH /teaching/lessons/{lessonId}/results명단 학생 삭제(연결된 원래 결석 복원)수업·과제장 · DELETE /teaching/lessons/{lessonId}/students/{studentId}수업의 저장된 출석부 삭제수업·과제장 · DELETE /teaching/lessons/{lessonId}/attendance보강완료 연결 후보(같은 학생·타반·수업일 ±10일)수업·과제장 · GET /teaching/lessons/{lessonId}/students/{studentId}/makeup-candidates원래 수업의 현재 보강 연결·복원 출결 조회(해제 전 필수 확인)수업·과제장 · GET /teaching/lessons/{lessonId}/students/{studentId}/makeup-link조회한 보강 연결만 해제하고 보존된 원래 출결 복원. 보강생 행·과제·코멘트는 보존하며 확인값이 달라지면 거절수업·과제장 · PATCH /teaching/lessons/{lessonId}/students/{studentId}/makeup-link목적지 보강 수업 lessonId로 원래 결석 후보 조회(응답 originalLessonId에서 선택)수업·과제장 · GET /teaching/lessons/{lessonId}/absence-candidates목적지 lessonId에 선택한 원래 결석 originalLessonId를 연결해 보강생(8) 추가·원반 보강완료(7) 처리수업·과제장 · POST /teaching/lessons/{lessonId}/makeups연결된 OMR 점수를 과제장에 동기화수업·과제장 · POST /teaching/lessons/{lessonId}/score-sync선택 과제장의 학기·기간 일괄 변경수업·과제장 · PUT /teaching/seasons기간별 재검사 일정 목록재검사 일정 · GET /teaching/todos재검사 일정 상세재검사 일정 · GET /teaching/todos/{todoId}재검사 메모·날짜·처리 결과 저장재검사 일정 · PUT /teaching/todos/{todoId}기간별 누적 과제·시험·출결 결과. valueItems가 같은 수업의 제목·슬롯·표시 안내·결과를 연결. 값만으로 만점·단위를 추측하지 않음과제장 누적 성적표 · GET /teaching/cumulative-results반·날짜별 학생 이름·출결 상태·검사 조회. teamId와 from/to로 직접 조회하며 lessonId 불필요. 출결 단순 조회에 우선 사용수업일별 출석부 · GET /attendance/daily기간 내 전체 또는 선택 반의 학생별 출결 합계·결석 학생 명단 조회. 무결·유결 합계로 결석 구분, 타반 보강생 제외수강생별 출결현황 · GET /attendance/students학생 입퇴실 체크 내역입퇴실 체크 · GET /attendance/checks현재 시각 입실·퇴실 기록(수업 출석 아님·발송 없음)입퇴실 체크 · POST /attendance/checks학생 입퇴실 기록 삭제입퇴실 체크 · DELETE /attendance/checks/{checkId}기간별 클리닉 리뷰 목록클리닉 리뷰 · GET /teaching/clinic-reviews클리닉 리뷰 상세클리닉 리뷰 · GET /teaching/clinic-reviews/{reviewId}클리닉 리뷰 등록클리닉 리뷰 · POST /teaching/clinic-reviews클리닉 리뷰 전체 수정클리닉 리뷰 · PUT /teaching/clinic-reviews/{reviewId}클리닉 리뷰 삭제클리닉 리뷰 · DELETE /teaching/clinic-reviews/{reviewId}Time-clock employee identities, excluding passwords/payroll. Never use as the teaching teacher roster or teacher IDs.직원 출퇴근 · GET /attendance/staff기간별 직원 출퇴근·근무일지직원 출퇴근 · GET /attendance/staff/journals직원 출퇴근·근무일지 상세직원 출퇴근 · GET /attendance/staff/journals/{journalId}직원 출근·퇴근·근무일지 등록직원 출퇴근 · POST /attendance/staff/journals직원 출퇴근·근무일지 수정직원 출퇴근 · PUT /attendance/staff/journals/{journalId}직원 출퇴근 기록 삭제직원 출퇴근 · DELETE /attendance/staff/journals/{journalId}직원별 근무 일수·시간 합계직원 출퇴근 · GET /attendance/staff/summary교재비 항목 목록교재 출고 · GET /books교재비 항목 상세교재 출고 · GET /books/{bookId}교재비 항목 등록교재 출고 · POST /books교재비 항목 수정교재 출고 · PUT /books/{bookId}사용 이력이 없는 교재비 항목 삭제교재 출고 · DELETE /books/{bookId}기존 출고 부교재 이름 목록교재 출고 · GET /books/{bookId}/items원본 교재 번호(books.list/get id)별 출고·반품·수납 현황교재 출고 · GET /books/{bookId}/issues원본 교재·출고 번호의 학생별 현재 지급·반품·제외·금액·수납·메모 조회교재 출고 · GET /books/{bookId}/issues/{issueId}원본 교재 번호·학생·시간표로 학생별 교재 출고 등록교재 출고 · POST /books/{bookId}/issues원본 출고 조회 후 전체 값 수정(반품 해제·원복은 returned=false, 제외 해제·원복은 excluded=false, 다른 현재 값 보존)교재 출고 · PUT /books/{bookId}/issues/{issueId}청구에 사용하지 않은 출고 기록 삭제교재 출고 · DELETE /books/{bookId}/issues/{issueId}학생 이름 클릭 통합정보: 기본정보·수강 전체·최근 상담·시험성적·클리닉 요약학생 통합 정보 · GET /students/{id}/detail학생 통합정보 기본정보 조회(이름·번호·연락처·학교·학년·메모, 비밀번호 제외)학생 통합 정보 · GET /students/{id}/detail/profile학생 통합정보의 수강·퇴원·전반·종강·전반취소 이력과 이전 수강반 조회학생 통합 정보 · GET /students/{id}/detail/enrollments지정 학생 1명의 수업일별 출결·보강 이력(0=무결·4=유결은 결석, 5=출석·6=인강·7=보강완료·8=보강생과 구별)학생 통합 정보 · GET /students/{id}/detail/attendance학생 과제·시험 검사결과와 수업 회차·출결·코멘트. valueItems가 같은 수업의 실제 항목 제목·안내·결과를 연결, 빈 값은 미완료로 추측하지 않음학생 통합 정보 · GET /students/{id}/detail/homework학생 시험별 점수·평균·만점·등수 이력(오답 미제공, 공개 성적표 링크 발급 없음)학생 통합 정보 · GET /students/{id}/detail/scores학생의 원문 상담 내역·예약 유형·담당자·진행 상태 조회학생 통합 정보 · GET /students/{id}/detail/notes선택 학생의 특정 상담 원문·담당자·예약 일시·변경 검증 version 조회학생 통합 정보 · GET /students/{id}/detail/notes/{noteId}학생 통합정보에서 상담 기록 등록(선택한 담당자·유형·명시한 예약일만 사용)학생 통합 정보 · POST /students/{id}/detail/notes상담 원문·담당자·유형·예약 수정(생략한 값 보존·학원/학생/현재 version 원자적 검증)학생 통합 정보 · PATCH /students/{id}/detail/notes/{noteId}선택 학생의 상담 기록 삭제(현재 version 확인·소프트 삭제)학생 통합 정보 · DELETE /students/{id}/detail/notes/{noteId}학생 통합정보 상담 편집에서 실제 선택 가능한 담당자·예약 유형 목록학생 통합 정보 · GET /students/detail/note-options학생별 생활기록 이력과 실제 사용 설정된 항목 이름·값·도표 설정 조회학생 통합 정보 · GET /students/{id}/detail/life학생의 클리닉 예약·완료·취소·불참과 리뷰·메모 이력 조회학생 통합 정보 · GET /students/{id}/detail/clinics학생 통합정보의 할인율·형제 할인 연결 학생 이름과 번호 조회학생 통합 정보 · GET /students/{id}/detail/discounts학생별 문자·알림톡 발송 내용·수신번호·요청번호 이력 조회(발송 실행 없음)학생 통합 정보 · GET /students/{id}/detail/messages학생별 로그인 시각·접속 주소·구분 이력 조회학생 통합 정보 · GET /students/{id}/detail/logins반별 최근 학기·다음 회차와 실제 시간표에서 계산한 다음 수업일 후보(저장·자동 지정 없음)수업·과제장 · GET /teaching/teams/{id}/registration-defaults선택 과제장 제목과 현재 학생 공개 상태 조회수업·과제장 · GET /teaching/lessons/{lessonId}/publication학생에게 과제장 공개·비공개 변경(직전 공개 상태 일치 확인·수업 내용 보존)수업·과제장 · PATCH /teaching/lessons/{lessonId}/publication반별 전체 수강 이력(종료 포함·재원 인원 아님). 현재 학생 명단·인원은 students.list의 teamId 사용. 학생·수강번호·퇴원/전반/종강 사유수강반 관리 · GET /teams/{id}/detail/students과제장 등록에서 실제 선택 가능한 담당 선생님 이름과 번호수업·과제장 · GET /teaching/options/teachers실제 저장된 과제장 학기·기간 선택 목록수업·과제장 · GET /teaching/options/seasons담당 선생님의 복사 원본 과제장 선택 목록(조회만 하며 새 과제장을 만들지 않음)수업·과제장 · GET /teaching/options/copy-sources공유 템플릿 불러오기에서 실제 선택 가능한 과제장 목록수업·과제장 · GET /teaching/options/templates과제장의 시험 항목에 연결 가능한 담당 선생님의 채점지 이름과 번호수업·과제장 · GET /teaching/options/exams선택 수강반의 실제 시간표 목록(요일에 맞는 시간표를 임의 지정하지 않음)수업·과제장 · GET /teaching/teams/{id}/schedules반별 과제장 분류·교과·저장 양식과 실제 적용 양식 조회(시간표 자동 선택 없음)수업·과제장 · GET /teaching/teams/{id}/course반별 과제장 성적표 저장값·실제 적용 양식·이름·version 조회(미지정 0 등은 당일형 80, 82는 누적형)과제장 성적표 양식 설정 · GET /teaching/teams/{id}/report-settings반별 과제장 성적표를 당일형 80/누적형 82로 변경(현재 version 확인·다른 반 설정 보존)과제장 성적표 양식 설정 · PATCH /teaching/teams/{id}/report-settings클리닉 실제 예약·입실·퇴실·불참·취소 학생 명단 조회(상태 동기화나 메시지 발송 없음)클리닉 리뷰 · GET /teaching/clinic-appointments클리닉 리뷰 등록에서 저장된 리뷰 문구 목록 조회클리닉 리뷰 · GET /teaching/clinic-review-templates클리닉 문자 작성에서 저장된 문구 목록 조회(발송 없음)클리닉 리뷰 · GET /teaching/clinic-message-templates공유 문자 예제 분류 목록(학원 저장 문구와 분리)문자·알림톡 문구 · GET /messages/template-examples/categories공유 문자 예제 제목·분류·원문 조회(제목순·삭제 제외)문자·알림톡 문구 · GET /messages/template-examples현재 학원이 저장한 문자 문구 목록(공유 예제·AI 프롬프트 제외)문자·알림톡 문구 · GET /messages/templates저장된 문자 문구 원문·현재 변경 검증 version 조회문자·알림톡 문구 · GET /messages/templates/{templateId}학원 문자 문구 신규 저장(발송·AI 호출 없음)문자·알림톡 문구 · POST /messages/templates현재 학원의 문자 문구 제목·분류·내용 수정(현재 version 검증·공유 예제 수정 불가)문자·알림톡 문구 · PUT /messages/templates/{templateId}현재 학원 문자 문구 삭제(현재 version 검증·소프트 삭제)문자·알림톡 문구 · DELETE /messages/templates/{templateId}통계 조회 가능한 수강반·시간표 key 목록수강생 통계 조회 · GET /students/statistics/teams월별·연간 신규·재원·퇴원 고유 인원(명시 선택한 수강반 기준 전환)수강생 통계 조회 · GET /students/statistics/summary기간별 퇴원 명단. basis=academy는 학원 최종 퇴원, enrollment는 반별 퇴원 이력(다른 반 계속 수강도 포함). 반별 명단은 enrollment 사용. 원본 학생·반명·퇴원일, 전반·종강·전반취소 제외수강생 통계 조회 · GET /students/statistics/withdrawals통계 학생별 상세(학생 이름·번호 포함, month=0은 연간 월별 집합 합집합)수강생 통계 조회 · GET /students/statistics/students