{"name":"sulaw — 삼육대학교 규정관리시스템 API","version":"2026-10-02","auth":{"anonymous":"공개 규정 읽기(read)는 인증 없이","bearer":"Authorization: Bearer sulaw_pat_… | sulaw_cli_… | sulaw_agt_…","deviceFlow":"POST /api/v1/auth/device/code → 사람이 /device 에서 승인 → POST /api/v1/auth/device/token","agentPolicy":"에이전트 토큰(sulaw_agt_)은 초안·분석까지. 심의·의결·공포는 사람만. 에이전트의 POST 에는 Idempotency-Key 필수"},"trust":"L0 원본 · L1 규칙 추출 · L2 추정 제안(공개 열람에는 숨김) · L3 담당자 확인 · L4 기구 판정","openapi":"/api/v1/openapi.json","routes":[{"method":"GET","path":"/api/v1/categories","scope":"read","tag":"열람","summary":"분야 목록 (규정 수 포함)"},{"method":"GET","path":"/api/v1/bodies","scope":"read","tag":"열람","summary":"기구(소관 부서) 목록 (규정 수 포함)"},{"method":"GET","path":"/api/v1/norms","scope":"read","tag":"열람","summary":"규정 목록·필터"},{"method":"GET","path":"/api/v1/search","scope":"read","tag":"열람","summary":"통합 검색 (규정명·조문 본문). \"학칙 제18조\" 같은 인용문은 바로 가기 후보(resolved)를 준다"},{"method":"GET","path":"/api/v1/resolve","scope":"read","tag":"열람","summary":"인용문 → 규정·조문 후보 (점수 공개)"},{"method":"GET","path":"/api/v1/norms/{id}","scope":"read","tag":"열람","summary":"규정 본문. at=시점(그 날 시행 중이던 판) 또는 version=판 id. 기본은 현행"},{"method":"GET","path":"/api/v1/norms/{id}/text","scope":"read","tag":"열람","summary":"본문을 마크다운으로 (AI 입력·복사용)"},{"method":"GET","path":"/api/v1/norms/{id}/versions","scope":"read","tag":"열람","summary":"제·개정 연혁 (판 목록)"},{"method":"GET","path":"/api/v1/norms/{id}/compare","scope":"read","tag":"열람","summary":"두 판의 신구 대비 (조문은 wid 로 맞춤)"},{"method":"GET","path":"/api/v1/norms/{id}/articles/{wid}","scope":"read","tag":"열람","summary":"조문 한 건 (미리보기용). wid 또는 \"제N조\". 현행 판이면 인용 상태 신호(signal: red 문제·yellow 주의, reasons)를 붙인다"},{"method":"GET","path":"/api/v1/norms/{id}/download","scope":"read","tag":"열람","summary":"규정 전문 내려받기 (PDF·Word). version=판 id 또는 at=시점, 기본은 현행"},{"method":"GET","path":"/api/v1/norms/{id}/compare/download","scope":"read","tag":"열람","summary":"신구조문대비표 내려받기 (PDF·Word). 바로 앞뒤 판이면 개정문(참고본)을 덧붙인다"},{"method":"GET","path":"/api/v1/norms/{id}/amendment","scope":"read","tag":"열람","summary":"공포된 판의 개정문 (직전 판과의 신구 대비로 다시 만든 참고본). version=판 id, 기본은 현행 판"},{"method":"GET","path":"/api/v1/norms/{id}/amendment/download","scope":"read","tag":"열람","summary":"개정문(참고본) 내려받기 (PDF·Word)"},{"method":"GET","path":"/api/v1/suggest","scope":"read","tag":"열람","summary":"검색창 자동완성: 규정명과 인용 바로가기"},{"method":"GET","path":"/api/v1/norms/{id}/articles/{wid}/history","scope":"read","tag":"열람","summary":"조문 연혁: 이 조문이 바뀐 판과 바뀐 부분"},{"method":"GET","path":"/api/v1/norms/{id}/articles/{wid}/interpret","scope":"read","tag":"지식그래프","summary":"조문 해석 팩: 읽는 순서, 용어 정의, 인용·위임·준용, 이 조문을 인용하는 곳, 기구 변동, 연혁, 해석 기록. 공개 열람은 추정(L2) 제외"},{"method":"GET","path":"/api/v1/norms/{id}/tiers","scope":"read","tag":"지식그래프","summary":"3단 비교: 조문마다 근거로 인용한 상위 조문 · 이 조문 · 이 조문을 근거로 인용한 하위 조문(과 그 하위), 받는 규정이 확인된 위임. 공개 열람은 추정(L2) 제외"},{"method":"GET","path":"/api/v1/norms/{id}/impact","scope":"read","tag":"지식그래프","summary":"영향 범위: 이 규정(또는 조문)을 인용·위임·준용하는 다른 조문"},{"method":"GET","path":"/api/v1/norms/{id}/attachments","scope":"read","tag":"열람","summary":"규정의 별표·서식 첨부 목록 (판독 상태·점검 결과 포함)"},{"method":"GET","path":"/api/v1/attachments","scope":"read","tag":"열람","summary":"별표·서식 찾기: 파일명·규정명·첨부 본문(판독본)에서"},{"method":"GET","path":"/api/v1/attachments/{id}","scope":"read","tag":"열람","summary":"첨부 하나: 판독본(마크다운·표 격자, L1)과 점검 결과"},{"method":"GET","path":"/api/v1/attachments/{id}/file","scope":"read","tag":"열람","summary":"첨부 원본 파일(스냅숏 그대로)"},{"method":"GET","path":"/api/v1/indicator-sets","scope":"read","tag":"지표","summary":"지표 사전: 지표 묶음 목록 (용도별, 출처 구분 개수)"},{"method":"GET","path":"/api/v1/indicator-sets/{set}","scope":"read","tag":"지표","summary":"지표 묶음: 지표마다 정의·배점·평가방법·자료 제공 부서·출처(정보공시/자체산출), 근거 조문, 별첨 점검 결과"},{"method":"GET","path":"/api/v1/accreditation","scope":"read","tag":"인증","summary":"4주기 기관평가인증 준거 지도: 영역·준거별 요구 항목 수, 규정 연결 현황. 내부 열람이면 연도별 준비 상태 요약"},{"method":"GET","path":"/api/v1/accreditation/{code}","scope":"read","tag":"인증","summary":"준거 하나: 보고서·정보공시·규정·첨부·현지확인·현지면담 요구 항목, 규정 연결(공개는 확인된 L3만), 내부 열람이면 후보와 연도별 상태"},{"method":"POST","path":"/api/v1/accreditation/requirements/{rid}/norms","scope":"read:internal","tag":"인증","summary":"규정 요구 항목의 규정 연결: confirm(후보 확인 → L3) · reject(아님) · add(직접 연결) · remove. 사람 담당자만"},{"method":"PUT","path":"/api/v1/accreditation/requirements/{rid}/status","scope":"read:internal","tag":"인증","summary":"요구 항목의 연도별 준비 상태 (unknown·ready·partial·missing·na). 사람 담당자만"},{"method":"GET","path":"/api/v1/norms/{id}/accreditation","scope":"read","tag":"인증","summary":"이 규정을 근거로 요구하는 인증 준거 (공개는 확인된 연결만)"},{"method":"GET","path":"/api/v1/recent","scope":"read","tag":"열람","summary":"최근 제·개정"},{"method":"GET","path":"/api/v1/changes","scope":"read","tag":"열람","summary":"최근 제·개정·폐지 (한 목록). months=기간(기본 12개월), type=enact·amend·full·repeal, q=규정명. 구분별 개수 counts 포함"},{"method":"GET","path":"/api/v1/popular","scope":"read","tag":"열람","summary":"최근 30일 많이 본 규정"},{"method":"GET","path":"/api/v1/events","scope":"read","tag":"공급","summary":"변경 피드 (공포·폐지·상태 변경·상위 법령 사건). since=마지막으로 본 id"},{"method":"GET","path":"/api/v1/vocab","scope":"read","tag":"공급","summary":"어휘: 신뢰 등급, 관계 종류, 상태, 트랙, 범위"},{"method":"GET","path":"/api/v1/upstream/laws","scope":"read:internal","tag":"상위 법령","summary":"인용 법령 대장: 인용 규정·조문 수, 법령이 규정보다 나중에 바뀐 규정 수(stale_norms), 열린 영향 검토"},{"method":"GET","path":"/api/v1/upstream/laws/{id}","scope":"read:internal","tag":"상위 법령","summary":"법령 상세: 인용하는 조문(법령 조문 단위), 사건"},{"method":"PATCH","path":"/api/v1/upstream/laws/{id}","scope":"proposals:write","tag":"상위 법령","summary":"법령 정보 수정 (현행 명칭, 상태=ignored 로 잡음 제외, 메모)"},{"method":"POST","path":"/api/v1/upstream/laws/{id}/events","scope":"proposals:write","tag":"상위 법령","summary":"법령 사건 등록(개정·폐지·제명변경). 바뀐 조문(articles)을 주면 그 조문을 인용한 곳만 정확히 올린다 → 영향 검토 생성"},{"method":"POST","path":"/api/v1/upstream/check","scope":"proposals:write","tag":"상위 법령","summary":"법제처 Open API 로 법령 개정·폐지 확인 (LAW_GO_KR_OC 필요). 새 공포가 있으면 사건·영향 검토를 만든다"},{"method":"GET","path":"/api/v1/reviews","scope":"read:internal","tag":"상위 법령","summary":"영향 검토 큐 (상위 법령 사건·교내 상위 규범 공포로 생긴 것). status=open,needs_amendment 기본"},{"method":"GET","path":"/api/v1/reviews/download","scope":"read:internal","tag":"상위 법령","summary":"영향 검토 목록 CSV (엑셀에서 열림). status=open,needs_amendment 기본, all=전체"},{"method":"GET","path":"/api/v1/me/notify","scope":"read:internal","tag":"인증","summary":"내 알림 설정: 상위 변경 영향 검토 메일 (mine 내 부서 규정만 · all 전체 · off 받지 않음)"},{"method":"PATCH","path":"/api/v1/me/notify","scope":"read:internal","tag":"인증","summary":"내 알림 설정 바꾸기"},{"method":"GET","path":"/api/v1/notify/outbox","scope":"admin","tag":"관리","summary":"보낼 메일함 (알림 메일 기록. SMTP 가 없으면 여기에만 쌓인다)"},{"method":"POST","path":"/api/v1/notify/run","scope":"admin","tag":"관리","summary":"아직 알리지 않은 영향 검토를 묶어 알림 메일로 (보통은 사건 등록·공포·법제처 확인 때 자동)"},{"method":"PATCH","path":"/api/v1/reviews/{id}","scope":"proposals:write","tag":"상위 법령","summary":"영향 검토 처리: no_impact(영향 없음) · needs_amendment(개정 필요) · done"},{"method":"GET","path":"/api/v1/findings","scope":"read:internal","tag":"관리","summary":"정비 후보 (결정적 린트 결과)"},{"method":"GET","path":"/api/v1/findings/summary","scope":"read:internal","tag":"관리","summary":"정비 후보 집계 (규칙·트랙별)"},{"method":"PATCH","path":"/api/v1/findings/{id}","scope":"proposals:write","tag":"관리","summary":"정비 후보 상태 변경 (dismissed=오탐, resolved). 오타 후보(T01)를 오탐으로 닫을 때 learn=true 면 그 말을 다음 검사에서 뺀다"},{"method":"POST","path":"/api/v1/typos/scan","scope":"proposals:write","tag":"관리","summary":"오타 검사: 현행 규정 전체에서 오타 후보를 찾아 정비 후보(T01)로 올린다 (이미 판단한 것 제외)"},{"method":"POST","path":"/api/v1/typos","scope":"proposals:write","tag":"관리","summary":"오타 직접 등록 (조문 본문에 있는 그대로의 틀린 말과 고칠 말)"},{"method":"POST","path":"/api/v1/typos/dict","scope":"proposals:write","tag":"관리","summary":"열린 오타 후보에 표준국어대사전 정보 붙이기 (저장된 조회 재사용, 사전에 없는 말은 확신 상향)"},{"method":"POST","path":"/api/v1/typos/ai","scope":"proposals:write","tag":"관리","summary":"AI 문맥 판정 (OpenAI). 결과는 추정이며 참고용 — 목록에서 자동으로 빼지 않는다"},{"method":"GET","path":"/api/v1/dict","scope":"read:internal","tag":"관리","summary":"표준국어대사전에서 낱말 찾기 (기본형으로 바꿔 가며)"},{"method":"PATCH","path":"/api/v1/typos/{id}","scope":"proposals:write","tag":"관리","summary":"오타 후보의 고칠 말 수정"},{"method":"POST","path":"/api/v1/proposals/typo-fix","scope":"proposals:write","tag":"개정안","summary":"고른 오타 후보로 \"자구 정비\" 일괄 안건 만들기 (경미·당연 변경, 규정별로 묶음)"},{"method":"GET","path":"/api/v1/org-changes","scope":"read","tag":"관리","summary":"조직개편 대조표"},{"method":"POST","path":"/api/v1/interpretations","scope":"proposals:write","tag":"지식그래프","summary":"해석·선례·예외 기록 (N5). 조문에 매달린다"},{"method":"POST","path":"/api/v1/relations/{id}/confirm","scope":"proposals:write","tag":"지식그래프","summary":"관계 확인(L2→L3) 또는 기각. 사람의 판단을 그래프에 남긴다"},{"method":"GET","path":"/api/v1/proposals","scope":"read:internal","tag":"개정안","summary":"개정안 목록"},{"method":"POST","path":"/api/v1/proposals","scope":"proposals:write","tag":"개정안","summary":"개정안 만들기 (개정·제정·폐지). findingIds·reviewIds 로 정비 후보·영향 검토를 묶을 수 있다"},{"method":"POST","path":"/api/v1/proposals/bulk-rename","scope":"proposals:write","tag":"개정안","summary":"기구 명칭 일괄 정정 안건 (조직개편 당연 변경): 이름이 들어간 현행 조문을 모두 찾아 개정안을 만든다"},{"method":"GET","path":"/api/v1/proposals/{id}","scope":"read:internal","tag":"개정안","summary":"개정안 전체: 대상 규정, 바뀐 조문, 신구 대비, 검사 결과, 진행 기록, 가능한 다음 단계"},{"method":"PATCH","path":"/api/v1/proposals/{id}","scope":"proposals:write","tag":"개정안","summary":"개정안 정보 수정 (작성 중일 때)"},{"method":"PATCH","path":"/api/v1/proposals/{id}/items/{itemId}","scope":"proposals:write","tag":"개정안","summary":"항목(규범 하나) 정보 수정: 부칙 본문(시행일 단서·경과조치). null 이면 시행일로 자동"},{"method":"PUT","path":"/api/v1/proposals/{id}/items/{itemId}/articles/{wid}","scope":"proposals:write","tag":"개정안","summary":"조문 고치기 (기준 판과 같아지면 변경에서 빠짐)"},{"method":"POST","path":"/api/v1/proposals/{id}/items/{itemId}/articles","scope":"proposals:write","tag":"개정안","summary":"조문 신설 (afterWid 뒤에. key 를 비우면 가지번호 제안: 제5조의2)"},{"method":"POST","path":"/api/v1/proposals/{id}/items/{itemId}/import/preview","scope":"proposals:write","tag":"개정안","summary":"파일에서 가져오기 미리보기: 한글(hwp·hwpx)·Word·PDF·텍스트 안건 파일(base64)을 조문으로 나눠 조 번호로 맞춘 바뀜·신설·삭제·같음. 파일에 없는 현행 조문은 absent"},{"method":"POST","path":"/api/v1/proposals/{id}/items/{itemId}/import/apply","scope":"proposals:write","tag":"개정안","summary":"파일에서 가져오기 적용: 미리보기 items 를 순서대로(같음 포함) 보내고 apply=true 인 것만 넣는다. deleteWids 로 파일에 없는 조문 삭제"},{"method":"DELETE","path":"/api/v1/proposals/{id}/items/{itemId}/articles/{wid}","scope":"proposals:write","tag":"개정안","summary":"조문 삭제 (\"삭제\" 조문으로 남김)"},{"method":"DELETE","path":"/api/v1/proposals/{id}/changes/{changeId}","scope":"proposals:write","tag":"개정안","summary":"바뀐 내용 되돌리기"},{"method":"POST","path":"/api/v1/proposals/{id}/comments","scope":"proposals:write","tag":"개정안","summary":"의견 남기기"},{"method":"POST","path":"/api/v1/proposals/{id}/transitions","scope":"proposals:write","tag":"개정안","summary":"다음 단계로: submit 접수 요청 · return 반송 · start_review 심의 상정 · approve_internal 내부결재 확정(경미·세칙) · approve 의결 · hold 보류 · reject 부결 · publish 공포 · withdraw 철회"},{"method":"GET","path":"/api/v1/proposals/{id}/amendment","scope":"read:internal","tag":"개정안","summary":"개정안의 개정문 초안 (\"「○○규정」 일부를 다음과 같이 개정한다…\" + 부칙). 신구 대비에서 자동 생성, 담당자 확인용"},{"method":"GET","path":"/api/v1/proposals/{id}/download","scope":"read:internal","tag":"개정안","summary":"안건 문서 내려받기 (Word·PDF): 개정 이유·주요 내용·개정문 초안·신구조문대비표·검사 결과"},{"method":"GET","path":"/api/v1/proposals/{id}/export","scope":"read:internal","tag":"개정안","summary":"안건 문서 (마크다운 신구조문대비표 + 검사 결과)"},{"method":"GET","path":"/api/v1/requests","scope":"requests:write","tag":"개정 요청","summary":"개정 요청 목록: 내 것·우리 부서 것 (scope=all 은 규정 담당자: 전체). status=submitted,reviewing …"},{"method":"POST","path":"/api/v1/requests","scope":"requests:write","tag":"개정 요청","summary":"개정 요청 만들기 (작성 중). kind=amend·enact·repeal, 대상 규정, 필요성·주요 내용·효과·시행 희망일·관련 부서 협의 (학칙 제77조 제1호)"},{"method":"GET","path":"/api/v1/requests/{id}","scope":"requests:write","tag":"개정 요청","summary":"개정 요청 전체: 내용·조문 바뀜·신구 대비·개정문 초안·붙임·진행 기록(피드백)·제출 전 점검·할 수 있는 일"},{"method":"PATCH","path":"/api/v1/requests/{id}","scope":"requests:write","tag":"개정 요청","summary":"개정 요청 내용 고치기 (작성 중·보완 요청일 때, 요청한 부서만)"},{"method":"PUT","path":"/api/v1/requests/{id}/changes","scope":"requests:write","tag":"개정 요청","summary":"조문 바뀜 넣기·고치기: op=modify(현행 조문 wid)·insert(새 조 번호, afterWid 뒤)·delete. reason=이 조문을 바꾸는 까닭"},{"method":"DELETE","path":"/api/v1/requests/{id}/changes/{changeId}","scope":"requests:write","tag":"개정 요청","summary":"조문 바뀜 지우기"},{"method":"POST","path":"/api/v1/requests/{id}/import","scope":"requests:write","tag":"개정 요청","summary":"파일에서 조문 가져오기: 한글(hwp·hwpx)·Word·PDF·텍스트 개정안 파일 → 바뀐 조문·신설 조문을 요청 바뀜으로"},{"method":"POST","path":"/api/v1/requests/{id}/files","scope":"requests:write","tag":"개정 요청","summary":"붙임 파일 올리기 (7MB, 10개까지)"},{"method":"GET","path":"/api/v1/requests/{id}/files/{fileId}","scope":"requests:write","tag":"개정 요청","summary":"붙임 파일 내려받기"},{"method":"DELETE","path":"/api/v1/requests/{id}/files/{fileId}","scope":"requests:write","tag":"개정 요청","summary":"붙임 파일 지우기"},{"method":"POST","path":"/api/v1/requests/{id}/comments","scope":"requests:write","tag":"개정 요청","summary":"의견 남기기. 규정 담당자의 의견은 피드백으로 요청자에게 알린다. changeId 로 조문별 피드백"},{"method":"POST","path":"/api/v1/requests/{id}/transitions","scope":"requests:write","tag":"개정 요청","summary":"다음 단계로: submit 제출 · withdraw 철회 (요청자) / start_review 검토 시작 · request_revision 보완 요청 · reject 반려 · accept 정식 안건 채택 → 개정안 생성 (규정 담당자)"},{"method":"POST","path":"/api/v1/requests/{id}/docs","scope":"requests:manage","tag":"개정 요청","summary":"공문 초안 만들기 (채택한 요청): template=committee 규정심의위원회 부의 · internal 내부결재(심의 생략) · notice 공포 알림"},{"method":"GET","path":"/api/v1/official-docs/{id}","scope":"requests:write","tag":"개정 요청","summary":"공문 초안 (구조: 수신·경유·제목·관련·본문·붙임·발신명의·기안자·협조, 붙임 파일 주소). 공문 처리 시스템 연결용"},{"method":"PATCH","path":"/api/v1/official-docs/{id}","scope":"requests:manage","tag":"개정 요청","summary":"공문 초안 고치기. status=ready 이면 작성 완료 (공문 처리 시스템이 가져갈 수 있음)"},{"method":"GET","path":"/api/v1/official-docs/{id}/download","scope":"requests:write","tag":"개정 요청","summary":"공문 초안 내려받기 (Word·PDF)"},{"method":"GET","path":"/api/v1/official-docs","scope":"requests:manage","tag":"개정 요청","summary":"공문 초안 목록. status=ready 는 작성 완료 = 공문 처리 시스템이 가져갈 것"},{"method":"GET","path":"/api/v1/norm-reviews","scope":"requests:write","tag":"정기 검토","summary":"정기 검토 목록: 우리 부서 소관(scope=mine) · 전체(scope=all, 규정 담당자). status=open 부서 확인 대기 · submitted 승인 대기 · amend 개정 요청으로 · approved · closed"},{"method":"GET","path":"/api/v1/norm-reviews/schedule","scope":"read:internal","tag":"정기 검토","summary":"앞으로의 정기 검토 일정 (달별 규정 수)"},{"method":"POST","path":"/api/v1/norm-reviews/{id}/submit","scope":"requests:write","tag":"정기 검토","summary":"소관 부서 확인: no_change(변경 없음, 까닭 필수 → 규정 담당자 승인 대기) · needs_amendment(개정 필요 → 개정 요청 초안을 만든다)"},{"method":"POST","path":"/api/v1/norm-reviews/{id}/decide","scope":"requests:manage","tag":"정기 검토","summary":"규정 담당자 승인: approve(다음 검토일 = 오늘 + 3년) · return(까닭 필수, 부서로 돌려보냄)"},{"method":"POST","path":"/api/v1/norm-reviews/run","scope":"admin","tag":"정기 검토","summary":"정기 검토 하루 작업: 첫 계획 · 90일 안 검토 열기 · 90·60·30일·지남 알림. 운영 서버에서 매일 실행"},{"method":"GET","path":"/api/v1/norm-admin","scope":"requests:manage","tag":"정기 검토","summary":"규정별 소관 부서·담당자·부서 대표 연락처·다음 검토일 (관리 화면)"},{"method":"PATCH","path":"/api/v1/norms/{id}/admin","scope":"requests:manage","tag":"정기 검토","summary":"규정 담당자 이름(공개)·다음 검토일·검토 주기 고치기"},{"method":"PATCH","path":"/api/v1/bodies/{id}","scope":"requests:manage","tag":"정기 검토","summary":"부서 대표 연락처(전화·메일) 고치기 — 공개 화면 문의처에 보인다"},{"method":"POST","path":"/api/v1/auth/login","scope":"read","tag":"인증","summary":"웹 로그인 (세션 쿠키)"},{"method":"POST","path":"/api/v1/auth/logout","scope":"read","tag":"인증","summary":"로그아웃"},{"method":"POST","path":"/api/v1/auth/password","scope":"read","tag":"인증","summary":"내 비밀번호 바꾸기 (지금 비밀번호 확인). 다른 기기의 로그인은 끊는다"},{"method":"GET","path":"/api/v1/auth/me","scope":"read","tag":"인증","summary":"지금 요청의 주체와 범위"},{"method":"POST","path":"/api/v1/auth/device/code","scope":"read","tag":"인증","summary":"기기 인증 시작 (RFC 8628). CLI·에이전트가 호출하고, 사람은 verification_uri 에서 코드를 승인한다"},{"method":"POST","path":"/api/v1/auth/device/token","scope":"read","tag":"인증","summary":"기기 인증 폴링 → 토큰. 오류: authorization_pending · slow_down · access_denied · expired_token"},{"method":"GET","path":"/api/v1/auth/device/{code}","scope":"read:internal","tag":"인증","summary":"승인 화면용: 기기 인증 요청 정보"},{"method":"POST","path":"/api/v1/auth/device/{code}/decision","scope":"read:internal","tag":"인증","summary":"기기 인증 승인·거부 (웹 세션 필요)"},{"method":"GET","path":"/api/v1/tokens","scope":"read:internal","tag":"인증","summary":"내 토큰 목록"},{"method":"POST","path":"/api/v1/tokens","scope":"read:internal","tag":"인증","summary":"토큰 발급 (pat: 사람용, agent: AI 에이전트용 — 심의·공포 불가, 최대 90일). 원문은 이 응답에서만 보인다"},{"method":"DELETE","path":"/api/v1/tokens/{id}","scope":"read:internal","tag":"인증","summary":"토큰 폐기"},{"method":"GET","path":"/api/v1/users","scope":"admin","tag":"인증","summary":"사용자 목록"},{"method":"POST","path":"/api/v1/users","scope":"admin","tag":"인증","summary":"사용자 추가"},{"method":"PATCH","path":"/api/v1/users/{id}","scope":"admin","tag":"인증","summary":"사용자 고치기: 역할·소관 부서·활성·비밀번호 재설정"},{"method":"GET","path":"/api/v1/audit","scope":"admin","tag":"인증","summary":"감사 기록 (토큰 사용·모든 쓰기)"},{"method":"GET","path":"/api/v1/i18n/languages","scope":"read","tag":"다국어","summary":"번역 언어: 영문(미리 번역)과 유학생 상위 7개국 언어(바로 번역). 고지 문장 포함"},{"method":"GET","path":"/api/v1/i18n/titles","scope":"read","tag":"다국어","summary":"공개 현행 규정의 그 언어 제목 (용어집) · 번역된 조문 수"},{"method":"GET","path":"/api/v1/i18n/search","scope":"read","tag":"다국어","summary":"번역문 검색 (그 언어 조문·규정 제목). 한글로 찾으면 국문 조문에서 찾아 번역 화면으로"},{"method":"GET","path":"/api/v1/i18n/recent","scope":"read","tag":"다국어","summary":"최근 제·개정 (그 언어 제목, 번역 여부)"},{"method":"GET","path":"/api/v1/norms/{id}/translation","scope":"read","tag":"다국어","summary":"규정의 번역 (참고용, authoritative=false). 조문마다 번역·등급·자동 검사·낡은 번역, 국문 원문 함께"},{"method":"POST","path":"/api/v1/norms/{id}/translate","scope":"read","tag":"다국어","summary":"빠진 번역을 지금 채운다 (SSE 진행률: progress · done · error). 공개 현행 규정만, 같은 국문은 저장된 번역을 다시 쓴다"},{"method":"GET","path":"/api/v1/translations/stats","scope":"proposals:write","tag":"다국어","summary":"언어별 번역 현황 (조문 수·등급·글자 수·용어집)"},{"method":"GET","path":"/api/v1/translations/issues","scope":"proposals:write","tag":"다국어","summary":"자동 검사에 걸린 번역 (T0)"},{"method":"GET","path":"/api/v1/translations/job","scope":"proposals:write","tag":"다국어","summary":"미리 번역 작업 상태"},{"method":"POST","path":"/api/v1/translations/run","scope":"admin","tag":"다국어","summary":"미리 번역 시작 (관리자): 지정한 규정 또는 빠진 것 전부. 비용이 드는 작업"},{"method":"GET","path":"/api/v1/glossary","scope":"proposals:write","tag":"다국어","summary":"번역 용어집"},{"method":"PUT","path":"/api/v1/glossary/{id}","scope":"proposals:write","tag":"다국어","summary":"용어 번역 고치기 (그 뒤 번역에 쓴다)"},{"method":"GET","path":"/api/v1/chat/config","scope":"read","tag":"도우미","summary":"도우미 화면 설정: 켜짐·저장 고지·연결 종류와 동의 문안"},{"method":"POST","path":"/api/v1/chat","scope":"read","tag":"도우미","summary":"규정 도우미: 질문에 근거 조문을 달아 답한다 (SSE: status · sources · delta · reset · done · error). 공개 현행 규정만 근거로 쓰며, 대화는 설정에 따라 익명으로 저장한다"},{"method":"POST","path":"/api/v1/chat/feedback","scope":"read","tag":"도우미","summary":"도우미 답 평가 (👍/👎 · 사유)"},{"method":"POST","path":"/api/v1/chat/cases","scope":"read","tag":"도우미","summary":"도우미에서 민원·신청·개정 요청으로 연결 (고지·동의 뒤 이름·연락처와 이 대화를 실명으로 저장)"},{"method":"GET","path":"/api/v1/chat/stats","scope":"proposals:write","tag":"도우미","summary":"도우미 품질 지표 (최근 N일)"},{"method":"GET","path":"/api/v1/chat/turns","scope":"proposals:write","tag":"도우미","summary":"도우미 기록 (질문 단위). filter: all · down · uncited · dropped · review · error · intent · eval · reviewed"},{"method":"GET","path":"/api/v1/chat/sessions/{sid}","scope":"proposals:write","tag":"도우미","summary":"대화 하나 전체 (질문·답·근거·검색 과정·검토)"},{"method":"DELETE","path":"/api/v1/chat/sessions/{sid}","scope":"admin","tag":"도우미","summary":"대화 삭제 (관리자가 일부러 지울 때만. 사유는 감사 기록에)"},{"method":"PUT","path":"/api/v1/chat/turns/{id}/review","scope":"proposals:write","tag":"도우미","summary":"답 검토 기록 (판정·근거 맞음·메모·기대 근거·평가셋 후보)"},{"method":"GET","path":"/api/v1/chat/cases","scope":"proposals:write","tag":"도우미","summary":"도우미에서 이어진 민원·신청·개정 요청"},{"method":"PATCH","path":"/api/v1/chat/cases/{id}","scope":"proposals:write","tag":"도우미","summary":"연결 건 처리 상태"},{"method":"DELETE","path":"/api/v1/chat/cases/{id}","scope":"admin","tag":"도우미","summary":"연결 건 삭제 (관리자가 일부러 지울 때만. 사유는 감사 기록에)"},{"method":"GET","path":"/api/v1/chat/settings","scope":"admin","tag":"도우미","summary":"도우미 설정과 변경 이력"},{"method":"PUT","path":"/api/v1/chat/settings","scope":"admin","tag":"도우미","summary":"도우미 설정 바꾸기 (새 판으로 남는다)"},{"method":"GET","path":"/api/v1/chat/export","scope":"admin","tag":"도우미","summary":"연구·품질 관리용 내보내기 (질문 단위, 익명 번호, 실명 정보 제외). format: jsonl · csv"},{"method":"GET","path":"/api/v1/status","scope":"read","tag":"공급","summary":"시스템 상태: 원본 지위, 기준 스냅숏, 규모"}]}