세미클래스를 내 도구에 연결하세요

강의 일정을 가져오고, 배운 내용을 내 기록으로 남겨 보세요. 코드가 익숙하지 않아도 시작할 수 있는 공개 API 문서입니다.

나에게 편한 설명으로 읽으세요

시작하기

API는 AI나 프로그램이 세미클래스에 정보를 요청하는 통로예요. 강의 목록을 받아 일정표를 만들거나, 배운 내용을 내 후기로 남길 수 있어요.

  1. 아래에서 하고 싶은 일을 고르세요.
  2. ‘사용법’의 프롬프트를 복사해 AI에게 붙여넣으세요.
  3. API 키가 필요한 요청이면 키를 발급받고 내려받은 파일의 위치를 AI에게 알려 주세요.

처음이라면 ‘강의 목록 받기’부터 시작하세요. 로그인이나 API 키 없이 바로 사용해 볼 수 있어요.

키 원문은 대화에 붙여넣지 마세요. 파일은 내 기기에 보관하세요. 일반 채팅 AI는 직접 요청하지 못할 수 있으니, 요청을 실행할 수 있는 AI 도구를 사용하세요.

GET

강의 목록 받기

이 요청은?
공개된 강의 목록을 받기 위한 요청이에요.
필요한 것
로그인 필요 없음API 키 필요 없음
로그인도 API 키도 필요 없어요. 아래 프롬프트부터 사용해 보세요.
받는 것
강의 목록 — 강의 이름, 소개, 강의 시간, 강의 번호

강의 소개 목록을 받아요. 강의 자료 파일을 내려받는 요청은 아니에요.

사용법

아래 프롬프트를 복사해 API 요청을 실행할 수 있는 AI에게 붙여넣으세요.

강의 목록 받기 프롬프트
세미클래스의 공개 강의 목록을 가져와 줘.
GET https://semiclass.kr/api/v1/lectures?limit=20&offset=0 으로 요청해 줘. 로그인이나 API 키는 필요 없어.
응답의 lectures에서 title(강의명), subtitle(소개), duration_min(분)을 읽어 보기 쉬운 표로 정리해 줘.
목록이 20개이면 offset을 20씩 늘려 나머지도 확인해 줘. 429가 오면 60초 후 다시 시도해 줘.

GET

강의 일정 받기

이 요청은?
선택한 강의가 언제 열리는지, 내가 신청한 회차가 무엇인지 확인하는 요청이에요.
필요한 것
로그인 필요 · 키 발급 시API 키 필요
로그인해서 API 키를 한 번 발급받으세요. 요청할 때는 그 키와 강의 번호가 필요해요.
받는 것
강의 일정 목록 — 회차 이름, 시작·종료 시간, 진행 상태, 후기 작성 가능 여부

사용법

아래 프롬프트를 복사해 API 요청을 실행할 수 있는 AI에게 붙여넣으세요.

강의 일정 받기 프롬프트
세미클래스 강의 일정을 확인해 줘.
API 키는 로그인 후 https://semiclass.kr/my/developer 에서 내려받은 semiclass-api-key.json 파일을 내 기기에서 읽어 사용해 줘. 파일 경로를 먼저 물어봐 줘. 키 원문을 대화나 로그에 출력하거나 코드에 저장하지 마. 이 키는 MCP 연결 키와 달라.
먼저 GET https://semiclass.kr/api/v1/lectures 로 강의를 보여 주고 내가 고르게 해 줘.
선택한 강의의 id를 lectureId에 넣어 GET https://semiclass.kr/api/v1/cohorts?lectureId=선택한_ID&limit=20&offset=0 을 Authorization: Bearer <파일의 token> 헤더로 요청해 줘.
cohorts의 label, startsAt, endsAt, status를 한국 시간 기준 일정표로 정리해 줘. 빈 목록이면 조회 가능한 회차가 없다고 알려 줘.

키가 없다면 API 키 발급 페이지에서 로그인 후 내려받으세요. 요청할 때마다 웹에 로그인할 필요는 없어요.

GET

내 후기 확인하기

이 요청은?
특정 강의에 내가 남긴 수강 후기와 업무 적용 기록을 확인하는 요청이에요.
필요한 것
로그인 필요 · 키 발급 시API 키 필요
API 키와 강의 번호가 필요해요. 강의 번호는 ‘강의 목록 받기’에서 확인할 수 있어요.
받는 것
내 후기 한 건 — 별점, 배운 점, 업무에 적용할 내용, 공개 동의와 승인 상태

사용법

아래 프롬프트를 복사해 API 요청을 실행할 수 있는 AI에게 붙여넣으세요.

내 후기 확인하기 프롬프트
세미클래스에서 내가 남긴 후기를 확인해 줘.
API 키는 로그인 후 https://semiclass.kr/my/developer 에서 내려받은 semiclass-api-key.json 파일을 내 기기에서 읽어 사용해 줘. 파일 경로를 먼저 물어봐 줘. 키 원문을 대화나 로그에 출력하거나 코드에 저장하지 마. 이 키는 MCP 연결 키와 달라.
조회할 강의 ID(lectureId)를 물어봐 줘. 모르면 공개 강의 목록 조회로 내가 고르게 해 줘.
GET https://semiclass.kr/api/v1/reviews?lectureId=선택한_강의_ID 를 Authorization: Bearer <파일의 token> 헤더로 요청해 줘.
review의 rating, reflection, application, status를 정리해 줘. review가 null이면 아직 저장된 후기가 없다고 알려 줘. 다른 사람의 후기는 조회하지 마.

키가 없다면 API 키 발급 페이지에서 로그인 후 내려받으세요. 요청할 때마다 웹에 로그인할 필요는 없어요.

POST

내 후기 남기기

이 요청은?
선택한 강의에 배운 점과 업무에 적용할 내용을 새 후기로 저장하는 요청이에요.
필요한 것
로그인 필요 · 키 발급 시API 키 필요회차 신청 없이 작성 가능
API 키, 공개 강의 번호, 별점(1~5), 배운 점, 업무 적용 내용이 필요해요.
받는 것
저장된 내 후기 — 처음에는 공개 동의 없이 승인 대기 상태로 저장돼요

사용법

아래 프롬프트를 복사해 API 요청을 실행할 수 있는 AI에게 붙여넣으세요.

내 후기 남기기 프롬프트
세미클래스에 내 수강 후기를 남기는 것을 도와줘.
API 키는 로그인 후 https://semiclass.kr/my/developer 에서 내려받은 semiclass-api-key.json 파일을 내 기기에서 읽어 사용해 줘. 파일 경로를 먼저 물어봐 줘. 키 원문을 대화나 로그에 출력하거나 코드에 저장하지 마. 이 키는 MCP 연결 키와 달라.
강의 ID(lectureId), 별점(1~5), 배운 점(10~1200자), 업무 적용 내용(최대 1200자, 없으면 빈 문자열)을 한 번에 하나씩 물어봐 줘. 내용을 지어내지 마.
먼저 GET https://semiclass.kr/api/v1/reviews?lectureId=강의_ID 로 기존 후기를 확인해 줘. 있으면 웹에서 수정하도록 안내해 줘.
내가 입력한 최종 내용을 보여 주고 저장해도 되는지 확인받은 다음 POST https://semiclass.kr/api/v1/reviews 로 요청해 줘.
Authorization: Bearer <파일의 token>, Content-Type: application/json 헤더와 {"lectureId":강의_ID,"rating":별점,"reflection":"배운 점","application":"업무 적용 내용"} 본문을 사용해 줘.
201 응답일 때만 저장 완료라고 알려 줘. 409이면 덮어쓰지 말고 웹에서 확인하도록 안내해 줘. 응답을 못 받으면 GET으로 저장 여부부터 확인하고 POST를 자동 반복하지 마. 후기는 처음에 비공개로 저장돼.

키가 없다면 API 키 발급 페이지에서 로그인 후 내려받으세요. 요청할 때마다 웹에 로그인할 필요는 없어요.

다른 공개 API

아래 요청도 로그인·API 키 없이 사용할 수 있어요. 인증된 강의 자료나 개인 정보는 반환하지 않아요.

  • GET /api/public/wiki/{slug}

    공개 용어 설명을 받아요. 예: API 용어. 성공 시 {term: {slug, title, shortDefinition, plainSummary, category, relatedSlugs}}, 용어가 없으면 404예요.

  • GET /api/public/live-sessions

    진행 중인 공개 강의의 라이브 세션을 받아요. {sessions: [{code, lectureSlug, lectureTitle, artifactTitle, startedAt}]}이며 없으면 빈 목록이에요.

  • GET /api/health

    서비스 응답 상태를 확인해요. {status: "ok", timestamp: "ISO 시각"}을 받아요. 데이터베이스 전체 상태를 검사하는 요청은 아니에요.

이 문서는 외부 연동용 REST API를 다뤄요. AI 작업대의 MCP 연결은 MCP 연결 화면에서 설정할 수 있어요.