Public API
공개 API 레퍼런스
로그인 없이 접근 가능한 엔드포인트만 정리합니다. 인증이 필요한 내부 API (클럽 관리·결제·관리자) 는 제외됩니다. RLS 정책이 앤온 접근 범위를 제한하므로 모든 응답은 공개 데이터에 한정됩니다.
지표 · 텔레메트리
/api/metrics/public공개 집계 지표 5종 — public clubs, active opportunities, public profiles, weekly_updates 90일, public universities unique count.
10분 edge + stale 1시간
{
"clubs_public": 12,
"active_opportunities": 34,
"profiles_public": 128,
"weekly_updates_recent": 76,
"public_universities": 5,
"fetched_at": "2026-04-22T14:30:00.000Z"
}/api/status/incidents공개 인시던트 이력 — SEV-0/1 장애의 타임라인·영향 컴포넌트·요약. 최근 30일 기본.
파라미터: since(ISO), limit(기본 20, 최대 50)
1분 edge + stale 5분
{
"incidents": [
{
"id": "uuid",
"title": "DB timeout during morning peak",
"severity": "sev2",
"status": "resolved",
"started_at": "...",
"resolved_at": "...",
"summary": "..."
}
],
"since": "...",
"fetched_at": "..."
}QR 생성
/api/qr?value=<string>&size=<int>임의 문자열의 QR 코드 SVG 생성. 공개 프로필 명함·클럽 초대·이벤트 체크인 등에서 사용. value ≤ 512자, size 64~1024.
1시간 edge
<svg xmlns="http://www.w3.org/2000/svg" width="240" height="240">...</svg>
RSS · Atom 피드
/changelog/feed.xml공개 릴리스 노트 Atom 1.0 피드. 최근 30 엔트리.
1시간 edge + stale 24시간
/roadmap/feed.xml공개 로드맵 Atom 1.0 피드. 분기별 entry + 상태 이모지 (✅🛠️⏸️📌).
1시간 edge + stale 24시간
/status/feed.xml공개 인시던트 Atom 1.0 피드. 최근 90일 SEV-0~SEV-3. 엔터프라이즈 모니터링 대시보드 구독용.
5분 edge + stale 15분
검색
/api/opportunities/search?q=<str>&limit=<n>공개 프로젝트 검색. status='active' 만. title/description ilike. q ≥ 2자.
파라미터: q(필수), limit(기본 10, 최대 20)
30초 edge
/api/profiles/public?q=<str>&limit=<n>공개 프로필 검색. profile_visibility='public' 만. nickname/desired_position/university ilike.
파라미터: q(필수), limit(기본 10, 최대 20)
30초 edge
Meta Platform 웹훅
/api/oauth/threads/deauthorizeMeta 가 보내는 deauthorize 웹훅. signed_request HMAC-SHA256 검증. 유효하지 않으면 400.
⚠ Meta App Review 필수. 외부에서 직접 호출하지 마세요.
/api/oauth/threads/data-deletionMeta 가 보내는 data-deletion 웹훅. 처리 후 confirmation_code 와 상태 조회 URL 반환.
⚠ Meta App Review 필수. 외부에서 직접 호출하지 마세요.
/api/oauth/threads/data-deletion/status?code=<str>data-deletion 요청의 처리 상태 조회. 공개.
기타 공개
/api/health시스템 헬스체크. /status 페이지가 30초마다 polling. DB·Auth 서브시스템 상태.
/sitemap.xml공개 라우트 sitemap (Next.js 자동 생성).
/.well-known/security.txtRFC 9116 보안 연락처. 취약점 제보 경로 명시.
/api/og/default기본 Open Graph 이미지 (SVG).
⚠ /api/og/project/[id], /api/og/profile/[id], /api/og/club/[slug] 도 동일 스펙.
본 API 는 공개 데이터에 한정되며, RLS 정책이 anon 접근 범위를 강제합니다. 인증이 필요한 API(클럽 관리·결제·관리자) 는 별도 토큰 체계로 제공될 예정이며 현재는 웹 UI 를 통한 접근만 지원합니다.
Rate limit: anonymous 기준 기본 값(분당 20회)이 X-RateLimit-* 헤더로 반환됩니다. 과도한 요청은 429 와 재시도 지침으로 응답됩니다.
변경·삭제 계획은 릴리스 노트 와 로드맵 에 선제 공지됩니다. 이 페이지의 엔드포인트는 당분간 stable 로 유지될 예정이나, 기업 계약 단계에서는 별도 SLA·DPA 를 통해 보다 강한 보장을 제공합니다.
연동 지원 · 버그 제보: team@dailydraft.me