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 | jqGET /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 | jqPOST /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 | jqDELETE /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/00126380PATCH /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 이하 불가)