RndManage API 문서

← 홈으로

웹 UI와 같은 데이터·같은 권한·같은 감사 로그를 쓰는 공개 API입니다. Claude(MCP)·Gemini CLI·GPT(Actions)·curl 어디서든 붙을 수 있습니다.

1. 빠른 시작 — 인증과 첫 호출

자체 API 키·PAT는 없습니다. Google이 발급한 1시간짜리 토큰을 Authorization: Bearer 헤더로 보냅니다. 토큰의 이메일이 회사 화이트리스트에 있어야 하고, 다른 앱용으로 발급된 토큰은 audience 검증에서 거부됩니다.

# 회사 Google 계정으로 gcloud 로그인 (최초 1회)
gcloud auth login

# 1시간짜리 토큰 발급 → 문서 목록 조회
TOKEN=$(gcloud auth print-identity-token)
curl -H "Authorization: Bearer $TOKEN" "https://rm.up-tec.io/api/documents?limit=10"
# PowerShell
$token = gcloud auth print-identity-token
curl -H "Authorization: Bearer $token" "https://rm.up-tec.io/api/documents?limit=10"

토큰은 1시간 뒤 만료됩니다(401) — 호출 직전마다 재발급하면 됩니다. 반드시 https://rm.up-tec.io 도메인을 직접 사용하세요 (구 도메인은 리다이렉트 과정에서 인증 헤더가 소실됩니다).

2. 주요 엔드포인트

메서드경로설명
GET/api/documents문서 목록 (limit·docType·status 필터)
POST/api/documents문서 저장 — id 동일 시 수정, 동시 편집 충돌 시 409
GET/api/documents/{docType}/{id}문서 본문 조회
DELETE/api/documents/{docType}/{id}휴지통 이동 (복구 가능)
GET/api/documents/{docType}/{id}/pdfPDF 생성·다운로드 (첨부 자동 병합)
POST/api/documents/clone문서 복제 (계획→결과 전환)
GET/api/master-data사원·과제·거래처·설정 조회
POST/api/master-data/syncCoreDB 정본에서 마스터 동기화
GET/api/numbering/peek다음 문서번호 미리보기
GET/api/budgets/status과제×비목 예산 집행 현황
GET/api/inspections검수 예정 집계
GET/api/tax-invoices세금계산서 수집 (CSV 지원)
GET/api/trips출장 목록
GET/api/audit감사 로그 (CSV 지원)
GET/api/backup전체 백업 JSON 다운로드

전체 요청/응답 스키마는 Swagger 레퍼런스에서 직접 실행해 볼 수 있습니다 (Authorize 버튼에 토큰 입력).

3. MCP 서버 — Claude·Gemini CLI 연결

저장소의 mcp/server.mjs가 API를 MCP 도구 10종으로 감쌉니다. 토큰 env를 생략하면 서버가 gcloud auth print-identity-token을 직접 실행해 만료 5분 전 자동 재발급합니다.

Claude Code

claude mcp add rndmanage --env RNDMANAGE_URL=https://rm.up-tec.io \
  -- node C:/Users/jimmy/MyProjects/RndManage/mcp/server.mjs

Claude Desktop (claude_desktop_config.json) · Gemini CLI (~/.gemini/settings.json)

{
  "mcpServers": {
    "rndmanage": {
      "command": "node",
      "args": ["C:/Users/jimmy/MyProjects/RndManage/mcp/server.mjs"],
      "env": { "RNDMANAGE_URL": "https://rm.up-tec.io" }
    }
  }
}

도구: list/get/save/clone/delete_document(휴지통까지만), get_master_data, peek_doc_number, get_budget_status, list_trips, health — 설치 상세는 mcp/README.md

4. GPT Actions (커스텀 GPT)

  1. 커스텀 GPT 만들기 → Configure → Actions → Create new action
  2. Import from URL: https://rm.up-tec.io/api/openapi.json (인증 없이 import 가능)
  3. Authentication: API Key → Bearer 선택 후 gcloud auth print-identity-token 결과 입력

Google 토큰은 1시간 만료 — GPT Actions는 자동 갱신이 없어 일회성 조회·집계 세션에 적합합니다. 상시 연동은 MCP(§3)를 권장합니다.

5. 안전장치·정책

Bearer 토큰으로 차단되는 작업 (403 — 웹 UI 전용)

문서 영구 삭제DELETE /api/trash/{docType}/{id}
휴지통 비우기 / 30일 자동 정리DELETE /api/trash · POST /api/trash/auto-cleanup
백업 복원 (대량 덮어쓰기)POST /api/backup
고아 첨부 영구 삭제DELETE /api/attachments/orphans
마스터데이터 전체 교체 (xlsx)POST /api/master-data/import