본문 바로가기

DATA · OMR · YOUR NEXT IDEA

학생관리·OMR 채점,
API·MCP로 연결하세요.

선생님이 직접 만드는, 우리 수업만의 도구.
학생·수업·채점 데이터를 연결해 아이디어를 구현하세요.

Codex · Claude Code · Gemini CLI 등 MCP 지원 환경에서도 연결해 사용할 수 있어요.MCP 연결 안내 →

API 전용 계정으로 별도 가입 · 필요한 기능만 연결

YOUR DATA. CONNECTED POSSIBILITIES.
학생 · 수강반OMR · 채점수업 · 출결교재 · 출고
KlassLabAPI · MCP
나만의 서비스 ↗학습 분석 ↗업무 자동화 ↗MCP · AI 연결
V1 · 128 DATA ENDPOINTS

FROM A PROMPT TO A RESULT

PDF를 첨부하고,
채점까지 대화로.

필요한 양식을 받아 인쇄하고,
작성한 답안을 스캔해 첨부하세요.
시험 선택과 채점 동의 후 결과까지 이어집니다.

  1. 01
    OMR 양식 내려받기양식 목록 확인 · 원본 PDF 받기
  2. 02
    답안 첨부하고 요청하기작성·스캔한 OMR과 시험 목록 조회
  3. 03
    시험 선택하기목록에서 채점할 시험 번호 입력
  4. 04
    조건 확인 · 채점 동의장수, 채점 기준, 차감 크레딧 확인
  5. 05
    결과 확인하기점수와 확인이 필요한 답안까지
내 AI에 KlassLab 연결하기 ↗
KlassLab · MCP대화로 이어지는 채점 흐름
샘플 자동 재생
채점 과정을 불러오는 중
메시지를 입력하면 업무가 시작됩니다.

합성 데이터로 재구성한 시연입니다. 실제 API 호출·파일 업로드·크레딧 차감은 발생하지 않습니다.

YOUR FIRST REQUEST

하나의 요청으로
시작하는 연결.

선생님이 만든 서비스에는 API로, AI 도구에는 MCP로.
학생 데이터를 연결해 원하는 화면과 업무 흐름을 구성하세요.

첫 번째 요청 보내기 →
GET /v1/students
# 서버 환경변수에 키를 보관하세요
curl 'https://api.klasslab.com/v1/students'   -H "Authorization: Bearer $KLASSLAB_API_KEY"
JSON RESPONSE 합성 예시
{
  "data": { "items": [
    { "id": "00000001", "name": "예시 학생" }
  ] },
  "meta": { "requestId": "example-request-id" }
}

BUILT FOR YOUR WORKFLOW

필요한 데이터만.
원하는 방식으로.

전체 API 살펴보기 ↗

THE ENGINE BEHIND YOUR SERVICE

복잡한 답안 처리,
검증된 OMR 기술로.

스캔 이미지를 올리고, 인식된 답안과 채점 결과를 받으세요. 성적표나 분석 화면은 내 서비스에 맞게 자유롭게 구성할 수 있습니다.

OMR API 확인하기 ↗
OMR PROCESSING샘플 데이터
  1. 01

    답안 파일 업로드

    PDF · PNG · JPG를 채점할 시험과 연결

    업로드 완료
    PDF
    수학_2단원_OMR.pdf10페이지 · 시험 50246
  2. 02

    답안 인식 · 채점

    채점 기준과 크레딧 차감 확인 후 실행

    처리 완료
    처리한 답안10장
    학생 연결 완료9명
    학생 확인 필요1장
  3. 03

    결과 데이터 활용

    점수 · 인식 답안 · 확인 항목을 내 서비스로

    결과 저장
    20점 만점 채점 결과 일부
    학생인식 답안점수상태
    예시 학생 A③ ② ④ ① …18 / 20학생 연결
    예시 학생 B③ ② ④ ① …20 / 20학생 연결
    이름 미인식③ ② ⑤ ① …16 / 20확인 필요
답안 인식부터 결과 저장까지성적표 · 분석 · 학원 업무에 활용 ↗

API · MCP SUBSCRIPTION

웹 서비스와 별도로.
당신의 서비스에 필요한 만큼.

베이직·프로·언리미티드 중 업무 규모에 맞는 요금제를 선택하세요.
API 호출 횟수와 OMR 이미지 장수로 이용량을 확인합니다.
크레딧 차감이나 별도 구매·한도 리셋 없이 이용하세요.

API 전용 계정으로 별도 가입웹 1개월 이용은 권장 사항기능별 키 권한 · 사용량 · 호출 로그

HTTP API로 직접 구현하거나, MCP를 지원하는 AI에 연결해 대화로 이용할 수 있습니다.

페이지

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