{"openapi":"3.1.0","info":{"title":"MolluLog API","version":"1","description":"학생 검색과 모집 학생 상태 읽기·쓰기를 위한 API예요."},"servers":[{"url":"https://api.mollulog.net/v1"}],"tags":[{"name":"Students","description":"학생 검색과 모집 학생 상태 관리"}],"paths":{"/students":{"get":{"operationId":"findStudents","tags":["Students"],"summary":"학생 찾기","description":"학생 읽기 권한이 필요해요.","x-required-permission":"read","parameters":[{"name":"query","in":"query","required":true,"description":"학생 UID 또는 이름 검색어 (1–200자)","schema":{"type":"string","minLength":1,"maxLength":200},"example":"아루"},{"name":"limit","in":"query","required":false,"description":"기본 50 · 최대 100","schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"example":50},{"name":"cursor","in":"query","required":false,"description":"이전 응답에서 받은 nextCursor","schema":{"type":"string"},"example":"<CURSOR>"}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"성공 (200)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentSearchResponse"},"example":{"students":[{"studentUid":"10000","name":"아루"}],"nextCursor":null}}}},"400":{"description":"invalid_request: 잘못된 요청","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"invalid_request":{"summary":"잘못된 요청","value":{"error":{"code":"invalid_request","message":"요청 내용을 확인해주세요.","docs":"https://mollulog.net/developers/docs#error-invalid_request"}}}}}}},"401":{"description":"unauthorized: 인증 실패","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"unauthorized":{"summary":"인증 실패","value":{"error":{"code":"unauthorized","message":"인증 실패","docs":"https://mollulog.net/developers/docs#error-unauthorized"}}}}}}},"403":{"description":"forbidden: 권한 없음","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"forbidden":{"summary":"권한 없음","value":{"error":{"code":"forbidden","message":"권한 없음","docs":"https://mollulog.net/developers/docs#error-forbidden"}}}}}}},"429":{"description":"rate_limited: 요청 한도 초과","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"rate_limited":{"summary":"요청 한도 초과","value":{"error":{"code":"rate_limited","message":"요청 한도 초과","docs":"https://mollulog.net/developers/docs#error-rate_limited"}}}}}}},"500":{"description":"internal_error: 서버 오류","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"internal_error":{"summary":"서버 오류","value":{"error":{"code":"internal_error","message":"서버 오류","docs":"https://mollulog.net/developers/docs#error-internal_error"}}}}}}},"503":{"description":"unavailable: 잠시 사용할 수 없음","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"unavailable":{"summary":"잠시 사용할 수 없음","value":{"error":{"code":"unavailable","message":"잠시 사용할 수 없음","docs":"https://mollulog.net/developers/docs#error-unavailable"}}}}}}}}}},"/me/students":{"get":{"operationId":"listRecruitedStudents","tags":["Students"],"summary":"모집 학생 목록","description":"학생 읽기 권한이 필요해요.","x-required-permission":"read","parameters":[{"name":"limit","in":"query","required":false,"description":"기본 50 · 최대 100","schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"example":50},{"name":"cursor","in":"query","required":false,"description":"이전 응답에서 받은 nextCursor","schema":{"type":"string"},"example":"<CURSOR>"}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"성공 (200)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecruitedStudentListResponse"},"example":{"students":[{"studentUid":"10000","tier":5,"weaponTier":0,"level":90,"skillEx":5,"skillNormal":10,"skillEnhanced":10,"skillSub":10,"equip1":10,"equip2":10,"equip3":10,"equip1Level":70,"equip2Level":70,"equip3Level":70,"equipSpecial":2,"weaponLevel":0,"abilityHp":0,"abilityAtk":0,"abilityHeal":0,"bond":20,"bondExp":1845}],"nextCursor":null}}}},"400":{"description":"invalid_request: 잘못된 요청","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"invalid_request":{"summary":"잘못된 요청","value":{"error":{"code":"invalid_request","message":"요청 내용을 확인해주세요.","docs":"https://mollulog.net/developers/docs#error-invalid_request"}}}}}}},"401":{"description":"unauthorized: 인증 실패","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"unauthorized":{"summary":"인증 실패","value":{"error":{"code":"unauthorized","message":"인증 실패","docs":"https://mollulog.net/developers/docs#error-unauthorized"}}}}}}},"403":{"description":"forbidden: 권한 없음","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"forbidden":{"summary":"권한 없음","value":{"error":{"code":"forbidden","message":"권한 없음","docs":"https://mollulog.net/developers/docs#error-forbidden"}}}}}}},"429":{"description":"rate_limited: 요청 한도 초과","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"rate_limited":{"summary":"요청 한도 초과","value":{"error":{"code":"rate_limited","message":"요청 한도 초과","docs":"https://mollulog.net/developers/docs#error-rate_limited"}}}}}}},"500":{"description":"internal_error: 서버 오류","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"internal_error":{"summary":"서버 오류","value":{"error":{"code":"internal_error","message":"서버 오류","docs":"https://mollulog.net/developers/docs#error-internal_error"}}}}}}},"503":{"description":"unavailable: 잠시 사용할 수 없음","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"unavailable":{"summary":"잠시 사용할 수 없음","value":{"error":{"code":"unavailable","message":"잠시 사용할 수 없음","docs":"https://mollulog.net/developers/docs#error-unavailable"}}}}}}}}},"post":{"operationId":"registerRecruitedStudent","tags":["Students"],"summary":"모집 학생 등록","description":"학생 쓰기 권한이 필요해요.","x-required-permission":"write","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentRegistration"},"example":{"studentUid":"10000","tier":5,"weaponTier":0,"level":90}}}},"security":[{"bearerAuth":[]}],"responses":{"201":{"description":"성공 (201)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentWriteResponse"},"example":{"studentUid":"10000"}}}},"400":{"description":"invalid_request: 잘못된 요청","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"invalid_request":{"summary":"잘못된 요청","value":{"error":{"code":"invalid_request","message":"요청 내용을 확인해주세요.","docs":"https://mollulog.net/developers/docs#error-invalid_request"}}}}}}},"401":{"description":"unauthorized: 인증 실패","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"unauthorized":{"summary":"인증 실패","value":{"error":{"code":"unauthorized","message":"인증 실패","docs":"https://mollulog.net/developers/docs#error-unauthorized"}}}}}}},"403":{"description":"forbidden: 권한 없음","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"forbidden":{"summary":"권한 없음","value":{"error":{"code":"forbidden","message":"권한 없음","docs":"https://mollulog.net/developers/docs#error-forbidden"}}}}}}},"404":{"description":"not_found: 찾을 수 없음","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"not_found":{"summary":"찾을 수 없음","value":{"error":{"code":"not_found","message":"찾을 수 없음","docs":"https://mollulog.net/developers/docs#error-not_found"}}}}}}},"409":{"description":"student_already_recruited: 이미 등록한 학생","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"student_already_recruited":{"summary":"이미 등록한 학생","value":{"error":{"code":"student_already_recruited","message":"이미 등록한 학생","docs":"https://mollulog.net/developers/docs#error-student_already_recruited"}}}}}}},"429":{"description":"rate_limited: 요청 한도 초과","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"rate_limited":{"summary":"요청 한도 초과","value":{"error":{"code":"rate_limited","message":"요청 한도 초과","docs":"https://mollulog.net/developers/docs#error-rate_limited"}}}}}}},"500":{"description":"internal_error: 서버 오류","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"internal_error":{"summary":"서버 오류","value":{"error":{"code":"internal_error","message":"서버 오류","docs":"https://mollulog.net/developers/docs#error-internal_error"}}}}}}},"503":{"description":"unavailable: 잠시 사용할 수 없음","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"unavailable":{"summary":"잠시 사용할 수 없음","value":{"error":{"code":"unavailable","message":"잠시 사용할 수 없음","docs":"https://mollulog.net/developers/docs#error-unavailable"}}}}}}}}}},"/me/students/{studentUid}":{"get":{"operationId":"getRecruitedStudent","tags":["Students"],"summary":"모집 학생 조회","description":"학생 읽기 권한이 필요해요.","x-required-permission":"read","parameters":[{"name":"studentUid","in":"path","required":true,"description":"학생 찾기로 얻은 UID","schema":{"type":"string"},"example":"10000"}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"성공 (200)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecruitedStudentResponse"},"example":{"studentUid":"10000","tier":5,"weaponTier":0,"level":90,"skillEx":5,"skillNormal":10,"skillEnhanced":10,"skillSub":10,"equip1":10,"equip2":10,"equip3":10,"equip1Level":70,"equip2Level":70,"equip3Level":70,"equipSpecial":2,"weaponLevel":0,"abilityHp":0,"abilityAtk":0,"abilityHeal":0,"bond":20,"bondExp":1845}}}},"400":{"description":"invalid_request: 잘못된 요청","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"invalid_request":{"summary":"잘못된 요청","value":{"error":{"code":"invalid_request","message":"요청 내용을 확인해주세요.","docs":"https://mollulog.net/developers/docs#error-invalid_request"}}}}}}},"401":{"description":"unauthorized: 인증 실패","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"unauthorized":{"summary":"인증 실패","value":{"error":{"code":"unauthorized","message":"인증 실패","docs":"https://mollulog.net/developers/docs#error-unauthorized"}}}}}}},"403":{"description":"forbidden: 권한 없음","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"forbidden":{"summary":"권한 없음","value":{"error":{"code":"forbidden","message":"권한 없음","docs":"https://mollulog.net/developers/docs#error-forbidden"}}}}}}},"404":{"description":"not_found: 찾을 수 없음; student_not_recruited: 등록하지 않은 학생","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"not_found":{"summary":"찾을 수 없음","value":{"error":{"code":"not_found","message":"찾을 수 없음","docs":"https://mollulog.net/developers/docs#error-not_found"}}},"student_not_recruited":{"summary":"등록하지 않은 학생","value":{"error":{"code":"student_not_recruited","message":"등록하지 않은 학생","docs":"https://mollulog.net/developers/docs#error-student_not_recruited"}}}}}}},"429":{"description":"rate_limited: 요청 한도 초과","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"rate_limited":{"summary":"요청 한도 초과","value":{"error":{"code":"rate_limited","message":"요청 한도 초과","docs":"https://mollulog.net/developers/docs#error-rate_limited"}}}}}}},"500":{"description":"internal_error: 서버 오류","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"internal_error":{"summary":"서버 오류","value":{"error":{"code":"internal_error","message":"서버 오류","docs":"https://mollulog.net/developers/docs#error-internal_error"}}}}}}},"503":{"description":"unavailable: 잠시 사용할 수 없음","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"unavailable":{"summary":"잠시 사용할 수 없음","value":{"error":{"code":"unavailable","message":"잠시 사용할 수 없음","docs":"https://mollulog.net/developers/docs#error-unavailable"}}}}}}}}},"patch":{"operationId":"patchRecruitedStudent","tags":["Students"],"summary":"모집 학생 수정","description":"학생 쓰기 권한이 필요해요.","x-required-permission":"write","parameters":[{"name":"studentUid","in":"path","required":true,"description":"학생 찾기로 얻은 UID","schema":{"type":"string"},"example":"10000"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentPatch"},"example":{"level":90,"bond":20}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"성공 (200)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentWriteResponse"},"example":{"studentUid":"10000"}}}},"400":{"description":"invalid_request: 잘못된 요청","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"invalid_request":{"summary":"잘못된 요청","value":{"error":{"code":"invalid_request","message":"요청 내용을 확인해주세요.","docs":"https://mollulog.net/developers/docs#error-invalid_request"}}}}}}},"401":{"description":"unauthorized: 인증 실패","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"unauthorized":{"summary":"인증 실패","value":{"error":{"code":"unauthorized","message":"인증 실패","docs":"https://mollulog.net/developers/docs#error-unauthorized"}}}}}}},"403":{"description":"forbidden: 권한 없음","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"forbidden":{"summary":"권한 없음","value":{"error":{"code":"forbidden","message":"권한 없음","docs":"https://mollulog.net/developers/docs#error-forbidden"}}}}}}},"404":{"description":"not_found: 찾을 수 없음; student_not_recruited: 등록하지 않은 학생","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"not_found":{"summary":"찾을 수 없음","value":{"error":{"code":"not_found","message":"찾을 수 없음","docs":"https://mollulog.net/developers/docs#error-not_found"}}},"student_not_recruited":{"summary":"등록하지 않은 학생","value":{"error":{"code":"student_not_recruited","message":"등록하지 않은 학생","docs":"https://mollulog.net/developers/docs#error-student_not_recruited"}}}}}}},"429":{"description":"rate_limited: 요청 한도 초과","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"rate_limited":{"summary":"요청 한도 초과","value":{"error":{"code":"rate_limited","message":"요청 한도 초과","docs":"https://mollulog.net/developers/docs#error-rate_limited"}}}}}}},"500":{"description":"internal_error: 서버 오류","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"internal_error":{"summary":"서버 오류","value":{"error":{"code":"internal_error","message":"서버 오류","docs":"https://mollulog.net/developers/docs#error-internal_error"}}}}}}},"503":{"description":"unavailable: 잠시 사용할 수 없음","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"unavailable":{"summary":"잠시 사용할 수 없음","value":{"error":{"code":"unavailable","message":"잠시 사용할 수 없음","docs":"https://mollulog.net/developers/docs#error-unavailable"}}}}}}}}},"delete":{"operationId":"deleteRecruitedStudent","tags":["Students"],"summary":"모집 학생 삭제","description":"학생 쓰기 권한이 필요해요.","x-required-permission":"write","parameters":[{"name":"studentUid","in":"path","required":true,"description":"학생 찾기로 얻은 UID","schema":{"type":"string"},"example":"10000"}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"성공 (200)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentDeleteResponse"},"example":{"studentUid":"10000","deleted":true}}}},"400":{"description":"invalid_request: 잘못된 요청","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"invalid_request":{"summary":"잘못된 요청","value":{"error":{"code":"invalid_request","message":"요청 내용을 확인해주세요.","docs":"https://mollulog.net/developers/docs#error-invalid_request"}}}}}}},"401":{"description":"unauthorized: 인증 실패","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"unauthorized":{"summary":"인증 실패","value":{"error":{"code":"unauthorized","message":"인증 실패","docs":"https://mollulog.net/developers/docs#error-unauthorized"}}}}}}},"403":{"description":"forbidden: 권한 없음","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"forbidden":{"summary":"권한 없음","value":{"error":{"code":"forbidden","message":"권한 없음","docs":"https://mollulog.net/developers/docs#error-forbidden"}}}}}}},"404":{"description":"not_found: 찾을 수 없음; student_not_recruited: 등록하지 않은 학생","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"not_found":{"summary":"찾을 수 없음","value":{"error":{"code":"not_found","message":"찾을 수 없음","docs":"https://mollulog.net/developers/docs#error-not_found"}}},"student_not_recruited":{"summary":"등록하지 않은 학생","value":{"error":{"code":"student_not_recruited","message":"등록하지 않은 학생","docs":"https://mollulog.net/developers/docs#error-student_not_recruited"}}}}}}},"429":{"description":"rate_limited: 요청 한도 초과","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"rate_limited":{"summary":"요청 한도 초과","value":{"error":{"code":"rate_limited","message":"요청 한도 초과","docs":"https://mollulog.net/developers/docs#error-rate_limited"}}}}}}},"500":{"description":"internal_error: 서버 오류","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"internal_error":{"summary":"서버 오류","value":{"error":{"code":"internal_error","message":"서버 오류","docs":"https://mollulog.net/developers/docs#error-internal_error"}}}}}}},"503":{"description":"unavailable: 잠시 사용할 수 없음","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"},"examples":{"unavailable":{"summary":"잠시 사용할 수 없음","value":{"error":{"code":"unavailable","message":"잠시 사용할 수 없음","docs":"https://mollulog.net/developers/docs#error-unavailable"}}}}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API key"}},"schemas":{"StudentRegistration":{"type":"object","additionalProperties":false,"properties":{"studentUid":{"type":"string","minLength":1},"tier":{"type":"integer","minimum":1,"maximum":5,"description":"학생 성급"},"weaponTier":{"type":"integer","minimum":0,"maximum":4,"description":"고유무기 성급"},"level":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"학생 Lv"},"skillEx":{"type":["integer","null"],"minimum":1,"maximum":5,"description":"EX 스킬"},"skillNormal":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"기본 스킬"},"skillEnhanced":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"강화 스킬"},"skillSub":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"서브 스킬"},"equip1":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"장비 1 티어"},"equip2":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"장비 2 티어"},"equip3":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"장비 3 티어"},"equip1Level":{"type":["integer","null"],"minimum":1,"maximum":70,"description":"장비 1 레벨"},"equip2Level":{"type":["integer","null"],"minimum":1,"maximum":70,"description":"장비 2 레벨"},"equip3Level":{"type":["integer","null"],"minimum":1,"maximum":70,"description":"장비 3 레벨"},"equipSpecial":{"type":["integer","null"],"minimum":1,"maximum":2,"description":"애용품"},"weaponLevel":{"type":["integer","null"],"minimum":0,"maximum":60,"description":"고유무기 Lv"},"abilityHp":{"type":["integer","null"],"minimum":0,"maximum":25,"description":"능력 해방 (HP)"},"abilityAtk":{"type":["integer","null"],"minimum":0,"maximum":25,"description":"능력 해방 (공격력)"},"abilityHeal":{"type":["integer","null"],"minimum":0,"maximum":25,"description":"능력 해방 (치유력)"},"bond":{"type":["integer","null"],"minimum":1,"maximum":100,"description":"인연 랭크"},"bondExp":{"type":["integer","null"],"minimum":0,"maximum":240225,"description":"인연 누적 경험치"}},"required":["studentUid","tier","weaponTier"]},"StudentPatch":{"type":"object","additionalProperties":false,"minProperties":1,"properties":{"tier":{"type":"integer","minimum":1,"maximum":5,"description":"학생 성급"},"weaponTier":{"type":"integer","minimum":0,"maximum":4,"description":"고유무기 성급"},"level":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"학생 Lv"},"skillEx":{"type":["integer","null"],"minimum":1,"maximum":5,"description":"EX 스킬"},"skillNormal":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"기본 스킬"},"skillEnhanced":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"강화 스킬"},"skillSub":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"서브 스킬"},"equip1":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"장비 1 티어"},"equip2":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"장비 2 티어"},"equip3":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"장비 3 티어"},"equip1Level":{"type":["integer","null"],"minimum":1,"maximum":70,"description":"장비 1 레벨"},"equip2Level":{"type":["integer","null"],"minimum":1,"maximum":70,"description":"장비 2 레벨"},"equip3Level":{"type":["integer","null"],"minimum":1,"maximum":70,"description":"장비 3 레벨"},"equipSpecial":{"type":["integer","null"],"minimum":1,"maximum":2,"description":"애용품"},"weaponLevel":{"type":["integer","null"],"minimum":0,"maximum":60,"description":"고유무기 Lv"},"abilityHp":{"type":["integer","null"],"minimum":0,"maximum":25,"description":"능력 해방 (HP)"},"abilityAtk":{"type":["integer","null"],"minimum":0,"maximum":25,"description":"능력 해방 (공격력)"},"abilityHeal":{"type":["integer","null"],"minimum":0,"maximum":25,"description":"능력 해방 (치유력)"},"bond":{"type":["integer","null"],"minimum":1,"maximum":100,"description":"인연 랭크"},"bondExp":{"type":["integer","null"],"minimum":0,"maximum":240225,"description":"인연 누적 경험치"}}},"StudentSummary":{"type":"object","additionalProperties":false,"properties":{"studentUid":{"type":"string"},"name":{"type":"string"}},"required":["studentUid","name"]},"StudentSearchResponse":{"type":"object","additionalProperties":false,"properties":{"students":{"type":"array","items":{"$ref":"#/components/schemas/StudentSummary"}},"nextCursor":{"type":["string","null"]}},"required":["students","nextCursor"]},"RecruitedStudentState":{"type":"object","additionalProperties":false,"properties":{"studentUid":{"type":"string","description":"대표 학생 UID"},"tier":{"type":"integer","minimum":1,"maximum":5,"description":"학생 성급"},"weaponTier":{"type":"integer","minimum":0,"maximum":4,"description":"고유무기 성급"},"level":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"학생 Lv"},"skillEx":{"type":["integer","null"],"minimum":1,"maximum":5,"description":"EX 스킬"},"skillNormal":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"기본 스킬"},"skillEnhanced":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"강화 스킬"},"skillSub":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"서브 스킬"},"equip1":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"장비 1 티어"},"equip2":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"장비 2 티어"},"equip3":{"type":["integer","null"],"minimum":1,"maximum":10,"description":"장비 3 티어"},"equip1Level":{"type":["integer","null"],"minimum":1,"maximum":70,"description":"장비 1 레벨"},"equip2Level":{"type":["integer","null"],"minimum":1,"maximum":70,"description":"장비 2 레벨"},"equip3Level":{"type":["integer","null"],"minimum":1,"maximum":70,"description":"장비 3 레벨"},"equipSpecial":{"type":["integer","null"],"minimum":1,"maximum":2,"description":"애용품"},"weaponLevel":{"type":["integer","null"],"minimum":0,"maximum":60,"description":"고유무기 Lv"},"abilityHp":{"type":["integer","null"],"minimum":0,"maximum":25,"description":"능력 해방 (HP)"},"abilityAtk":{"type":["integer","null"],"minimum":0,"maximum":25,"description":"능력 해방 (공격력)"},"abilityHeal":{"type":["integer","null"],"minimum":0,"maximum":25,"description":"능력 해방 (치유력)"},"bond":{"type":["integer","null"],"minimum":1,"maximum":100,"description":"인연 랭크"},"bondExp":{"type":["integer","null"],"minimum":0,"maximum":240225,"description":"인연 누적 경험치"}},"required":["studentUid","tier","weaponTier"]},"RecruitedStudentListResponse":{"type":"object","additionalProperties":false,"properties":{"students":{"type":"array","items":{"$ref":"#/components/schemas/RecruitedStudentState"}},"nextCursor":{"type":["string","null"]}},"required":["students","nextCursor"]},"RecruitedStudentResponse":{"$ref":"#/components/schemas/RecruitedStudentState"},"StudentWriteResponse":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"studentUid":{"type":"string"}},"required":["studentUid"]},{"$ref":"#/components/schemas/RecruitedStudentState"}]},"StudentDeleteResponse":{"type":"object","additionalProperties":false,"properties":{"studentUid":{"type":"string"},"deleted":{"type":"boolean","const":true}},"required":["studentUid","deleted"]},"ApiFieldError":{"type":"object","additionalProperties":false,"properties":{"field":{"type":"string"},"message":{"type":"string"}},"required":["field","message"]},"ApiError":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","forbidden","not_found","student_not_recruited","student_already_recruited","rate_limited","internal_error","unavailable"]},"message":{"type":"string"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/ApiFieldError"}},"docs":{"type":"string","format":"uri"}},"required":["code","message","docs"]},"ApiErrorResponse":{"type":"object","additionalProperties":false,"properties":{"error":{"$ref":"#/components/schemas/ApiError"}},"required":["error"]}}}}