Skip to content

GET /api/v1/watchlist

의도

내 관심 종목 목록 조회.

인증

Bearer JWT 필수

응답

200 OK

json
[
  {
    "corp_code": "00126380",
    "corp_name": "삼성전자",
    "notify_enabled": true,
    "created_at": "2026-04-01T12:00:00Z"
  }
]

curl 예제

bash
curl -s -H "Authorization: Bearer $TOKEN" \
  https://api.dartbrief.com/api/v1/watchlist | jq

GET /api/v1/watchlist/capacity

의도

슬롯 용량 상태 조회.

인증

Bearer JWT 필수

응답

200 OK

json
{ "capacity": 5, "used": 3, "remaining": 2 }

curl 예제

bash
curl -s -H "Authorization: Bearer $TOKEN" \
  https://api.dartbrief.com/api/v1/watchlist/capacity | jq

POST /api/v1/watchlist

의도

관심 종목 추가.

인증

Bearer JWT 필수

입력

json
{ "corp_code": "00126380" }

응답

201 Created — 추가 성공 (추가된 종목 정보 반환)

이미 등록된 종목을 다시 호출해도 동일 페이로드로 201 반환 (idempotent — 핸들러가 Has 로 사전 확인 후 capacity 검사를 건너뜀, repo 의 INSERT ... ON CONFLICT DO UPDATE SET corp_code = EXCLUDED.corp_code RETURNING ... 으로 기존 row 반환).

409 Conflict — 슬롯 한도 초과 (신규 추가에만 적용)

json
{ "message": "슬롯 한도에 도달했어요.", "capacity": 5, "used": 5 }

capacity 가득 찬 사용자가 이미 보유한 종목을 재요청하면 409 가 아니라 201 (idempotent no-op). lazy auth 게이트 흐름에서 게이트 통과 직후 자동 add 가 발동될 때 사용자 의도와 결과가 어긋나지 않게 하려는 정책 (2026-05-08, PR #57).

curl 예제

bash
curl -s -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"corp_code":"00126380"}' \
  https://api.dartbrief.com/api/v1/watchlist | jq

DELETE /api/v1/watchlist/

의도

관심 종목 제거.

인증

Bearer JWT 필수

응답

204 No Content — 삭제 성공

404 Not Found — 없는 종목

curl 예제

bash
curl -s -X DELETE -H "Authorization: Bearer $TOKEN" \
  https://api.dartbrief.com/api/v1/watchlist/00126380

PATCH /api/v1/watchlist/{corpCode}/notify

의도

종목별 알림 on/off 설정.

인증

Bearer JWT 필수

입력

json
{ "enabled": true }

응답

200 OK — 업데이트된 상태 반환

curl 예제

bash
curl -s -X PATCH -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"enabled":false}' \
  https://api.dartbrief.com/api/v1/watchlist/00126380/notify | jq

비즈니스 메모

  • 슬롯 정책 V6: capacity only — 자유 add/remove, cooldown/카운터 없음
  • 기본 capacity = 3 (migration 00005 DEFAULT 3, 최소 3 이하 불가)