Admin API
모든 admin 엔드포인트는 X-Admin-Key 헤더로 인증한다. JWT 불필요.
bash
# 로컬
export ADMIN_KEY=dartbrief-admin-dev
# prod (~/.config/cloud-tokens/ 또는 Railway 환경변수에서 확인)
export ADMIN_KEY=<prod-admin-key>App Check 미들웨어 적용 제외 — 직접 curl 호출 가능.
GET /api/v1/admin/scheduler/status
의도
AI 분석 스케줄러 상태 조회.
응답
json
{ "status": "running", "activeThreads": 0, "concurrency": 20, "totalSuccess": 1234, "totalFailed": 5 }curl 예제
bash
curl -s -H "X-Admin-Key: $ADMIN_KEY" \
https://api.dartbrief.com/api/v1/admin/scheduler/status | jq
curl -s -H "X-Admin-Key: $ADMIN_KEY" \
http://localhost:8000/api/v1/admin/scheduler/status | jqPOST /api/v1/admin/scheduler/pause
POST /api/v1/admin/scheduler/resume
의도
스케줄러 일시정지 / 재개.
curl 예제
bash
curl -s -X POST -H "X-Admin-Key: $ADMIN_KEY" \
https://api.dartbrief.com/api/v1/admin/scheduler/pause | jq
curl -s -X POST -H "X-Admin-Key: $ADMIN_KEY" \
https://api.dartbrief.com/api/v1/admin/scheduler/resume | jqPOST /api/v1/admin/backfill
의도
특정 날짜 범위의 공시를 DART에서 가져와 AI 분석 큐에 enqueue.
입력
- Query:
fromDate—YYYYMMDD - Query:
toDate—YYYYMMDD - Query:
delayMs— 공시 건당 딜레이 (optional, default 300ms)
응답
202 Accepted — 백필 시작
json
{ "message": "백필 시작", "fromDate": "20260401", "toDate": "20260430" }400 Bad Request — 날짜 누락 또는 이미 진행 중
curl 예제
bash
curl -s -X POST -H "X-Admin-Key: $ADMIN_KEY" \
"https://api.dartbrief.com/api/v1/admin/backfill?fromDate=20260401&toDate=20260430" | jqGET /api/v1/admin/backfill/status
curl 예제
bash
curl -s -H "X-Admin-Key: $ADMIN_KEY" \
https://api.dartbrief.com/api/v1/admin/backfill/status | jqPOST /api/v1/admin/stocks/sync
의도
종목 마스터 동기화 (DART → DB).
입력
- Query:
mode—incremental(기본, 신규 corp_code만) 또는bootstrap(전량 재동기화)
curl 예제
bash
# 증분 동기화 (기본)
curl -s -X POST -H "X-Admin-Key: $ADMIN_KEY" \
https://api.dartbrief.com/api/v1/admin/stocks/sync | jq
# 전량 재동기화
curl -s -X POST -H "X-Admin-Key: $ADMIN_KEY" \
"https://api.dartbrief.com/api/v1/admin/stocks/sync?mode=bootstrap" | jqGET /api/v1/admin/stocks/sync/status
curl 예제
bash
curl -s -H "X-Admin-Key: $ADMIN_KEY" \
https://api.dartbrief.com/api/v1/admin/stocks/sync/status | jq